*/
private boolean dryrun;
- /**
- * @plexus.configuration default-value="true"
- */
- private boolean mergeWithSourceMetadata;
-
/**
* @plexus.requirement
*/
Versioning versioning = new Versioning();
versioning.addVersion( artifact.getBaseVersion() );
metadata.setVersioning( versioning );
- updateMetadata( new ArtifactRepositoryMetadata( artifact ), artifact.getRepository(),
- targetRepository, metadata, transaction );
+ updateMetadata( new ArtifactRepositoryMetadata( artifact ), targetRepository, metadata,
+ transaction );
metadata = createBaseMetadata( artifact );
metadata.setVersion( artifact.getBaseVersion() );
versioning.setSnapshot( snapshot );
}
+ // TODO: merge latest/release/snapshot from source instead
metadata.setVersioning( versioning );
- updateMetadata( new SnapshotArtifactRepositoryMetadata( artifact ), artifact.getRepository(),
- targetRepository, metadata, transaction );
+ updateMetadata( new SnapshotArtifactRepositoryMetadata( artifact ), targetRepository, metadata,
+ transaction );
if ( !dryrun )
{
return metadata;
}
- private void updateMetadata( RepositoryMetadata artifactMetadata, ArtifactRepository sourceRepository,
- ArtifactRepository targetRepository, Metadata newMetadata,
- FileTransaction transaction )
+ private void updateMetadata( RepositoryMetadata artifactMetadata, ArtifactRepository targetRepository,
+ Metadata newMetadata, FileTransaction transaction )
throws RepositoryConversionException
{
+ File file = new File( targetRepository.getBasedir(),
+ targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+
Metadata metadata;
boolean changed;
- //merge with target repository metadata
- File file = new File( targetRepository.getBasedir(),
- targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );
if ( file.exists() )
{
metadata = readMetadata( file );
metadata = newMetadata;
}
- //merge with source repository metadata
- if ( mergeWithSourceMetadata )
- {
- File srcfile = new File( sourceRepository.getBasedir(),
- sourceRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );
-
- if ( srcfile.exists() )
- {
- Metadata sourceMetadata = readMetadata( srcfile );
- changed = changed || metadata.merge( sourceMetadata );
- }
- }
-
if ( changed )
{
StringWriter writer = null;
+++ /dev/null
-<metadata>
- <groupId>test</groupId>
- <artifactId>correctArtifactMetadata</artifactId>
- <versioning>
- <versions>
- <version>1.0.0</version>
- <version>2.0</version>
- </versions>
- </versioning>
-</metadata>
\ No newline at end of file
assertFalse( "Check metadata not created", metadataFile.exists() );
}
- public void testSourceArtifactMetadataMerging()
- throws Exception
- {
- // test metadata in target repository is merged with the metadata in the source repository
-
- createModernSourceRepository();
-
- Artifact artifact = createArtifact( "test", "correctArtifactMetadata", "1.0.0" );
-
- repositoryConverter.convert( artifact, targetRepository, reporter );
- checkSuccess();
-
- File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
- assertTrue( "Check artifact created", artifactFile.exists() );
- assertTrue( "Check artifact matches", FileUtils.contentEquals( artifactFile, artifact.getFile() ) );
-
- artifact = createPomArtifact( artifact );
- File pomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) );
- File sourcePomFile = new File( sourceRepository.getBasedir(), sourceRepository.pathOf( artifact ) );
- assertTrue( "Check POM created", pomFile.exists() );
-
- compareFiles( sourcePomFile, pomFile );
-
- ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( artifact );
- File artifactMetadataFile = new File( targetRepository.getBasedir(),
- targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) );
- assertTrue( "Check artifact metadata created", artifactMetadataFile.exists() );
-
- File expectedMetadataFile = getTestFile( "src/test/expected-files/v4artifact-source-merging-metadata.xml" );
-
- compareFiles( expectedMetadataFile, artifactMetadataFile );
- }
-
public void testInvalidSourceSnapshotMetadata()
throws Exception, MalformedURLException
{
+++ /dev/null
-incorrectMd5
+++ /dev/null
-<!--
- ~ Copyright 2005-2006 The Apache Software Foundation.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<project>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>correctArtifactMetadata</artifactId>
- <groupId>test</groupId>
- <version>1.0.0</version>
-</project>
+++ /dev/null
-<!--
- ~ Copyright 2005-2006 The Apache Software Foundation.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<metadata>
- <groupId>test</groupId>
- <artifactId>correctArtifactMetadata</artifactId>
- <versioning>
- <versions>
- <version>1.0.0</version>
- <version>2.0</version>
- </versions>
- </versioning>
-</metadata>
\ No newline at end of file