protected String constructVersion( Versioning versioning, String baseVersion ) { return versioning.getLatest(); } }
private void mergeMetadata( Versions versions, Metadata source, ArtifactRepository repository ) { Versioning versioning = source.getVersioning(); if ( versioning != null ) { String timestamp = StringUtils.clean( versioning.getLastUpdated() ); if ( StringUtils.isNotEmpty( versioning.getRelease() ) && timestamp.compareTo( versions.releaseTimestamp ) > 0 ) { versions.releaseVersion = versioning.getRelease(); versions.releaseTimestamp = timestamp; versions.releaseRepository = repository; } if ( StringUtils.isNotEmpty( versioning.getLatest() ) && timestamp.compareTo( versions.latestTimestamp ) > 0 ) { versions.latestVersion = versioning.getLatest(); versions.latestTimestamp = timestamp; versions.latestRepository = repository; } for ( String version : versioning.getVersions() ) { if ( !versions.versions.containsKey( version ) ) { versions.versions.put( version, repository ); } } } }
@Override protected void merge( Metadata recessive ) { Versioning versioning = metadata.getVersioning(); versioning.updateTimestamp(); if ( recessive.getVersioning() != null ) { if ( versioning.getLatest() == null ) { versioning.setLatest( recessive.getVersioning().getLatest() ); } if ( versioning.getRelease() == null ) { versioning.setRelease( recessive.getVersioning().getRelease() ); } Collection<String> versions = new LinkedHashSet<>( recessive.getVersioning().getVersions() ); versions.addAll( versioning.getVersions() ); versioning.setVersions( new ArrayList<>( versions ) ); } }
/** * List up all the versions found in the metadata. */ private void merge(Versioning versioning, ArtifactRepository from, List<VersionInfo> found) { if ( StringUtils.isNotEmpty( versioning.getRelease() ) ) found.add(new VersionInfo(versioning.getRelease(),from)); if ( StringUtils.isNotEmpty( versioning.getLatest() ) ) found.add(new VersionInfo(versioning.getLatest(),from)); for ( String v : versioning.getVersions() ) found.add(new VersionInfo(v,from)); }
private boolean versioningEquals(@Nullable final Versioning v1, @Nullable final Versioning v2) { // NOSONAR if (v1 == null || v2 == null) { return v1 == v2; // NOSONAR } else { return Objects.equals(v1.getLatest(), v2.getLatest()) && // NOSONAR Objects.equals(v1.getRelease(), v2.getRelease()) && snapshotEquals(v1.getSnapshot(), v2.getSnapshot()) && Objects.equals(v1.getVersions(), v2.getVersions()) && snapshotVersionsEquals(v1.getSnapshotVersions(), v2.getSnapshotVersions()); } }
public static void assertEquals(Metadata m1, Metadata m2) { assertThat(m1, is(notNullValue())); assertThat(m2, is(notNullValue())); assertThat(m1.getArtifactId(), equalTo(m2.getArtifactId())); assertThat(m1.getGroupId(), equalTo(m2.getGroupId())); assertThat(m1.getVersion(), equalTo(m2.getVersion())); assertThat(m1.getVersioning(), is(notNullValue())); assertThat(m2.getVersioning(), is(notNullValue())); assertThat(m1.getVersioning().getLatest(), equalTo(m2.getVersioning().getLatest())); assertThat(m1.getVersioning().getRelease(), equalTo(m2.getVersioning().getRelease())); if (m1.getVersioning().getSnapshot() != null || m1.getVersioning().getSnapshot() != null) { assertThat(m1.getVersioning().getSnapshot().getBuildNumber(), equalTo(m2.getVersioning().getSnapshot().getBuildNumber())); assertThat(m1.getVersioning().getSnapshot().getTimestamp(), equalTo(m2.getVersioning().getSnapshot().getTimestamp())); } assertThat(m1.getVersioning().getSnapshotVersions().size(), equalTo( m2.getVersioning().getSnapshotVersions().size())); for (int i = 0; i < m1.getVersioning().getSnapshotVersions().size(); i++) { SnapshotVersion s1 = m1.getVersioning().getSnapshotVersions().get(i); SnapshotVersion s2 = get(s1, m2.getVersioning().getSnapshotVersions()); assertThat(s1, is(notNullValue())); assertThat(s2, is(notNullValue())); assertThat(s1.getClassifier(), equalTo(s2.getClassifier())); assertThat(s1.getExtension(), equalTo(s2.getExtension())); assertThat(s1.getUpdated(), equalTo(s2.getUpdated())); assertThat(s1.getVersion(), equalTo(s2.getVersion())); } }
@Override protected void merge( Metadata recessive ) { Versioning versioning = metadata.getVersioning(); versioning.updateTimestamp(); if ( recessive.getVersioning() != null ) { if ( versioning.getLatest() == null ) { versioning.setLatest( recessive.getVersioning().getLatest() ); } if ( versioning.getRelease() == null ) { versioning.setRelease( recessive.getVersioning().getRelease() ); } Collection<String> versions = new LinkedHashSet<>( recessive.getVersioning().getVersions() ); versions.addAll( versioning.getVersions() ); versioning.setVersions( new ArrayList<>( versions ) ); } }
@Override protected void merge( Metadata recessive ) { Versioning versioning = metadata.getVersioning(); versioning.updateTimestamp(); if ( recessive.getVersioning() != null ) { if ( versioning.getLatest() == null ) { versioning.setLatest( recessive.getVersioning().getLatest() ); } if ( versioning.getRelease() == null ) { versioning.setRelease( recessive.getVersioning().getRelease() ); } Collection<String> versions = new LinkedHashSet<String>( recessive.getVersioning().getVersions() ); versions.addAll( versioning.getVersions() ); versioning.setVersions( new ArrayList<String>( versions ) ); } }
@Override protected void merge( Metadata recessive ) { Versioning versioning = metadata.getVersioning(); versioning.updateTimestamp(); if ( recessive.getVersioning() != null ) { if ( versioning.getLatest() == null ) { versioning.setLatest( recessive.getVersioning().getLatest() ); } if ( versioning.getRelease() == null ) { versioning.setRelease( recessive.getVersioning().getRelease() ); } Collection<String> versions = new LinkedHashSet<>( recessive.getVersioning().getVersions() ); versions.addAll( versioning.getVersions() ); versioning.setVersions( new ArrayList<>( versions ) ); } }
protected Metadata cleanseMetadataForRepository( boolean snapshot, Metadata metadata ) { // remove base versions not belonging here List<String> versions = metadata.getVersioning().getVersions(); for ( Iterator<String> iversion = versions.iterator(); iversion.hasNext(); ) { // if we need snapshots and the version is not snapshot, or // if we need releases and the version is snapshot if ( ( snapshot && !Gav.isSnapshot( iversion.next() ) ) || ( !snapshot && Gav.isSnapshot( iversion.next() ) ) ) { iversion.remove(); } } metadata.getVersioning().setLatest( getLatestVersion( metadata.getVersioning().getVersions() ) ); if ( snapshot ) { metadata.getVersioning().setRelease( null ); } else { metadata.getVersioning().setRelease( metadata.getVersioning().getLatest() ); } return metadata; }
@Override protected boolean isMetadataCorrect( Metadata oldMd, String path ) throws IOException { Metadata md = createMetadata( path ); if ( oldMd.getVersioning().getRelease() == null ) { oldMd.getVersioning().setRelease( "" ); } if ( md.getVersioning().getRelease() == null ) { md.getVersioning().setRelease( "" ); } if ( oldMd.getVersioning().getLatest() == null ) { return false; } if ( oldMd.getVersioning().getVersions() == null ) { return false; } if ( oldMd.getArtifactId().equals( md.getArtifactId() ) && oldMd.getGroupId().equals( md.getGroupId() ) && oldMd.getVersioning().getLatest().equals( md.getVersioning().getLatest() ) && oldMd.getVersioning().getRelease().equals( md.getVersioning().getRelease() ) && oldMd.getVersioning().getVersions().equals( md.getVersioning().getVersions() ) ) { return true; } return false; }
private String retrieveLatestReleasedVersion(final Artifact artifact) { final RepositoryMetadata metadata = new ArtifactRepositoryMetadata(artifact); try { repositoryMetadataManager.resolve(metadata, currentProject.getRemoteArtifactRepositories(), localRepository); } catch (final RepositoryMetadataResolutionException e1) { e1.printStackTrace(); } final Metadata repoMetadata = metadata.getMetadata(); if (repoMetadata.getVersioning() != null) { final String releasedVersion = repoMetadata.getVersioning().getRelease(); if (releasedVersion != null) { return releasedVersion; } final String latestVersion = repoMetadata.getVersioning().getLatest(); if (latestVersion != null) { return latestVersion; } } return repoMetadata.getVersion(); }