Skip to content

Commit

Permalink
[MNG-7548] Kill off "legacy" repository metadata support (#1138)
Browse files Browse the repository at this point in the history
  • Loading branch information
gnodet committed Jun 5, 2023
1 parent ea1a280 commit 124033b
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 62 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,15 @@ final class LocalSnapshotMetadata extends MavenMetadata {

private final Collection<Artifact> artifacts = new ArrayList<>();

private final boolean legacyFormat;

LocalSnapshotMetadata(Artifact artifact, boolean legacyFormat, Date timestamp) {
super(createMetadata(artifact, legacyFormat), null, timestamp);
this.legacyFormat = legacyFormat;
LocalSnapshotMetadata(Artifact artifact, Date timestamp) {
super(createMetadata(artifact), null, timestamp);
}

LocalSnapshotMetadata(Metadata metadata, File file, boolean legacyFormat, Date timestamp) {
LocalSnapshotMetadata(Metadata metadata, File file, Date timestamp) {
super(metadata, file, timestamp);
this.legacyFormat = legacyFormat;
}

private static Metadata createMetadata(Artifact artifact, boolean legacyFormat) {
private static Metadata createMetadata(Artifact artifact) {
Snapshot snapshot = new Snapshot();
snapshot.setLocalCopy(true);
Versioning versioning = new Versioning();
Expand All @@ -61,11 +57,7 @@ private static Metadata createMetadata(Artifact artifact, boolean legacyFormat)
metadata.setGroupId(artifact.getGroupId());
metadata.setArtifactId(artifact.getArtifactId());
metadata.setVersion(artifact.getBaseVersion());

if (!legacyFormat) {
metadata.setModelVersion("1.1.0");
}

metadata.setModelVersion("1.1.0");
return metadata;
}

Expand All @@ -74,7 +66,7 @@ public void bind(Artifact artifact) {
}

public MavenMetadata setFile(File file) {
return new LocalSnapshotMetadata(metadata, file, legacyFormat, timestamp);
return new LocalSnapshotMetadata(metadata, file, timestamp);
}

public Object getKey() {
Expand All @@ -89,33 +81,31 @@ public static Object getKey(Artifact artifact) {
protected void merge(Metadata recessive) {
metadata.getVersioning().setLastUpdatedTimestamp(timestamp);

if (!legacyFormat) {
String lastUpdated = metadata.getVersioning().getLastUpdated();
String lastUpdated = metadata.getVersioning().getLastUpdated();

Map<String, SnapshotVersion> versions = new LinkedHashMap<>();
Map<String, SnapshotVersion> versions = new LinkedHashMap<>();

for (Artifact artifact : artifacts) {
SnapshotVersion sv = new SnapshotVersion();
sv.setClassifier(artifact.getClassifier());
sv.setExtension(artifact.getExtension());
sv.setVersion(getVersion());
sv.setUpdated(lastUpdated);
versions.put(getKey(sv.getClassifier(), sv.getExtension()), sv);
}
for (Artifact artifact : artifacts) {
SnapshotVersion sv = new SnapshotVersion();
sv.setClassifier(artifact.getClassifier());
sv.setExtension(artifact.getExtension());
sv.setVersion(getVersion());
sv.setUpdated(lastUpdated);
versions.put(getKey(sv.getClassifier(), sv.getExtension()), sv);
}

Versioning versioning = recessive.getVersioning();
if (versioning != null) {
for (SnapshotVersion sv : versioning.getSnapshotVersions()) {
String key = getKey(sv.getClassifier(), sv.getExtension());
if (!versions.containsKey(key)) {
versions.put(key, sv);
}
Versioning versioning = recessive.getVersioning();
if (versioning != null) {
for (SnapshotVersion sv : versioning.getSnapshotVersions()) {
String key = getKey(sv.getClassifier(), sv.getExtension());
if (!versions.containsKey(key)) {
versions.put(key, sv);
}
}

metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values()));
}

metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values()));

artifacts.clear();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,9 @@ class LocalSnapshotMetadataGenerator implements MetadataGenerator {

private Map<Object, LocalSnapshotMetadata> snapshots;

private final boolean legacyFormat;

private final Date timestamp;

LocalSnapshotMetadataGenerator(RepositorySystemSession session, InstallRequest request) {
legacyFormat = ConfigUtils.getBoolean(session.getConfigProperties(), false, "maven.metadata.legacy");

timestamp = (Date) ConfigUtils.getObject(session, new Date(), "maven.startTime");

snapshots = new LinkedHashMap<>();
Expand All @@ -58,7 +54,7 @@ public Collection<? extends Metadata> prepare(Collection<? extends Artifact> art
Object key = LocalSnapshotMetadata.getKey(artifact);
LocalSnapshotMetadata snapshotMetadata = snapshots.get(key);
if (snapshotMetadata == null) {
snapshotMetadata = new LocalSnapshotMetadata(artifact, legacyFormat, timestamp);
snapshotMetadata = new LocalSnapshotMetadata(artifact, timestamp);
snapshots.put(key, snapshotMetadata);
}
snapshotMetadata.bind(artifact);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,13 @@ abstract class MavenSnapshotMetadata extends MavenMetadata {

protected final Collection<Artifact> artifacts = new ArrayList<>();

protected final boolean legacyFormat;

protected MavenSnapshotMetadata(Metadata metadata, File file, boolean legacyFormat, Date timestamp) {
protected MavenSnapshotMetadata(Metadata metadata, File file, Date timestamp) {
super(metadata, file, timestamp);
this.legacyFormat = legacyFormat;
}

protected static Metadata createRepositoryMetadata(Artifact artifact, boolean legacyFormat) {
protected static Metadata createRepositoryMetadata(Artifact artifact) {
Metadata metadata = new Metadata();
if (!legacyFormat) {
metadata.setModelVersion("1.1.0");
}
metadata.setModelVersion("1.1.0");
metadata.setGroupId(artifact.getGroupId());
metadata.setArtifactId(artifact.getArtifactId());
metadata.setVersion(artifact.getBaseVersion());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,16 @@ final class RemoteSnapshotMetadata extends MavenSnapshotMetadata {

private final Map<String, SnapshotVersion> versions = new LinkedHashMap<>();

RemoteSnapshotMetadata(Artifact artifact, boolean legacyFormat, Date timestamp) {
super(createRepositoryMetadata(artifact, legacyFormat), null, legacyFormat, timestamp);
RemoteSnapshotMetadata(Artifact artifact, Date timestamp) {
super(createRepositoryMetadata(artifact), null, timestamp);
}

private RemoteSnapshotMetadata(Metadata metadata, File file, boolean legacyFormat, Date timestamp) {
super(metadata, file, legacyFormat, timestamp);
private RemoteSnapshotMetadata(Metadata metadata, File file, Date timestamp) {
super(metadata, file, timestamp);
}

public MavenMetadata setFile(File file) {
return new RemoteSnapshotMetadata(metadata, file, legacyFormat, timestamp);
return new RemoteSnapshotMetadata(metadata, file, timestamp);
}

public String getExpandedVersion(Artifact artifact) {
Expand Down Expand Up @@ -115,9 +115,7 @@ protected void merge(Metadata recessive) {
}
}

if (!legacyFormat) {
metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values()));
}
metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values()));
}

private static int getBuildNumber(Metadata metadata) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,9 @@ class RemoteSnapshotMetadataGenerator implements MetadataGenerator {

private final Map<Object, RemoteSnapshotMetadata> snapshots;

private final boolean legacyFormat;

private final Date timestamp;

RemoteSnapshotMetadataGenerator(RepositorySystemSession session, DeployRequest request) {
legacyFormat = ConfigUtils.getBoolean(session, false, "maven.metadata.legacy");

timestamp = (Date) ConfigUtils.getObject(session, new Date(), "maven.startTime");

snapshots = new LinkedHashMap<>();
Expand All @@ -71,7 +67,7 @@ public Collection<? extends Metadata> prepare(Collection<? extends Artifact> art
Object key = RemoteSnapshotMetadata.getKey(artifact);
RemoteSnapshotMetadata snapshotMetadata = snapshots.get(key);
if (snapshotMetadata == null) {
snapshotMetadata = new RemoteSnapshotMetadata(artifact, legacyFormat, timestamp);
snapshotMetadata = new RemoteSnapshotMetadata(artifact, timestamp);
snapshots.put(key, snapshotMetadata);
}
snapshotMetadata.bind(artifact);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ static String gregorianDate() {
void gregorianCalendarIsUsed() {
String dateBefore = gregorianDate();

RemoteSnapshotMetadata metadata =
new RemoteSnapshotMetadata(new DefaultArtifact("a:b:1-SNAPSHOT"), false, new Date());
RemoteSnapshotMetadata metadata = new RemoteSnapshotMetadata(new DefaultArtifact("a:b:1-SNAPSHOT"), new Date());
metadata.merge(new Metadata());

String dateAfter = gregorianDate();
Expand Down

0 comments on commit 124033b

Please sign in to comment.