- Added tests for RepositoryConsumer and CleanupReleasedSnapshotsRepositoryPurge - Added test data for the new tests - Refactored AbstractRepositoryPurgeTest, DaysOldRepositoryPurgeTest and RetentionCountRepositoryPurgeTest git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@569789 13f79535-47bb-0310-9956-ffa450edef68tags/archiva-1.0-beta-2
<?xml version="1.0" encoding="ISO-8859-1"?> | |||||
<!-- | |||||
~ Licensed to the Apache Software Foundation (ASF) under one | |||||
~ or more contributor license agreements. See the NOTICE file | |||||
~ distributed with this work for additional information | |||||
~ regarding copyright ownership. The ASF licenses this file | |||||
~ to you 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. | |||||
--> | |||||
<configuration> | |||||
<version>1</version> | |||||
<repositories> | |||||
<repository> | |||||
<id>internal</id> | |||||
<name>Archiva Managed Internal Repository</name> | |||||
<url>file://${appserver.base}/repositories/internal</url> | |||||
<layout>default</layout> | |||||
<releases>true</releases> | |||||
<snapshots>false</snapshots> | |||||
<indexed>true</indexed> | |||||
<refreshCronExpression>0 0 * * ?</refreshCronExpression> | |||||
</repository> | |||||
<repository> | |||||
<id>snapshots</id> | |||||
<name>Archiva Managed Snapshot Repository</name> | |||||
<url>file://${appserver.base}/repositories/internal</url> | |||||
<layout>default</layout> | |||||
<releases>false</releases> | |||||
<snapshots>true</snapshots> | |||||
<indexed>true</indexed> | |||||
<refreshCronExpression>0 0,30 * * ?</refreshCronExpression> | |||||
</repository> | |||||
<repository> | |||||
<id>central</id> | |||||
<name>Central Repository</name> | |||||
<url>http://repo1.maven.org/maven2</url> | |||||
<layout>default</layout> | |||||
<releases>true</releases> | |||||
<snapshots>false</snapshots> | |||||
<indexed>false</indexed> | |||||
</repository> | |||||
<repository> | |||||
<id>maven2-repository.dev.java.net</id> | |||||
<name>Java.net Repository for Maven 2</name> | |||||
<url>https://maven2-repository.dev.java.net/nonav/repository</url> | |||||
<layout>default</layout> | |||||
<releases>true</releases> | |||||
<snapshots>false</snapshots> | |||||
<indexed>false</indexed> | |||||
</repository> | |||||
<repository> | |||||
<id>test-repo</id> | |||||
<name>Test Repository</name> | |||||
<url>file://${appserver.base}/repositories/test-repo</url> | |||||
<layout>default</layout> | |||||
<releases>true</releases> | |||||
<snapshots>true</snapshots> | |||||
<indexed>true</indexed> | |||||
<refreshCronExpression>0 0 * * ?</refreshCronExpression> | |||||
<daysOlder>100</daysOlder> | |||||
<deleteReleasedSnapshots>true</deleteReleasedSnapshots> | |||||
</repository> | |||||
</repositories> | |||||
<proxyConnectors> | |||||
<proxyConnector> | |||||
<sourceRepoId>internal</sourceRepoId> | |||||
<targetRepoId>central</targetRepoId> | |||||
<proxyId/> | |||||
<snapshotsPolicy>disabled</snapshotsPolicy> | |||||
<releasePolicy>never</releasePolicy> | |||||
<failurePolicy>not-found</failurePolicy> | |||||
</proxyConnector> | |||||
<proxyConnector> | |||||
<sourceRepoId>internal</sourceRepoId> | |||||
<targetRepoId>maven2-repository.dev.java.net</targetRepoId> | |||||
<proxyId/> | |||||
<snapshotsPolicy>disabled</snapshotsPolicy> | |||||
<releasePolicy>never</releasePolicy> | |||||
<failurePolicy>not-found</failurePolicy> | |||||
<whiteListPatterns> | |||||
<whiteListPattern>javax/**</whiteListPattern> | |||||
</whiteListPatterns> | |||||
</proxyConnector> | |||||
</proxyConnectors> | |||||
<networkProxies> | |||||
<networkProxy> | |||||
<id>example</id> | |||||
<protocol>http</protocol> | |||||
<host>proxy.mycompany.com</host> | |||||
<port>8080</port> | |||||
<username>myself</username> | |||||
<password>mypass</password> | |||||
</networkProxy> | |||||
</networkProxies> | |||||
<repositoryScanning> | |||||
<fileTypes> | |||||
<fileType> | |||||
<id>artifacts</id> | |||||
<patterns> | |||||
<pattern>**/*.pom</pattern> | |||||
<pattern>**/*.jar</pattern> | |||||
<pattern>**/*.ear</pattern> | |||||
<pattern>**/*.war</pattern> | |||||
<pattern>**/*.car</pattern> | |||||
<pattern>**/*.sar</pattern> | |||||
<pattern>**/*.mar</pattern> | |||||
<pattern>**/*.rar</pattern> | |||||
<pattern>**/*.dtd</pattern> | |||||
<pattern>**/*.tld</pattern> | |||||
<pattern>**/*.tar.gz</pattern> | |||||
<pattern>**/*.tar.bz2</pattern> | |||||
<pattern>**/*.zip</pattern> | |||||
</patterns> | |||||
</fileType> | |||||
<fileType> | |||||
<id>indexable-content</id> | |||||
<patterns> | |||||
<pattern>**/*.txt</pattern> | |||||
<pattern>**/*.TXT</pattern> | |||||
<pattern>**/*.block</pattern> | |||||
<pattern>**/*.config</pattern> | |||||
<pattern>**/*.pom</pattern> | |||||
<pattern>**/*.xml</pattern> | |||||
<pattern>**/*.xsd</pattern> | |||||
<pattern>**/*.dtd</pattern> | |||||
<pattern>**/*.tld</pattern> | |||||
</patterns> | |||||
</fileType> | |||||
<fileType> | |||||
<id>auto-remove</id> | |||||
<patterns> | |||||
<pattern>**/*.bak</pattern> | |||||
<pattern>**/*~</pattern> | |||||
<pattern>**/*-</pattern> | |||||
</patterns> | |||||
</fileType> | |||||
<fileType> | |||||
<id>ignored</id> | |||||
<patterns> | |||||
<pattern>**/.htaccess</pattern> | |||||
<pattern>**/KEYS</pattern> | |||||
<pattern>**/*.rb</pattern> | |||||
<pattern>**/*.sh</pattern> | |||||
<pattern>**/.svn/**</pattern> | |||||
<pattern>**/.DAV/**</pattern> | |||||
</patterns> | |||||
</fileType> | |||||
</fileTypes> | |||||
<knownContentConsumers> | |||||
<knownContentConsumer>update-db-artifact</knownContentConsumer> | |||||
<knownContentConsumer>create-missing-checksums</knownContentConsumer> | |||||
<knownContentConsumer>update-db-repository-metadata</knownContentConsumer> | |||||
<knownContentConsumer>validate-checksum</knownContentConsumer> | |||||
<knownContentConsumer>validate-signature</knownContentConsumer> | |||||
<knownContentConsumer>index-content</knownContentConsumer> | |||||
<knownContentConsumer>auto-remove</knownContentConsumer> | |||||
<knownContentConsumer>auto-rename</knownContentConsumer> | |||||
<knownContentConsumer>repository-purge</knownContentConsumer> | |||||
</knownContentConsumers> | |||||
<invalidContentConsumers> | |||||
<invalidContentConsumer>update-db-bad-content</invalidContentConsumer> | |||||
</invalidContentConsumers> | |||||
</repositoryScanning> | |||||
<databaseScanning> | |||||
<cronExpression>0 0 * * ?</cronExpression> | |||||
<unprocessedConsumers> | |||||
<unprocessedConsumer>index-artifact</unprocessedConsumer> | |||||
<unprocessedConsumer>update-db-project</unprocessedConsumer> | |||||
<unprocessedConsumer>validate-repository-metadata</unprocessedConsumer> | |||||
<unprocessedConsumer>index-archive-toc</unprocessedConsumer> | |||||
<unprocessedConsumer>update-db-bytecode-stats</unprocessedConsumer> | |||||
<unprocessedConsumer>index-public-methods</unprocessedConsumer> | |||||
</unprocessedConsumers> | |||||
<cleanupConsumers> | |||||
<cleanupConsumer>not-present-remove-db-artifact</cleanupConsumer> | |||||
<cleanupConsumer>not-present-remove-db-project</cleanupConsumer> | |||||
<cleanupConsumer>not-present-remove-indexed</cleanupConsumer> | |||||
</cleanupConsumers> | |||||
</databaseScanning> | |||||
<webapp> | |||||
<ui> | |||||
<showFindArtifacts>true</showFindArtifacts> | |||||
<appletFindEnabled>true</appletFindEnabled> | |||||
</ui> | |||||
</webapp> | |||||
</configuration> |
<snapshots>true</snapshots> | <snapshots>true</snapshots> | ||||
<indexed>true</indexed> | <indexed>true</indexed> | ||||
<refreshCronExpression>0 0 * * ?</refreshCronExpression> | <refreshCronExpression>0 0 * * ?</refreshCronExpression> | ||||
<daysOlder>0</daysOlder> | |||||
<retentionCount>2</retentionCount> | <retentionCount>2</retentionCount> | ||||
</repository> | </repository> | ||||
</repositories> | </repositories> |
import org.codehaus.plexus.PlexusTestCase; | import org.codehaus.plexus.PlexusTestCase; | ||||
import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory; | import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory; | ||||
import org.codehaus.plexus.jdo.JdoFactory; | import org.codehaus.plexus.jdo.JdoFactory; | ||||
import org.apache.maven.archiva.configuration.Configuration; | |||||
import org.apache.maven.archiva.configuration.RepositoryConfiguration; | import org.apache.maven.archiva.configuration.RepositoryConfiguration; | ||||
import org.apache.maven.archiva.model.ArchivaRepository; | import org.apache.maven.archiva.model.ArchivaRepository; | ||||
import org.apache.maven.archiva.model.ArchivaArtifact; | |||||
import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout; | import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout; | ||||
import org.apache.maven.archiva.repository.layout.LayoutException; | import org.apache.maven.archiva.repository.layout.LayoutException; | ||||
import org.apache.maven.archiva.repository.layout.DefaultBidirectionalRepositoryLayout; | import org.apache.maven.archiva.repository.layout.DefaultBidirectionalRepositoryLayout; | ||||
import org.apache.maven.archiva.database.ArchivaDAO; | |||||
import org.apache.maven.archiva.database.ArtifactDAO; | import org.apache.maven.archiva.database.ArtifactDAO; | ||||
import org.apache.maven.archiva.database.ArchivaDatabaseException; | |||||
import org.jpox.SchemaTool; | import org.jpox.SchemaTool; | ||||
import javax.jdo.PersistenceManagerFactory; | import javax.jdo.PersistenceManagerFactory; | ||||
import javax.jdo.PersistenceManager; | import javax.jdo.PersistenceManager; | ||||
import java.util.List; | |||||
import java.util.ArrayList; | |||||
import java.util.Properties; | import java.util.Properties; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.Map; | import java.util.Map; | ||||
import java.util.List; | |||||
import java.util.Date; | |||||
import java.net.URL; | import java.net.URL; | ||||
import java.io.File; | import java.io.File; | ||||
public static final String TEST_REPO_NAME = "Test Repository"; | public static final String TEST_REPO_NAME = "Test Repository"; | ||||
public static final String TEST_REPO_URL = "file://" + getBasedir() + "/target/test-classes/test-repo/"; | |||||
public static final String TEST_REPO_URL = "file://" + getBasedir() + "/target/test/test-repo/"; | |||||
public static final int TEST_RETENTION_COUNT = 2; | public static final int TEST_RETENTION_COUNT = 2; | ||||
public static final int TEST_DAYS_OLDER = 30; | public static final int TEST_DAYS_OLDER = 30; | ||||
public static final String PATH_TO_BY_DAYS_OLD_ARTIFACT = | |||||
"org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar"; | |||||
public static final String PATH_TO_BY_RETENTION_COUNT_ARTIFACT = | |||||
"org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar"; | |||||
public static final String PATH_TO_BY_RETENTION_COUNT_POM = | |||||
"org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom"; | |||||
public static final String PATH_TO_RELEASED_SNAPSHOT = | |||||
"org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar"; | |||||
public static final String PATH_TO_HIGHER_SNAPSHOT_EXISTS = | |||||
"org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar"; | |||||
private RepositoryConfiguration config; | private RepositoryConfiguration config; | ||||
private ArchivaRepository repo; | private ArchivaRepository repo; | ||||
return layout; | return layout; | ||||
} | } | ||||
protected void populateDb( String groupId, String artifactId, List versions ) | |||||
throws ArchivaDatabaseException | |||||
{ | |||||
for( Iterator iter = versions.iterator(); iter.hasNext(); ) | |||||
{ | |||||
String version = (String) iter.next(); | |||||
ArchivaArtifact artifact = | |||||
dao.createArtifact( groupId, artifactId, version, "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
ArchivaArtifact savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( groupId, artifactId, version, "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
} | |||||
} | |||||
} | } |
package org.apache.maven.archiva.consumers.core.repository; | |||||
/* | |||||
* Licensed to the Apache Software Foundation (ASF) under one | |||||
* or more contributor license agreements. See the NOTICE file | |||||
* distributed with this work for additional information | |||||
* regarding copyright ownership. The ASF licenses this file | |||||
* to you 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. | |||||
*/ | |||||
import org.apache.maven.archiva.database.ArchivaDatabaseException; | |||||
import org.apache.commons.io.FileUtils; | |||||
import org.jdom.Document; | |||||
import org.jdom.Element; | |||||
import org.jdom.xpath.XPath; | |||||
import org.jdom.input.SAXBuilder; | |||||
import org.codehaus.plexus.util.IOUtil; | |||||
import java.util.List; | |||||
import java.util.Iterator; | |||||
import java.util.ArrayList; | |||||
import java.io.File; | |||||
import java.io.FileReader; | |||||
/** | |||||
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a> | |||||
*/ | |||||
public class CleanupReleasedSnapshotsRepositoryPurgeTest | |||||
extends AbstractRepositoryPurgeTest | |||||
{ | |||||
protected void setUp() | |||||
throws Exception | |||||
{ | |||||
super.setUp(); | |||||
repoPurge = new CleanupReleasedSnapshotsRepositoryPurge( getRepository(), getLayout(), dao ); | |||||
} | |||||
public void testReleasedSnapshots() | |||||
throws Exception | |||||
{ | |||||
populateReleasedSnapshotsTest(); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurge.process( PATH_TO_RELEASED_SNAPSHOT ); | |||||
// check if the snapshot was removed | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.sha1" ).exists() ); | |||||
// check if the released version was not removed | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3-sources.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3-sources.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3-sources.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.pom" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.pom.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3/maven-plugin-plugin-2.3.pom.sha1" ).exists() ); | |||||
// check if metadata file was updated | |||||
File artifactMetadataFile = | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata-local.xml" ); | |||||
FileReader fileReader = new FileReader( artifactMetadataFile ); | |||||
Document document; | |||||
try | |||||
{ | |||||
SAXBuilder builder = new SAXBuilder(); | |||||
document = builder.build( fileReader ); | |||||
} | |||||
finally | |||||
{ | |||||
IOUtil.close( fileReader ); | |||||
} | |||||
// parse the metadata file | |||||
XPath xPath = XPath.newInstance( "//metadata/versioning" ); | |||||
Element rootElement = document.getRootElement(); | |||||
Element versioning = (Element) xPath.selectSingleNode( rootElement ); | |||||
Element el = (Element) xPath.newInstance( "./latest" ).selectSingleNode( versioning ); | |||||
assertEquals( "2.3", el.getValue() ); | |||||
el = (Element) xPath.newInstance( "./lastUpdated" ).selectSingleNode( versioning ); | |||||
assertFalse( el.getValue().equals( "20070315032817" ) ); | |||||
List nodes = xPath.newInstance( "./versions" ).selectNodes( | |||||
rootElement ); | |||||
boolean found = false; | |||||
for ( Iterator iter = nodes.iterator(); iter.hasNext(); ) | |||||
{ | |||||
el = ( Element ) iter.next(); | |||||
if( el.getValue().equals( "2.3-SNAPSHOT" ) ) | |||||
{ | |||||
found = true; | |||||
} | |||||
} | |||||
assertFalse( found ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
public void testHigherSnapshotExists() | |||||
throws Exception | |||||
{ | |||||
populateHigherSnapshotExistsTest(); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurge.process( PATH_TO_HIGHER_SNAPSHOT_EXISTS ); | |||||
// check if the snapshot was removed | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.3-SNAPSHOT/maven-source-plugin-2.0.3-SNAPSHOT.pom.sha1" ).exists() ); | |||||
// check if the released version was not removed | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.pom" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/2.0.4-SNAPSHOT/maven-source-plugin-2.0.4-SNAPSHOT.pom.sha1" ).exists() ); | |||||
// check if metadata file was updated | |||||
File artifactMetadataFile = | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-source-plugin/maven-metadata-local.xml" ); | |||||
FileReader fileReader = new FileReader( artifactMetadataFile ); | |||||
Document document; | |||||
try | |||||
{ | |||||
SAXBuilder builder = new SAXBuilder(); | |||||
document = builder.build( fileReader ); | |||||
} | |||||
finally | |||||
{ | |||||
IOUtil.close( fileReader ); | |||||
} | |||||
// parse the metadata file | |||||
XPath xPath = XPath.newInstance( "//metadata/versioning" ); | |||||
Element rootElement = document.getRootElement(); | |||||
Element versioning = (Element) xPath.selectSingleNode( rootElement ); | |||||
Element el = (Element) xPath.newInstance( "./latest" ).selectSingleNode( versioning ); | |||||
assertEquals( "2.0.4-SNAPSHOT", el.getValue() ); | |||||
el = (Element) xPath.newInstance( "./lastUpdated" ).selectSingleNode( versioning ); | |||||
assertFalse( el.getValue().equals( "20070427033345" ) ); | |||||
List nodes = xPath.newInstance( "./versions" ).selectNodes( | |||||
rootElement ); | |||||
boolean found = false; | |||||
for ( Iterator iter = nodes.iterator(); iter.hasNext(); ) | |||||
{ | |||||
el = ( Element ) iter.next(); | |||||
if( el.getValue().equals( "2.0.3-SNAPSHOT" ) ) | |||||
{ | |||||
found = true; | |||||
} | |||||
} | |||||
assertFalse( found ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
private void populateReleasedSnapshotsTest() | |||||
throws ArchivaDatabaseException | |||||
{ | |||||
List versions = new ArrayList(); | |||||
versions.add( "2.3-SNAPSHOT" ); | |||||
populateDb( "org.apache.maven.plugins", "maven-plugin-plugin", versions ); | |||||
} | |||||
private void populateHigherSnapshotExistsTest() | |||||
throws Exception | |||||
{ | |||||
List versions = new ArrayList(); | |||||
versions.add( "2.0.3-SNAPSHOT" ); | |||||
populateDb( "org.apache.maven.plugins", "maven-source-plugin", versions ); | |||||
} | |||||
} |
package org.apache.maven.archiva.consumers.core.repository; | package org.apache.maven.archiva.consumers.core.repository; | ||||
import org.codehaus.plexus.PlexusTestCase; | |||||
import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory; | |||||
import org.codehaus.plexus.jdo.JdoFactory; | |||||
import org.apache.maven.archiva.configuration.Configuration; | |||||
import org.apache.maven.archiva.configuration.RepositoryConfiguration; | |||||
import org.apache.maven.archiva.model.ArchivaRepository; | |||||
import org.apache.maven.archiva.model.ArchivaArtifactModel; | |||||
import org.apache.maven.archiva.model.ArchivaArtifact; | |||||
import org.apache.maven.archiva.database.ArtifactDAO; | |||||
import org.apache.maven.archiva.database.ArchivaDAO; | |||||
import org.apache.maven.archiva.database.jdo.JdoAccess; | |||||
/* | |||||
* Licensed to the Apache Software Foundation (ASF) under one | |||||
* or more contributor license agreements. See the NOTICE file | |||||
* distributed with this work for additional information | |||||
* regarding copyright ownership. The ASF licenses this file | |||||
* to you 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. | |||||
*/ | |||||
import org.apache.commons.io.FileUtils; | |||||
import javax.jdo.JDOFatalUserException; | |||||
import javax.jdo.JDOHelper; | |||||
import javax.jdo.spi.JDOImplHelper; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Date; | |||||
import java.io.File; | import java.io.File; | ||||
/** | /** | ||||
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a> | * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a> | ||||
*/ | */ | ||||
public class DaysOldRepositoryPurgeTest | public class DaysOldRepositoryPurgeTest | ||||
extends AbstractRepositoryPurgeTest | extends AbstractRepositoryPurgeTest | ||||
{ | { | ||||
public static final String PATH_TO_BY_DAYS_OLD_ARTIFACT = | |||||
"org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar"; | |||||
protected void setUp() | protected void setUp() | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
private void setLastModified() | private void setLastModified() | ||||
{ | { | ||||
File dir = | File dir = | ||||
new File( "target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/" ); | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/" ); | |||||
File[] contents = dir.listFiles(); | File[] contents = dir.listFiles(); | ||||
for ( int i = 0; i < contents.length; i++ ) | for ( int i = 0; i < contents.length; i++ ) | ||||
{ | { | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
populateDb(); | populateDb(); | ||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
setLastModified(); | setLastModified(); | ||||
repoPurge.process( PATH_TO_BY_DAYS_OLD_ARTIFACT ); | repoPurge.process( PATH_TO_BY_DAYS_OLD_ARTIFACT ); | ||||
assertTrue( true ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.sha1" ).exists() ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | } | ||||
protected void tearDown() | protected void tearDown() | ||||
private void populateDb() | private void populateDb() | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
// Create it | |||||
ArchivaArtifact artifact = | |||||
dao.createArtifact( "org.apache.maven.plugins", "maven-install-plugin", "2.2-SNAPSHOT", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
// Save it. | |||||
ArchivaArtifact savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
List versions = new ArrayList(); | |||||
versions.add( "2.2-SNAPSHOT" ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( "org.apache.maven.plugins", "maven-install-plugin", "2.2-SNAPSHOT", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
populateDb( "org.apache.maven.plugins", "maven-install-plugin", versions ); | |||||
} | } | ||||
} | } |
package org.apache.maven.archiva.consumers.core.repository; | |||||
/* | |||||
* Licensed to the Apache Software Foundation (ASF) under one | |||||
* or more contributor license agreements. See the NOTICE file | |||||
* distributed with this work for additional information | |||||
* regarding copyright ownership. The ASF licenses this file | |||||
* to you 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. | |||||
*/ | |||||
import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer; | |||||
import org.apache.maven.archiva.database.ArchivaDatabaseException; | |||||
import org.apache.commons.io.FileUtils; | |||||
import org.jdom.Document; | |||||
import org.jdom.Element; | |||||
import org.jdom.xpath.XPath; | |||||
import org.jdom.input.SAXBuilder; | |||||
import org.codehaus.plexus.util.IOUtil; | |||||
import java.io.File; | |||||
import java.io.FileReader; | |||||
import java.util.List; | |||||
import java.util.ArrayList; | |||||
import java.util.Iterator; | |||||
/** | |||||
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a> | |||||
*/ | |||||
public class RepositoryPurgeConsumerTest | |||||
extends AbstractRepositoryPurgeTest | |||||
{ | |||||
protected void setUp() | |||||
throws Exception | |||||
{ | |||||
super.setUp(); | |||||
} | |||||
private void setLastModified() | |||||
{ | |||||
File dir = | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/" ); | |||||
File[] contents = dir.listFiles(); | |||||
for ( int i = 0; i < contents.length; i++ ) | |||||
{ | |||||
contents[i].setLastModified( 1179382029 ); | |||||
} | |||||
} | |||||
public void testConsumerByRetentionCount() | |||||
throws Exception | |||||
{ | |||||
KnownRepositoryContentConsumer repoPurgeConsumer = ( KnownRepositoryContentConsumer ) | |||||
lookup( KnownRepositoryContentConsumer.class, "repo-purge-consumer-by-retention-count" ); | |||||
populateDbForRetentionCountTest(); | |||||
repoPurgeConsumer.beginScan( getRepository() ); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurgeConsumer.processFile( PATH_TO_BY_RETENTION_COUNT_ARTIFACT ); | |||||
// assert if removed from repo | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.sha1" ).exists() ); | |||||
// assert if not removed from repo | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.sha1" ).exists() ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
public void testConsumerByDaysOld() | |||||
throws Exception | |||||
{ | |||||
populateDbForDaysOldTest(); | |||||
KnownRepositoryContentConsumer repoPurgeConsumer = ( KnownRepositoryContentConsumer ) | |||||
lookup( KnownRepositoryContentConsumer.class, "repo-purge-consumer-by-days-old" ); | |||||
repoPurgeConsumer.beginScan( getRepository() ); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
setLastModified(); | |||||
repoPurgeConsumer.processFile( PATH_TO_BY_DAYS_OLD_ARTIFACT ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-install-plugin/2.2-SNAPSHOT/maven-install-plugin-2.2-SNAPSHOT.pom.sha1" ).exists() ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
public void testReleasedSnapshotsWereNotCleaned() | |||||
throws Exception | |||||
{ | |||||
KnownRepositoryContentConsumer repoPurgeConsumer = ( KnownRepositoryContentConsumer ) | |||||
lookup( KnownRepositoryContentConsumer.class, "repo-purge-consumer-by-retention-count" ); | |||||
populateDbForReleasedSnapshotsTest(); | |||||
repoPurgeConsumer.beginScan( getRepository() ); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurgeConsumer.processFile( PATH_TO_RELEASED_SNAPSHOT ); | |||||
// check if the snapshot wasn't removed | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertTrue( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.sha1" ).exists() ); | |||||
// check if metadata file wasn't updated | |||||
File artifactMetadataFile = | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata-local.xml" ); | |||||
FileReader fileReader = new FileReader( artifactMetadataFile ); | |||||
Document document; | |||||
try | |||||
{ | |||||
SAXBuilder builder = new SAXBuilder(); | |||||
document = builder.build( fileReader ); | |||||
} | |||||
finally | |||||
{ | |||||
IOUtil.close( fileReader ); | |||||
} | |||||
// parse the metadata file | |||||
XPath xPath = XPath.newInstance( "//metadata/versioning" ); | |||||
Element rootElement = document.getRootElement(); | |||||
Element versioning = (Element) xPath.selectSingleNode( rootElement ); | |||||
Element el = (Element) xPath.newInstance( "./latest" ).selectSingleNode( versioning ); | |||||
assertEquals( "2.3-SNAPSHOT", el.getValue() ); | |||||
el = (Element) xPath.newInstance( "./lastUpdated" ).selectSingleNode( versioning ); | |||||
assertTrue( el.getValue().equals( "20070315032817" ) ); | |||||
List nodes = xPath.newInstance( "./versions" ).selectNodes( | |||||
versioning ); | |||||
boolean found = false; | |||||
for ( Iterator iter = nodes.iterator(); iter.hasNext(); ) | |||||
{ | |||||
el = ( Element ) iter.next(); | |||||
if( el.getValue().trim().equals( "2.3-SNAPSHOT" ) ) | |||||
{ | |||||
found = true; | |||||
} | |||||
} | |||||
assertTrue( found ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
public void testReleasedSnapshotsWereCleaned() | |||||
throws Exception | |||||
{ | |||||
KnownRepositoryContentConsumer repoPurgeConsumer = ( KnownRepositoryContentConsumer ) | |||||
lookup( KnownRepositoryContentConsumer.class, "repo-purge-consumer-by-days-old" ); | |||||
populateDbForReleasedSnapshotsTest(); | |||||
repoPurgeConsumer.beginScan( getRepository() ); | |||||
File testDir = new File( "target/test" ); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurgeConsumer.processFile( PATH_TO_RELEASED_SNAPSHOT ); | |||||
// check if the snapshot was removed | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.md5" ).exists() ); | |||||
assertFalse( new File( | |||||
"target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/2.3-SNAPSHOT/maven-plugin-plugin-2.3-SNAPSHOT.pom.sha1" ).exists() ); | |||||
// check if metadata file was updated | |||||
File artifactMetadataFile = | |||||
new File( "target/test/test-repo/org/apache/maven/plugins/maven-plugin-plugin/maven-metadata-local.xml" ); | |||||
FileReader fileReader = new FileReader( artifactMetadataFile ); | |||||
Document document; | |||||
try | |||||
{ | |||||
SAXBuilder builder = new SAXBuilder(); | |||||
document = builder.build( fileReader ); | |||||
} | |||||
finally | |||||
{ | |||||
IOUtil.close( fileReader ); | |||||
} | |||||
// parse the metadata file | |||||
XPath xPath = XPath.newInstance( "//metadata/versioning" ); | |||||
Element rootElement = document.getRootElement(); | |||||
Element versioning = (Element) xPath.selectSingleNode( rootElement ); | |||||
Element el = (Element) xPath.newInstance( "./latest" ).selectSingleNode( versioning ); | |||||
assertEquals( "2.3", el.getValue() ); | |||||
el = (Element) xPath.newInstance( "./lastUpdated" ).selectSingleNode( versioning ); | |||||
assertFalse( el.getValue().equals( "20070315032817" ) ); | |||||
List nodes = xPath.newInstance( "./versions" ).selectNodes( | |||||
rootElement ); | |||||
boolean found = false; | |||||
for ( Iterator iter = nodes.iterator(); iter.hasNext(); ) | |||||
{ | |||||
el = ( Element ) iter.next(); | |||||
if( el.getValue().equals( "2.3-SNAPSHOT" ) ) | |||||
{ | |||||
found = true; | |||||
} | |||||
} | |||||
assertFalse( found ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | |||||
public void populateDbForRetentionCountTest() | |||||
throws ArchivaDatabaseException | |||||
{ | |||||
List versions = new ArrayList(); | |||||
versions.add( "1.0RC1-20070504.153317-1" ); | |||||
versions.add( "1.0RC1-20070504.160758-2" ); | |||||
versions.add( "1.0RC1-20070505.090015-3" ); | |||||
versions.add( "1.0RC1-20070506.090132-4" ); | |||||
populateDb( "org.jruby.plugins", "jruby-rake-plugin", versions); | |||||
} | |||||
private void populateDbForDaysOldTest() | |||||
throws ArchivaDatabaseException | |||||
{ | |||||
List versions = new ArrayList(); | |||||
versions.add( "2.2-SNAPSHOT" ); | |||||
populateDb( "org.apache.maven.plugins", "maven-install-plugin", versions ); | |||||
} | |||||
public void populateDbForReleasedSnapshotsTest() | |||||
throws ArchivaDatabaseException | |||||
{ | |||||
List versions = new ArrayList(); | |||||
versions.add( "2.3-SNAPSHOT" ); | |||||
populateDb( "org.apache.maven.plugins", "maven-plugin-plugin", versions ); | |||||
} | |||||
} |
* under the License. | * under the License. | ||||
*/ | */ | ||||
import org.apache.maven.archiva.model.ArchivaArtifact; | |||||
import org.apache.commons.io.FileUtils; | |||||
import java.io.File; | import java.io.File; | ||||
import java.util.Date; | |||||
import java.util.List; | |||||
import java.util.ArrayList; | |||||
/** | /** | ||||
* Test RetentionsCountRepositoryPurgeTest | * Test RetentionsCountRepositoryPurgeTest | ||||
extends AbstractRepositoryPurgeTest | extends AbstractRepositoryPurgeTest | ||||
{ | { | ||||
public static final String PATH_TO_BY_RETENTION_COUNT_ARTIFACT = | |||||
"org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar"; | |||||
public static final String PATH_TO_BY_RETENTION_COUNT_POM = | |||||
"org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom"; | |||||
protected void setUp() | protected void setUp() | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
{ | { | ||||
populateIfJarWasFoundDb(); | populateIfJarWasFoundDb(); | ||||
File testDir = new File( "target/test" ); | |||||
testDir.mkdir(); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurge.process( PATH_TO_BY_RETENTION_COUNT_ARTIFACT ); | repoPurge.process( PATH_TO_BY_RETENTION_COUNT_ARTIFACT ); | ||||
// assert if removed from repo | // assert if removed from repo | ||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.153317-1.pom.sha1" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070504.160758-2.pom.sha1" ).exists() ); | |||||
// assert if not removed from repo | // assert if not removed from repo | ||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070505.090015-3.pom.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/jruby/plugins/jruby-rake-plugin/1.0RC1-SNAPSHOT/jruby-rake-plugin-1.0RC1-20070506.090132-4.pom.sha1" ).exists() ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | } | ||||
/** | /** | ||||
{ | { | ||||
populateIfPomWasFoundDb(); | populateIfPomWasFoundDb(); | ||||
File testDir = new File( "target/test" ); | |||||
testDir.mkdir(); | |||||
FileUtils.copyDirectoryToDirectory( new File( "target/test-classes/test-repo" ), testDir ); | |||||
repoPurge.process( PATH_TO_BY_RETENTION_COUNT_POM ); | repoPurge.process( PATH_TO_BY_RETENTION_COUNT_POM ); | ||||
// assert if removed from repo | // assert if removed from repo | ||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.jar.sha1" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom.md5" ).exists() ); | |||||
assertFalse( new File( | assertFalse( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070427.065136-1.pom.sha1" ).exists() ); | |||||
// assert if not removed from repo | // assert if not removed from repo | ||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.pom.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070615.105019-3-sources.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.pom.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2.jar.sha1" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar.md5" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar.md5" ).exists() ); | |||||
assertTrue( new File( | assertTrue( new File( | ||||
"target/test-classes/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar.sha1" ).exists() ); | |||||
"target/test/test-repo/org/codehaus/castor/castor-anttasks/1.1.2-SNAPSHOT/castor-anttasks-1.1.2-20070506.163513-2-sources.jar.sha1" ).exists() ); | |||||
FileUtils.deleteDirectory( testDir ); | |||||
} | } | ||||
public void populateIfJarWasFoundDb() | public void populateIfJarWasFoundDb() | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
// Create it | |||||
ArchivaArtifact artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070504.153317-1", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
// Save it. | |||||
ArchivaArtifact savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070504.153317-1", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//JAR | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070504.160758-2", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
List versions = new ArrayList(); | |||||
versions.add( "1.0RC1-20070504.153317-1" ); | |||||
versions.add( "1.0RC1-20070504.160758-2" ); | |||||
versions.add( "1.0RC1-20070505.090015-3" ); | |||||
versions.add( "1.0RC1-20070506.090132-4" ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070504.160758-2", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//JAR | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070505.090015-3", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070505.090015-3", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//JAR | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070506.090132-4", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = | |||||
dao.createArtifact( "org.jruby.plugins", "jruby-rake-plugin", "1.0RC1-20070506.090132-4", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
populateDb( "org.jruby.plugins", "jruby-rake-plugin", versions ); | |||||
} | } | ||||
public void populateIfPomWasFoundDb() | public void populateIfPomWasFoundDb() | ||||
throws Exception | throws Exception | ||||
{ | { | ||||
// Create it | |||||
ArchivaArtifact artifact = | |||||
dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070427.065136-1", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
ArchivaArtifact savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070427.065136-1", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//JAR | |||||
artifact = dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070615.105019-3", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//POM | |||||
artifact = dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070615.105019-3", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
//JAR | |||||
artifact = dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070506.163513-2", "", "jar" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
List versions = new ArrayList(); | |||||
versions.add( "1.1.2-20070427.065136-1" ); | |||||
versions.add( "1.1.2-20070615.105019-3" ); | |||||
versions.add( "1.1.2-20070506.163513-2" ); | |||||
//POM | |||||
artifact = dao.createArtifact( "org.codehaus.castor", "castor-anttasks", "1.1.2-20070506.163513-2", "", "pom" ); | |||||
assertNotNull( artifact ); | |||||
artifact.getModel().setLastModified( new Date() ); | |||||
artifact.getModel().setOrigin( "test" ); | |||||
savedArtifact = dao.saveArtifact( artifact ); | |||||
assertNotNull( savedArtifact ); | |||||
populateDb( "org.codehaus.castor", "castor-anttasks", versions ); | |||||
} | } | ||||
} | } |
<?xml version="1.0" encoding="ISO-8859-1"?> | |||||
<!-- | |||||
~ Licensed to the Apache Software Foundation (ASF) under one | |||||
~ or more contributor license agreements. See the NOTICE file | |||||
~ distributed with this work for additional information | |||||
~ regarding copyright ownership. The ASF licenses this file | |||||
~ to you 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. | |||||
--> | |||||
<component-set> | |||||
<components> | |||||
<!-- JdoAccess --> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoAccess</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.codehaus.plexus.jdo.JdoFactory</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<!-- JDO Factory --> | |||||
<component> | |||||
<role>org.codehaus.plexus.jdo.JdoFactory</role> | |||||
<role-hint>archiva</role-hint> | |||||
<implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation> | |||||
<configuration> | |||||
<persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass> | |||||
<driverName>org.hsqldb.jdbcDriver</driverName> | |||||
<userName>sa</userName> | |||||
<password></password> | |||||
<url>jdbc:hsqldb:mem:testdb</url> | |||||
<otherProperties> | |||||
<property> | |||||
<name>javax.jdo.PersistenceManagerFactoryClass</name> | |||||
<value>org.jpox.PersistenceManagerFactoryImpl</value> | |||||
</property> | |||||
</otherProperties> | |||||
</configuration> | |||||
</component> | |||||
</components> | |||||
</component-set> |
<?xml version="1.0" encoding="ISO-8859-1"?> | |||||
<!-- | |||||
~ Licensed to the Apache Software Foundation (ASF) under one | |||||
~ or more contributor license agreements. See the NOTICE file | |||||
~ distributed with this work for additional information | |||||
~ regarding copyright ownership. The ASF licenses this file | |||||
~ to you 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. | |||||
--> | |||||
<component-set> | |||||
<components> | |||||
<!-- for testing repo purge using retention count --> | |||||
<component> | |||||
<role>org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer</role> | |||||
<role-hint>repo-purge-consumer-by-retention-count</role-hint> | |||||
<implementation>org.apache.maven.archiva.consumers.core.repository.RepositoryPurgeConsumer</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>retention-count</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.ArchivaDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.FileTypes</role> | |||||
</requirement> | |||||
</requirements> | |||||
<configuration> | |||||
<id>repository-purge</id> | |||||
<description>Purge repository of old snapshots</description> | |||||
</configuration> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>retention-count</role-hint> | |||||
<implementation>org.apache.maven.archiva.configuration.DefaultArchivaConfiguration</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.codehaus.plexus.registry.Registry</role> | |||||
<role-hint>retention-count</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.codehaus.plexus.registry.Registry</role> | |||||
<role-hint>retention-count</role-hint> | |||||
<implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation> | |||||
<configuration> | |||||
<properties> | |||||
<xml fileName="${basedir}/src/test/conf/repository-manager.xml" | |||||
config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/> | |||||
</properties> | |||||
</configuration> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role> | |||||
<implementation>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>retention-count</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout</role> | |||||
<field-name>layouts</field-name> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout</role> | |||||
<role-hint>default</role-hint> | |||||
<implementation>org.apache.maven.archiva.repository.layout.DefaultBidirectionalRepositoryLayout</implementation> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.configuration.FileTypes</role> | |||||
<implementation>org.apache.maven.archiva.configuration.FileTypes</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>retention-count</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<!-- for testing repo purge by # of days old and delete cleanupSnapshots --> | |||||
<component> | |||||
<role>org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer</role> | |||||
<role-hint>repo-purge-consumer-by-days-old</role-hint> | |||||
<implementation>org.apache.maven.archiva.consumers.core.repository.RepositoryPurgeConsumer</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>days-old</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.ArchivaDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.FileTypes</role> | |||||
</requirement> | |||||
</requirements> | |||||
<configuration> | |||||
<id>repository-purge</id> | |||||
<description>Purge repository of old snapshots</description> | |||||
</configuration> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>days-old</role-hint> | |||||
<implementation>org.apache.maven.archiva.configuration.DefaultArchivaConfiguration</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.codehaus.plexus.registry.Registry</role> | |||||
<role-hint>days-old</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.codehaus.plexus.registry.Registry</role> | |||||
<role-hint>days-old</role-hint> | |||||
<implementation>org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</implementation> | |||||
<configuration> | |||||
<properties> | |||||
<xml fileName="${basedir}/src/test/conf/repository-manager-daysOld.xml" | |||||
config-name="org.apache.maven.archiva" config-at="org.apache.maven.archiva"/> | |||||
</properties> | |||||
</configuration> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</role> | |||||
<implementation>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>days-old</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout</role> | |||||
<field-name>layouts</field-name> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout</role> | |||||
<role-hint>default</role-hint> | |||||
<implementation>org.apache.maven.archiva.repository.layout.DefaultBidirectionalRepositoryLayout</implementation> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.configuration.FileTypes</role> | |||||
<implementation>org.apache.maven.archiva.configuration.FileTypes</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.configuration.ArchivaConfiguration</role> | |||||
<role-hint>days-old</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<!-- DAOs --> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.ArchivaDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoArchivaDAO</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.ArtifactDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.ProjectModelDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.RepositoryDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.RepositoryProblemDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.ArtifactDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoArtifactDAO</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.ProjectModelDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoProjectModelDAO</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.RepositoryDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoRepositoryDAO</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.RepositoryProblemDAO</role> | |||||
<role-hint>jdo</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoRepositoryProblemDAO</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<!-- JdoAccess --> | |||||
<component> | |||||
<role>org.apache.maven.archiva.database.jdo.JdoAccess</role> | |||||
<role-hint>archiva</role-hint> | |||||
<implementation>org.apache.maven.archiva.database.jdo.JdoAccess</implementation> | |||||
<requirements> | |||||
<requirement> | |||||
<role>org.codehaus.plexus.jdo.JdoFactory</role> | |||||
<role-hint>archiva</role-hint> | |||||
</requirement> | |||||
</requirements> | |||||
</component> | |||||
<!-- JDO Factory --> | |||||
<component> | |||||
<role>org.codehaus.plexus.jdo.JdoFactory</role> | |||||
<role-hint>archiva</role-hint> | |||||
<implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation> | |||||
<configuration> | |||||
<persistenceManagerFactoryClass>org.jpox.PersistenceManagerFactoryImpl</persistenceManagerFactoryClass> | |||||
<driverName>org.hsqldb.jdbcDriver</driverName> | |||||
<userName>sa</userName> | |||||
<password></password> | |||||
<url>jdbc:hsqldb:mem:testdb</url> | |||||
<otherProperties> | |||||
<property> | |||||
<name>javax.jdo.PersistenceManagerFactoryClass</name> | |||||
<value>org.jpox.PersistenceManagerFactoryImpl</value> | |||||
</property> | |||||
</otherProperties> | |||||
</configuration> | |||||
</component> | |||||
</components> | |||||
</component-set> |
9e0648be2296d12b8bb523e68d05cf42 maven-plugin-plugin-2.2.jar |
541c13c9587571df049c23f836e281240bcd83c0 |
<?xml version="1.0" encoding="UTF-8"?><project> | |||||
<parent> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<version>7</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-plugin-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven PLUGIN Plugin</name> | |||||
<version>2.2</version> | |||||
<description>The Plugin Plugin is used to create a Maven plugin descriptor for any Mojo's found in the source tree, | |||||
to include in the JAR. It is also used to generate Xdoc files for the Mojos as well as for updating the | |||||
plugin registry and the artifact metadata.</description> | |||||
<prerequisites> | |||||
<maven>2.0.4</maven> | |||||
</prerequisites> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MPLUGIN</url> | |||||
</issueManagement> | |||||
<inceptionYear>2001</inceptionYear> | |||||
<mailingLists> | |||||
<mailingList> | |||||
<name>Maven User List</name> | |||||
<subscribe>users-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>users@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive> | |||||
<otherArchives> | |||||
<otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive> | |||||
<otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive> | |||||
</otherArchives> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Developer List</name> | |||||
<subscribe>dev-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>dev@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Commits List</name> | |||||
<subscribe>commits-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>commits@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Announcements List</name> | |||||
<subscribe>announce-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>announce@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Issues List</name> | |||||
<subscribe>issues-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>issues@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Notifications List</name> | |||||
<subscribe>notifications-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>notifications@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive> | |||||
</mailingList> | |||||
</mailingLists> | |||||
<scm> | |||||
<connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.2</connection> | |||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.2</developerConnection> | |||||
<url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.2</url> | |||||
</scm> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-repository-metadata</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-registry</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-api</artifactId> | |||||
<version>2.0.5</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-java</artifactId> | |||||
<version>2.0.5</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-artifact-manager</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-beanshell</artifactId> | |||||
<version>2.0.5</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.reporting</groupId> | |||||
<artifactId>maven-reporting-impl</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<distributionManagement> | |||||
<status>deployed</status> | |||||
</distributionManagement> | |||||
</project> |
9ecd734d6f134fcca385f60a491202df maven-plugin-plugin-2.2.pom |
00640eafefa3c3866e12dacfd12b73f00da66193 |
<?xml version="1.0" encoding="UTF-8"?><metadata> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-plugin-plugin</artifactId> | |||||
<version>2.3-SNAPSHOT</version> | |||||
<versioning> | |||||
<snapshot> | |||||
<localCopy>true</localCopy> | |||||
</snapshot> | |||||
<lastUpdated>20070315032817</lastUpdated> | |||||
</versioning> | |||||
</metadata> |
6f9989b96a593509d03dcd3afbc0d842 maven-plugin-plugin-2.3-SNAPSHOT.jar |
1e45a02cf1c1952f56e36b8a857eea3f5ac7acd2 maven-plugin-plugin-2.3-SNAPSHOT.jar |
<?xml version="1.0" encoding="UTF-8"?><project> | |||||
<parent> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<version>8</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-plugin-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven PLUGIN Plugin</name> | |||||
<version>2.3-SNAPSHOT</version> | |||||
<description>The Plugin Plugin is used to create a Maven plugin descriptor for any Mojo's found in the source tree, | |||||
to include in the JAR. It is also used to generate Xdoc files for the Mojos as well as for updating the | |||||
plugin registry and the artifact metadata.</description> | |||||
<prerequisites> | |||||
<maven>2.0.5</maven> | |||||
</prerequisites> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MPLUGIN</url> | |||||
</issueManagement> | |||||
<inceptionYear>2001</inceptionYear> | |||||
<mailingLists> | |||||
<mailingList> | |||||
<name>Maven User List</name> | |||||
<subscribe>users-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>users@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive> | |||||
<otherArchives> | |||||
<otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive> | |||||
<otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive> | |||||
</otherArchives> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Developer List</name> | |||||
<subscribe>dev-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>dev@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Commits List</name> | |||||
<subscribe>commits-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>commits@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Announcements List</name> | |||||
<subscribe>announce-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>announce@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Issues List</name> | |||||
<subscribe>issues-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>issues@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Notifications List</name> | |||||
<subscribe>notifications-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>notifications@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive> | |||||
</mailingList> | |||||
</mailingLists> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-repository-metadata</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-registry</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-api</artifactId> | |||||
<version>2.1-SNAPSHOT</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-java</artifactId> | |||||
<version>2.1-SNAPSHOT</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-artifact-manager</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-beanshell</artifactId> | |||||
<version>2.1-SNAPSHOT</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.reporting</groupId> | |||||
<artifactId>maven-reporting-impl</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<distributionManagement> | |||||
<status>deployed</status> | |||||
</distributionManagement> | |||||
</project> |
a678808722c980a6d3e4e888fdada892 maven-plugin-plugin-2.3-SNAPSHOT.pom |
6eb8dcc14cd43cef58bbe6476ea38dd3fa574b96 maven-plugin-plugin-2.3-SNAPSHOT.pom |
83468d09e78c24ca31ae4140dbeaa221 maven-plugin-plugin-2.3-sources.jar |
7792c67953b0bbbe4587bbf98d1fbfa74ddb3465 |
b9e23af960564275a5c2be817dcb0201 maven-plugin-plugin-2.3.jar |
984bfa6399e504f3085c01881f8bf955187d26a2 |
<?xml version='1.0' encoding='UTF-8'?> | |||||
<!-- | |||||
~ Licensed to the Apache Software Foundation (ASF) under one | |||||
~ or more contributor license agreements. See the NOTICE file | |||||
~ distributed with this work for additional information | |||||
~ regarding copyright ownership. The ASF licenses this file | |||||
~ to you 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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |||||
<parent> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<version>8</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-plugin-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven PLUGIN Plugin</name> | |||||
<version>2.3</version> | |||||
<description> | |||||
The Plugin Plugin is used to create a Maven plugin descriptor for any Mojo's found in the source tree, | |||||
to include in the JAR. It is also used to generate Xdoc files for the Mojos as well as for updating the | |||||
plugin registry and the artifact metadata. | |||||
</description> | |||||
<inceptionYear>2001</inceptionYear> | |||||
<prerequisites> | |||||
<maven>2.0.5</maven> | |||||
</prerequisites> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MPLUGIN</url> | |||||
</issueManagement> | |||||
<mailingLists> | |||||
<!-- duplication from maven-plugins pom - temporary until they inherit properly | |||||
--> | |||||
<mailingList> | |||||
<name>Maven User List</name> | |||||
<subscribe>users-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>users@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive> | |||||
<otherArchives> | |||||
<otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive> | |||||
<otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive> | |||||
</otherArchives> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Developer List</name> | |||||
<subscribe>dev-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>dev@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Commits List</name> | |||||
<subscribe>commits-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe> | |||||
<post>commits@maven.apache.org</post> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive> | |||||
</mailingList> | |||||
<!-- duplication from maven-parent pom - temporary until they inherit properly | |||||
--> | |||||
<mailingList> | |||||
<name>Maven Announcements List</name> | |||||
<post>announce@maven.apache.org</post> | |||||
<subscribe>announce-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Issues List</name> | |||||
<post>issues@maven.apache.org</post> | |||||
<subscribe>issues-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive> | |||||
</mailingList> | |||||
<mailingList> | |||||
<name>Maven Notifications List</name> | |||||
<post>notifications@maven.apache.org</post> | |||||
<subscribe>notifications-subscribe@maven.apache.org</subscribe> | |||||
<unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe> | |||||
<archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive> | |||||
</mailingList> | |||||
</mailingLists> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-repository-metadata</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-registry</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-api</artifactId> | |||||
<version>2.1</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-java</artifactId> | |||||
<version>2.1</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-artifact-manager</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-tools-beanshell</artifactId> | |||||
<version>2.1</version> | |||||
<scope>runtime</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.reporting</groupId> | |||||
<artifactId>maven-reporting-impl</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<scm> | |||||
<connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.3</connection> | |||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.3</developerConnection> | |||||
<url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugin-plugin-2.3</url> | |||||
</scm> | |||||
</project> | |||||
02126b4695466d4b20e6a9c7f1896187 maven-plugin-plugin-2.3.pom |
db261a60723ffc76ce240ad81ce2a3d79aa57810 |
<?xml version="1.0" encoding="UTF-8"?> | |||||
<metadata> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-plugin-plugin</artifactId> | |||||
<version>2.3-SNAPSHOT</version> | |||||
<versioning> | |||||
<latest>2.3-SNAPSHOT</latest> | |||||
<versions> | |||||
<version>2.3-SNAPSHOT</version> | |||||
</versions> | |||||
<lastUpdated>20070315032817</lastUpdated> | |||||
</versioning> | |||||
</metadata> |
29907955e4aef588f3e9477aa1f71e4e maven-source-plugin-2.0.2-sources.jar |
18c816fb4176a129956d6c42ba6bb959ccee5613 |
431dee6147d892294d73cbbf29489c80 maven-source-plugin-2.0.2.jar |
18c2aeb3f4a900fb2c457531d5b8e6b019cdf4a8 |
<?xml version="1.0"?><project> | |||||
<parent> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<version>4</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven Source Plug-In</name> | |||||
<version>2.0.2</version> | |||||
<prerequisites /> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MSOURCES</url> | |||||
</issueManagement> | |||||
<scm> | |||||
<connection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-source-plugin-2.0.2</connection> | |||||
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-source-plugin-2.0.2</developerConnection> | |||||
<url>https://svn.apache.org/repos/asf/maven/plugins/tags/maven-source-plugin-2.0.2</url> | |||||
</scm> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-archiver</artifactId> | |||||
<version>1.0-alpha-7</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-container-default</artifactId> | |||||
<version>1.0-alpha-9</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.shared</groupId> | |||||
<artifactId>maven-plugin-testing-harness</artifactId> | |||||
<version>1.0-beta-1</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<distributionManagement> | |||||
<status>deployed</status> | |||||
</distributionManagement> | |||||
</project> |
7ef3a2b3e91412d5395e68b08dfaf854 maven-source-plugin-2.0.2.pom |
ac861e0c832b6775c8cc43369d7b4a648ddf64af |
<?xml version="1.0" encoding="UTF-8"?><metadata> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<version>2.0.3-SNAPSHOT</version> | |||||
<versioning> | |||||
<snapshot> | |||||
<localCopy>true</localCopy> | |||||
</snapshot> | |||||
<lastUpdated>20070403120932</lastUpdated> | |||||
</versioning> | |||||
</metadata> |
aa8658e5d84a07979f7cef1f808c24ee maven-source-plugin-2.0.3-SNAPSHOT.jar |
15e81b93607fa54f15cb87e727aaa7303e7338e2 maven-source-plugin-2.0.3-SNAPSHOT.jar |
<?xml version="1.0"?><project> | |||||
<parent> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<version>8</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven Source Plug-In</name> | |||||
<version>2.0.3-SNAPSHOT</version> | |||||
<prerequisites /> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MSOURCES</url> | |||||
</issueManagement> | |||||
<build> | |||||
<plugins> | |||||
<plugin> | |||||
<artifactId>maven-surefire-plugin</artifactId> | |||||
<configuration> | |||||
<excludes> | |||||
<exclude>projects/**</exclude> | |||||
</excludes> | |||||
</configuration> | |||||
</plugin> | |||||
</plugins> | |||||
</build> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-archiver</artifactId> | |||||
<version>1.0-alpha-7</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-container-default</artifactId> | |||||
<version>1.0-alpha-9</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.shared</groupId> | |||||
<artifactId>maven-plugin-testing-harness</artifactId> | |||||
<version>1.0-beta-2-SNAPSHOT</version> | |||||
</dependency> | |||||
</dependencies> | |||||
<distributionManagement> | |||||
<status>deployed</status> | |||||
</distributionManagement> | |||||
</project> |
53e82123995adba7f35561fb511e6e0c maven-source-plugin-2.0.3-SNAPSHOT.pom |
b5ab0c9e3eccf6042b3d00a974acabb9cdeb3ca9 maven-source-plugin-2.0.3-SNAPSHOT.pom |
<?xml version="1.0" encoding="UTF-8"?><metadata> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<version>2.0.4-SNAPSHOT</version> | |||||
<versioning> | |||||
<snapshot> | |||||
<localCopy>true</localCopy> | |||||
</snapshot> | |||||
<lastUpdated>20070427033345</lastUpdated> | |||||
</versioning> | |||||
</metadata> |
232eae2f45bc5b25049c31a58ae67e53 maven-source-plugin-2.0.4-SNAPSHOT.jar |
dae4564b91119a4450cd30364e0b5b9c3fdf8189 maven-source-plugin-2.0.4-SNAPSHOT.jar |
<?xml version="1.0"?><project> | |||||
<parent> | |||||
<artifactId>maven-plugins</artifactId> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<version>8</version> | |||||
</parent> | |||||
<modelVersion>4.0.0</modelVersion> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<packaging>maven-plugin</packaging> | |||||
<name>Maven Source Plug-In</name> | |||||
<version>2.0.4-SNAPSHOT</version> | |||||
<prerequisites /> | |||||
<issueManagement> | |||||
<system>JIRA</system> | |||||
<url>http://jira.codehaus.org/browse/MSOURCES</url> | |||||
</issueManagement> | |||||
<dependencies> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-model</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-artifact</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-plugin-api</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven</groupId> | |||||
<artifactId>maven-project</artifactId> | |||||
<version>2.0</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-archiver</artifactId> | |||||
<version>1.0-alpha-7</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-utils</artifactId> | |||||
<version>1.1</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.codehaus.plexus</groupId> | |||||
<artifactId>plexus-container-default</artifactId> | |||||
<version>1.0-alpha-9</version> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>org.apache.maven.shared</groupId> | |||||
<artifactId>maven-plugin-testing-harness</artifactId> | |||||
<version>1.0-beta-1</version> | |||||
<scope>test</scope> | |||||
</dependency> | |||||
<dependency> | |||||
<groupId>junit</groupId> | |||||
<artifactId>junit</artifactId> | |||||
<version>3.8.1</version> | |||||
<scope>test</scope> | |||||
</dependency> | |||||
</dependencies> | |||||
<distributionManagement> | |||||
<status>deployed</status> | |||||
</distributionManagement> | |||||
</project> |
6d3d45f2bf173ee1472671a805f056a9 maven-source-plugin-2.0.4-SNAPSHOT.pom |
6fb9f0ed8316c560a5a7ef97312838a5e9b103fa maven-source-plugin-2.0.4-SNAPSHOT.pom |
<?xml version="1.0" encoding="UTF-8"?><metadata> | |||||
<groupId>org.apache.maven.plugins</groupId> | |||||
<artifactId>maven-source-plugin</artifactId> | |||||
<version>2.0.3-SNAPSHOT</version> | |||||
<versioning> | |||||
<latest>2.0.4-SNAPSHOT</latest> | |||||
<versions> | |||||
<version>2.0.3-SNAPSHOT</version> | |||||
<version>2.0.4-SNAPSHOT</version> | |||||
</versions> | |||||
<lastUpdated>20070427033345</lastUpdated> | |||||
</versioning> | |||||
</metadata> |