Skip to content

Commit d3110bd

Browse files
authored
Merge pull request #71 from Roche-CSI/MavenPackaging
2 parents cbd4797 + 5bf5c8a commit d3110bd

12 files changed

Lines changed: 29 additions & 20 deletions

File tree

re-assert-test/src/test/java/com/g2forge/reassert/reassert/TestReassertContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import org.junit.Test;
44

55
import com.g2forge.alexandria.test.HAssert;
6-
import com.g2forge.gearbox.maven.MavenPackaging;
6+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
77
import com.g2forge.reassert.core.api.module.Context;
88
import com.g2forge.reassert.core.model.coordinates.ICoordinates;
99
import com.g2forge.reassert.git.GitCoordinates;

re-maven/src/main/java/com/g2forge/reassert/maven/MavenCoordinates.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import com.fasterxml.jackson.annotation.JsonInclude;
66
import com.fasterxml.jackson.annotation.JsonInclude.Include;
77
import com.g2forge.alexandria.java.fluent.optional.NullableOptional;
8-
import com.g2forge.gearbox.maven.MavenPackaging;
8+
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
9+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
910
import com.g2forge.reassert.core.model.coordinates.ICoordinates;
1011

1112
import lombok.AccessLevel;
@@ -34,7 +35,7 @@ public class MavenCoordinates implements ICoordinates {
3435

3536
@JsonInclude(Include.NON_NULL)
3637
@Builder.Default
37-
protected final MavenPackaging packaging = MavenPackaging.JAR;
38+
protected final IMavenPackaging packaging = MavenPackaging.JAR;
3839

3940
@JsonIgnore
4041
@ToString.Exclude

re-maven/src/main/java/com/g2forge/reassert/maven/MavenRepository.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import com.g2forge.gearbox.maven.HMaven;
3131
import com.g2forge.gearbox.maven.IMaven;
3232
import com.g2forge.gearbox.maven.MavenDownloadErrors;
33-
import com.g2forge.gearbox.maven.MavenPackaging;
33+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
3434
import com.g2forge.reassert.cache.CacheAreaDescriptor;
3535
import com.g2forge.reassert.cache.CacheAreaDescriptor.CacheAreaDescriptorBuilder;
3636
import com.g2forge.reassert.cache.store.FileCacheStore;
@@ -148,15 +148,16 @@ protected Path download(MavenCoordinates coordinates, Path path) {
148148
} else {
149149
if (!process.isSuccess()) {
150150
boolean rerunFailed;
151+
final StringBuilder log = new StringBuilder();
151152
try {
152153
// Re-run the command so that we log the complete output
153-
log.error("Maven dependency copy failed, running again to log output:");
154-
StreamResultSupplier.STANDARD.apply(command.get()).forEach(log::error);
154+
StreamResultSupplier.STANDARD.apply(command.get()).forEach(line -> log.append(line).append('\n'));
155155
rerunFailed = false;
156156
} catch (Throwable throwable) {
157157
rerunFailed = true;
158158
}
159159
if (!rerunFailed) throw new Error("This error indicates that the maven dependency copy failed once, and succeeded on re-run. Perhaps a transient network failure? Try re-running this.");
160+
throw new Error("Maven dependency copy failed, ran again to log output:\n" + log);
160161
}
161162
Files.move(path.getParent().resolve(coordinates.getArtifactId() + "-" + coordinates.getVersion() + ".pom"), path);
162163
}

re-maven/src/main/java/com/g2forge/reassert/maven/MavenSystem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import com.g2forge.alexandria.java.io.RuntimeIOException;
2121
import com.g2forge.alexandria.java.io.dataaccess.IDataSource;
2222
import com.g2forge.alexandria.java.type.ref.ITypeRef;
23-
import com.g2forge.gearbox.maven.MavenPackaging;
23+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
2424
import com.g2forge.reassert.core.api.described.IDescriber;
2525
import com.g2forge.reassert.core.api.module.IContext;
2626
import com.g2forge.reassert.core.api.system.ISystem;

re-maven/src/main/java/com/g2forge/reassert/maven/model/MavenDependency.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnore;
55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6-
import com.g2forge.gearbox.maven.MavenPackaging;
6+
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
77
import com.g2forge.reassert.maven.MavenCoordinates;
88

99
import lombok.Builder;
@@ -23,7 +23,7 @@ public class MavenDependency {
2323
protected final boolean optional;
2424

2525
@JsonCreator
26-
public MavenDependency(String groupId, String artifactId, String version, MavenPackaging packaging, MavenScope scope, boolean optional) {
26+
public MavenDependency(String groupId, String artifactId, String version, IMavenPackaging packaging, MavenScope scope, boolean optional) {
2727
this(new MavenCoordinates(null, groupId, artifactId, version, packaging), scope, optional);
2828
}
2929
}

re-maven/src/main/java/com/g2forge/reassert/maven/model/MavenPOM.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import com.fasterxml.jackson.annotation.JsonIgnore;
88
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
99
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
10-
import com.g2forge.gearbox.maven.MavenPackaging;
10+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
1111
import com.g2forge.reassert.core.model.file.IDescriptor;
1212
import com.g2forge.reassert.maven.MavenCoordinates;
1313

re-maven/src/main/java/com/g2forge/reassert/maven/model/MavenParent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonCreator;
44
import com.fasterxml.jackson.annotation.JsonIgnore;
55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6-
import com.g2forge.gearbox.maven.MavenPackaging;
6+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
77
import com.g2forge.reassert.maven.MavenCoordinates;
88

99
import lombok.Builder;

re-maven/src/main/java/com/g2forge/reassert/maven/model/convert/MavenPackagingDeserializer.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,26 @@
88
import com.fasterxml.jackson.databind.DeserializationContext;
99
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
1010
import com.g2forge.alexandria.java.core.enums.HEnum;
11-
import com.g2forge.gearbox.maven.MavenPackaging;
11+
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
12+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
13+
import com.g2forge.gearbox.maven.packaging.UnknownMavenPackaging;
1214

13-
public class MavenPackagingDeserializer extends StdDeserializer<MavenPackaging> {
15+
public class MavenPackagingDeserializer extends StdDeserializer<IMavenPackaging> {
1416
private static final long serialVersionUID = 7672345770783504031L;
1517

1618
protected MavenPackagingDeserializer() {
1719
super(MavenPackaging.class);
1820
}
1921

2022
@Override
21-
public MavenPackaging deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {
23+
public IMavenPackaging deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {
2224
final JsonToken token = parser.currentToken();
2325
if (token != JsonToken.VALUE_STRING) context.handleUnexpectedToken(MavenPackaging.class, parser);
24-
return HEnum.valueOf(MavenPackaging.class, Object::toString, true, String::toLowerCase, parser.getText().trim());
26+
final String text = parser.getText().trim();
27+
try {
28+
return HEnum.valueOf(MavenPackaging.class, Object::toString, true, String::toLowerCase, text);
29+
} catch (IllegalArgumentException exception) {
30+
return new UnknownMavenPackaging(text);
31+
}
2532
}
2633
}

re-maven/src/main/java/com/g2forge/reassert/maven/model/convert/MavenPackagingSerializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.fasterxml.jackson.core.JsonProcessingException;
77
import com.fasterxml.jackson.databind.SerializerProvider;
88
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
9-
import com.g2forge.gearbox.maven.MavenPackaging;
9+
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
1010

1111
public class MavenPackagingSerializer extends StdSerializer<MavenPackaging> {
1212
private static final long serialVersionUID = -3492690193271746495L;

re-maven/src/main/java/com/g2forge/reassert/maven/model/convert/MavenXmlModule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
import com.fasterxml.jackson.databind.deser.std.CollectionDeserializer;
88
import com.fasterxml.jackson.databind.module.SimpleModule;
99
import com.fasterxml.jackson.databind.type.CollectionType;
10-
import com.g2forge.gearbox.maven.MavenPackaging;
10+
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
1111

1212
public class MavenXmlModule extends SimpleModule {
1313
private static final long serialVersionUID = -2581598831713893816L;
1414

1515
@Override
1616
public void setupModule(SetupContext context) {
1717
addSerializer(new MavenPackagingSerializer());
18-
addDeserializer(MavenPackaging.class, new MavenPackagingDeserializer());
18+
addDeserializer(IMavenPackaging.class, new MavenPackagingDeserializer());
1919
super.setupModule(context);
2020
context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
2121
@Override

0 commit comments

Comments
 (0)