Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import org.junit.Test;

import com.g2forge.alexandria.test.HAssert;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.api.module.Context;
import com.g2forge.reassert.core.model.coordinates.ICoordinates;
import com.g2forge.reassert.git.GitCoordinates;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.g2forge.alexandria.java.fluent.optional.NullableOptional;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.model.coordinates.ICoordinates;

import lombok.AccessLevel;
Expand Down Expand Up @@ -34,7 +35,7 @@ public class MavenCoordinates implements ICoordinates {

@JsonInclude(Include.NON_NULL)
@Builder.Default
protected final MavenPackaging packaging = MavenPackaging.JAR;
protected final IMavenPackaging packaging = MavenPackaging.JAR;

@JsonIgnore
@ToString.Exclude
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import com.g2forge.gearbox.maven.HMaven;
import com.g2forge.gearbox.maven.IMaven;
import com.g2forge.gearbox.maven.MavenDownloadErrors;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.cache.CacheAreaDescriptor;
import com.g2forge.reassert.cache.CacheAreaDescriptor.CacheAreaDescriptorBuilder;
import com.g2forge.reassert.cache.store.FileCacheStore;
Expand Down Expand Up @@ -148,15 +148,16 @@ protected Path download(MavenCoordinates coordinates, Path path) {
} else {
if (!process.isSuccess()) {
boolean rerunFailed;
final StringBuilder log = new StringBuilder();
try {
// Re-run the command so that we log the complete output
log.error("Maven dependency copy failed, running again to log output:");
StreamResultSupplier.STANDARD.apply(command.get()).forEach(log::error);
StreamResultSupplier.STANDARD.apply(command.get()).forEach(line -> log.append(line).append('\n'));
rerunFailed = false;
} catch (Throwable throwable) {
rerunFailed = true;
}
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.");
throw new Error("Maven dependency copy failed, ran again to log output:\n" + log);
}
Files.move(path.getParent().resolve(coordinates.getArtifactId() + "-" + coordinates.getVersion() + ".pom"), path);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import com.g2forge.alexandria.java.io.RuntimeIOException;
import com.g2forge.alexandria.java.io.dataaccess.IDataSource;
import com.g2forge.alexandria.java.type.ref.ITypeRef;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.api.described.IDescriber;
import com.g2forge.reassert.core.api.module.IContext;
import com.g2forge.reassert.core.api.system.ISystem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
import com.g2forge.reassert.maven.MavenCoordinates;

import lombok.Builder;
Expand All @@ -23,7 +23,7 @@ public class MavenDependency {
protected final boolean optional;

@JsonCreator
public MavenDependency(String groupId, String artifactId, String version, MavenPackaging packaging, MavenScope scope, boolean optional) {
public MavenDependency(String groupId, String artifactId, String version, IMavenPackaging packaging, MavenScope scope, boolean optional) {
this(new MavenCoordinates(null, groupId, artifactId, version, packaging), scope, optional);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.model.file.IDescriptor;
import com.g2forge.reassert.maven.MavenCoordinates;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.maven.MavenCoordinates;

import lombok.Builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,26 @@
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.g2forge.alexandria.java.core.enums.HEnum;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.UnknownMavenPackaging;

public class MavenPackagingDeserializer extends StdDeserializer<MavenPackaging> {
public class MavenPackagingDeserializer extends StdDeserializer<IMavenPackaging> {
private static final long serialVersionUID = 7672345770783504031L;

protected MavenPackagingDeserializer() {
super(MavenPackaging.class);
}

@Override
public MavenPackaging deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {
public IMavenPackaging deserialize(JsonParser parser, DeserializationContext context) throws IOException, JsonProcessingException {
final JsonToken token = parser.currentToken();
if (token != JsonToken.VALUE_STRING) context.handleUnexpectedToken(MavenPackaging.class, parser);
return HEnum.valueOf(MavenPackaging.class, Object::toString, true, String::toLowerCase, parser.getText().trim());
final String text = parser.getText().trim();
try {
return HEnum.valueOf(MavenPackaging.class, Object::toString, true, String::toLowerCase, text);
} catch (IllegalArgumentException exception) {
return new UnknownMavenPackaging(text);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;

public class MavenPackagingSerializer extends StdSerializer<MavenPackaging> {
private static final long serialVersionUID = -3492690193271746495L;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
import com.fasterxml.jackson.databind.deser.std.CollectionDeserializer;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.type.CollectionType;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.IMavenPackaging;

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

@Override
public void setupModule(SetupContext context) {
addSerializer(new MavenPackagingSerializer());
addDeserializer(MavenPackaging.class, new MavenPackagingDeserializer());
addDeserializer(IMavenPackaging.class, new MavenPackagingDeserializer());
super.setupModule(context);
context.addBeanDeserializerModifier(new BeanDeserializerModifier() {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import org.junit.Test;

import com.g2forge.alexandria.test.HAssert;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.model.coordinates.ICoordinates;
import com.g2forge.reassert.core.test.ATestSystem;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import com.g2forge.alexandria.java.type.ref.ITypeRef;
import com.g2forge.alexandria.test.HAssert;
import com.g2forge.enigma.diagram.dot.convert.DotRenderer;
import com.g2forge.gearbox.maven.MavenPackaging;
import com.g2forge.gearbox.maven.packaging.MavenPackaging;
import com.g2forge.reassert.core.algorithm.ReassertGraphVisualizer;
import com.g2forge.reassert.core.api.module.Context;
import com.g2forge.reassert.core.model.HReassertModel;
Expand Down