You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ep...@apache.org on 2005/12/14 00:55:55 UTC
svn commit: r356653 - in
/maven/repository-manager/trunk/maven-repository-reports-standard/src:
main/java/org/apache/maven/repository/reporting/
main/resources/META-INF/plexus/
test/java/org/apache/maven/repository/reporting/
test/repository/groupId/ar...
Author: epunzalan
Date: Tue Dec 13 15:55:33 2005
New Revision: 356653
URL: http://svn.apache.org/viewcvs?rev=356653&view=rev
Log:
PR: MRM-6
Submitted by: Maria Odea Ching
Validation of artifact physical location against its pom and the pom inside its package
Added:
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt (with props)
Modified:
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/ChecksumArtifactReporter.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/resources/META-INF/plexus/components.xml
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryReportsTestCase.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ChecksumArtifactReporterTest.java
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/ChecksumArtifactReporter.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/ChecksumArtifactReporter.java?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/ChecksumArtifactReporter.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/ChecksumArtifactReporter.java Tue Dec 13 15:55:33 2005
@@ -129,12 +129,12 @@
if ( !repository.getProtocol().equals( "file" ) )
{
isLocal = false;
- repositoryUrl = repository.getUrl();
+ repositoryUrl = repository.getUrl() + "/";
filename = metadata.getRemoteFilename();
}
else
{
- repositoryUrl = repository.getBasedir();
+ repositoryUrl = repository.getBasedir() + "/";
filename = metadata.getLocalFilename( repository );
}
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java Tue Dec 13 15:55:33 2005
@@ -0,0 +1,276 @@
+package org.apache.maven.repository.reporting;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.codehaus.plexus.util.FileUtils;
+
+/**
+ * Validate the location of the artifact based on the values indicated
+ * in its pom (both the pom packaged with the artifact & the pom in the
+ * file system).
+ */
+public class LocationArtifactReportProcessor
+ implements ArtifactReportProcessor
+{
+ private boolean isLocal = true;
+
+ private InputStream is;
+
+ /**
+ * Check whether the artifact is in its proper location. The location of the artifact
+ * is validated first against the groupId, artifactId and versionId in the specified model
+ * object (pom in the file system). Then unpack the artifact (jar file) and get the model (pom)
+ * included in the package. If a model exists inside the package, then check if the artifact's
+ * location is valid based on the location specified in the pom. Check if the both the location
+ * specified in the file system pom and in the pom included in the package is the same.
+ *
+ * @param model Represents the pom in the file system.
+ * @param artifact
+ * @param reporter
+ * @param repository
+ */
+ public void processArtifact( Model model, Artifact artifact, ArtifactReporter reporter,
+ ArtifactRepository repository )
+ {
+ boolean fsPomLocation = false, pkgPomLocation = false;
+ String repositoryUrl = "", modelArtifactLocation = "";
+
+ if ( !repository.getProtocol().equals( "file" ) )
+ {
+ isLocal = false;
+ repositoryUrl = repository.getUrl();
+ }
+ else
+ {
+ repositoryUrl = repository.getBasedir();
+ }
+
+ //check if the artifact is located in its proper location based on the info
+ //specified in the model object/pom
+ modelArtifactLocation = repositoryUrl + model.getGroupId() + "/" + model.getArtifactId() + "/"
+ + model.getVersion() + "/" + model.getArtifactId() + "-" + model.getVersion() + "." + model.getPackaging();
+ fsPomLocation = validateArtifactLocation( modelArtifactLocation );
+
+ //get the location of the artifact itself
+ String artifactLocation = repositoryUrl + artifact.getGroupId() + "/" + artifact.getArtifactId() + "/"
+ + artifact.getVersion() + "/" + artifact.getArtifactId() + "-" + artifact.getVersion() + "."
+ + artifact.getType();
+
+ //unpack the artifact (using the groupId, artifactId & version specified in the artifact object itself
+ //check if the pom is included in the package
+ Model extractedModel = unpackArtifact( artifactLocation, artifact.getGroupId(), artifact.getArtifactId(),
+ artifact.getVersion() );
+
+ if ( extractedModel != null )
+ {
+
+ String pkgPomArtifactLocation = repositoryUrl + extractedModel.getGroupId() + "/"
+ + extractedModel.getArtifactId() + "/" + extractedModel.getVersion() + "/"
+ + extractedModel.getArtifactId() + "-" + extractedModel.getVersion() + "."
+ + extractedModel.getPackaging();
+ pkgPomLocation = validateArtifactLocation( pkgPomArtifactLocation );
+
+ //check the conditions
+ if ( fsPomLocation == true && pkgPomLocation == true )
+ {
+ reporter.addSuccess( artifact );
+
+ }
+ else if ( fsPomLocation == false && pkgPomLocation == true )
+ {
+ reporter
+ .addFailure( artifact,
+ "The artifact is out of place. It does not match the specified location in the file system pom." );
+
+ }
+ else if ( fsPomLocation == true && pkgPomLocation == false )
+ {
+ reporter
+ .addFailure( artifact,
+ "The artifact is out of place. It does not match the specified location in the packaged pom." );
+
+ }
+ else if ( fsPomLocation == false && pkgPomLocation == false )
+ {
+ reporter.addFailure( artifact, "The artifact is out of place." );
+ }
+
+ }
+ else
+ {
+
+ if ( fsPomLocation )
+ {
+ reporter.addSuccess( artifact );
+
+ }
+ else
+ {
+ reporter.addFailure( artifact, "The artifact is out of place." );
+ }
+ }
+ }
+
+ /**
+ * Validate the if the artifact exists in the specified location.
+ *
+ * @param filename
+ * @return
+ */
+ private boolean validateArtifactLocation( String filename )
+ {
+ try
+ {
+ if ( isLocal )
+ {
+ is = new FileInputStream( filename );
+ }
+ else
+ {
+ URL url = new URL( filename );
+ is = url.openStream();
+ }
+
+ is.close();
+ }
+ catch ( Exception e )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Extract the contents of the artifact/jar file.
+ *
+ * @param filename
+ * @param groupId
+ * @param artifactId
+ * @param version
+ */
+ private Model unpackArtifact( String filename, String groupId, String artifactId, String version )
+ {
+ String basedir = "";
+ Model modelObj = null;
+
+ basedir = System.getProperty( "basedir" );
+ File f = new File( basedir + "/" + "temp" );
+ boolean b = f.mkdirs();
+
+ try
+ {
+ JarFile jar = new JarFile( filename );
+
+ try
+ {
+ //Get the entry and its input stream.
+ JarEntry entry = jar.getJarEntry( "META-INF/maven/" + groupId + "/" + artifactId + "/pom.xml" );
+
+ // If the entry is not null, extract it.
+ if ( entry != null )
+ {
+ InputStream entryStream = jar.getInputStream( entry );
+
+ try
+ {
+
+ //Create the output file (clobbering the file if it exists).
+ FileOutputStream file = new FileOutputStream( basedir + "/temp/pom.xml" );
+
+ try
+ {
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+
+ while ( ( bytesRead = entryStream.read( buffer ) ) != -1 )
+ {
+ file.write( buffer, 0, bytesRead );
+ }
+
+ }
+ finally
+ {
+ file.close();
+ }
+ InputStream inputStream = new FileInputStream( basedir + "/temp/pom.xml" );
+ Reader isReader = new InputStreamReader( inputStream );
+
+ try
+ {
+ MavenXpp3Reader pomReader = new MavenXpp3Reader();
+ modelObj = pomReader.read( isReader );
+ }
+ finally
+ {
+ isReader.close();
+ inputStream.close();
+ }
+
+ }
+ finally
+ {
+ entryStream.close();
+ }
+ }
+ else
+ {
+ return modelObj;
+ }
+
+ }
+ finally
+ {
+ jar.close();
+ }
+
+ }
+ catch ( Exception e )
+ {
+ return modelObj;
+
+ }
+ finally
+ {
+ try
+ {
+ FileUtils.deleteDirectory( new File( basedir + "/temp" ) );
+ }
+ catch ( IOException ie )
+ {
+ return modelObj;
+ }
+ }
+ return modelObj;
+ }
+
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessor.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/resources/META-INF/plexus/components.xml?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/resources/META-INF/plexus/components.xml Tue Dec 13 15:55:33 2005
@@ -19,7 +19,7 @@
</component>
<component>
<role>org.apache.maven.repository.reporting.ArtifactReportProcessor</role>
- <role-hint>default</role-hint>
+ <role-hint>checksum</role-hint>
<implementation>org.apache.maven.repository.reporting.ChecksumArtifactReporter</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
</component>
@@ -29,5 +29,11 @@
<implementation>org.apache.maven.repository.reporting.ChecksumArtifactReporter</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
</component>
+ <component>
+ <role>org.apache.maven.repository.reporting.ArtifactReportProcessor</role>
+ <role-hint>artifact-location</role-hint>
+ <implementation>org.apache.maven.repository.reporting.LocationArtifactReportProcessor</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ </component>
</components>
</component-set>
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryReportsTestCase.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryReportsTestCase.java?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryReportsTestCase.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/AbstractRepositoryReportsTestCase.java Tue Dec 13 15:55:33 2005
@@ -35,6 +35,20 @@
*/
protected ArtifactRepository repository;
+ protected static final String remoteRepoUrl = "http://public.planetmirror.com/pub/maven2/";
+
+ protected static final String remoteArtifactGroup = "HTTPClient";
+
+ protected static final String remoteArtifactId = "HTTPClient";
+
+ protected static final String remoteArtifactVersion = "0.3-3";
+
+ protected static final String remoteArtifactScope = "compile";
+
+ protected static final String remoteArtifactType = "jar";
+
+ protected static final String remoteRepoId = "remote-repo";
+
protected void setUp()
throws Exception
{
@@ -45,7 +59,7 @@
ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
repository =
- factory.createArtifactRepository( "test", repositoryDirectory.toURL().toString(), layout, null, null );
+ factory.createArtifactRepository( "repository", repositoryDirectory.toURL().toString(), layout, null, null );
}
}
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ChecksumArtifactReporterTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ChecksumArtifactReporterTest.java?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ChecksumArtifactReporterTest.java (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/ChecksumArtifactReporterTest.java Tue Dec 13 15:55:33 2005
@@ -45,20 +45,6 @@
private MetadataReportProcessor metadataReportProcessor;
- private static final String remoteRepoUrl = "http://public.planetmirror.com/pub/maven2/";
-
- private static final String remoteArtifactGroup = "HTTPClient";
-
- private static final String remoteArtifactId = "HTTPClient";
-
- private static final String remoteArtifactVersion = "0.3-3";
-
- private static final String remoteArtifactScope = "compile";
-
- private static final String remoteArtifactType = "jar";
-
- private static final String remoteRepoId = "remote-repo";
-
public ChecksumArtifactReporterTest()
{
@@ -68,7 +54,7 @@
throws Exception
{
super.setUp();
- artifactReportProcessor = (ArtifactReportProcessor) lookup( ArtifactReportProcessor.ROLE, "default" );
+ artifactReportProcessor = (ArtifactReportProcessor) lookup( ArtifactReportProcessor.ROLE, "checksum" );
metadataReportProcessor = (MetadataReportProcessor) lookup( MetadataReportProcessor.ROLE, "checksum-metadata" );
}
@@ -107,18 +93,10 @@
VersionRange version = VersionRange.createFromVersion( "1.0" );
Artifact artifact = new DefaultArtifact( "checksumTest", "validArtifact", version, "compile", "jar", "",
handler );
- ArtifactRepository repository = new DefaultArtifactRepository( "repository", "file:/"
- + System.getProperty( "basedir" ) + "/src/test/repository/", new DefaultRepositoryLayout() );
artifactReportProcessor.processArtifact( null, artifact, reporter, repository );
- Iterator iter = reporter.getArtifactSuccessIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- ArtifactResult result = (ArtifactResult) iter.next();
- ctr++;
- }
- //System.out.println( "ARTIFACT Number of success --- " + ctr );
+ assertTrue( reporter.getSuccesses() == 2 );
+ //System.out.println( "1 - SUCCESS ---> " + reporter.getSuccesses() );
}
catch ( Exception e )
@@ -139,20 +117,10 @@
VersionRange version = VersionRange.createFromVersion( "1.0" );
Artifact artifact = new DefaultArtifact( "checksumTest", "invalidArtifact", version, "compile", "jar", "",
handler );
- ArtifactRepository repository = new DefaultArtifactRepository( "repository", "file:/"
- + System.getProperty( "basedir" ) + "/src/test/repository/", new DefaultRepositoryLayout() );
artifactReportProcessor.processArtifact( null, artifact, reporter, repository );
-
- Iterator iter = reporter.getArtifactFailureIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- ArtifactResult result = (ArtifactResult) iter.next();
- ctr++;
- }
- //System.out.println( "ARTIFACT Number of failures --- " + ctr );
-
+ assertTrue( reporter.getFailures() == 2 );
+ //System.out.println( "2 - FAILURES ---> " + reporter.getFailures() );
}
catch ( Exception e )
{
@@ -170,34 +138,26 @@
try
{
ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
- ArtifactRepository repository = new DefaultArtifactRepository( "repository", "file:/"
- + System.getProperty( "basedir" ) + "/src/test/repository/", new DefaultRepositoryLayout() );
VersionRange version = VersionRange.createFromVersion( "1.0" );
Artifact artifact = new DefaultArtifact( "checksumTest", "validArtifact", version, "compile", "jar", "",
handler );
- //Version level metadata
+ //Version level metadata
RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
- metadataReportProcessor.processMetadata( metadata, repository, reporter );
-
- //Artifact level metadata
+ metadataReportProcessor.processMetadata( metadata, repository, reporter );
+
+ //Artifact level metadata
metadata = new ArtifactRepositoryMetadata( artifact );
metadataReportProcessor.processMetadata( metadata, repository, reporter );
-
-
- //Group level metadata
- metadata = new GroupRepositoryMetadata( "checksumTest" );
+ //Group level metadata
+ metadata = new GroupRepositoryMetadata( "checksumTest" );
metadataReportProcessor.processMetadata( metadata, repository, reporter );
+
Iterator iter = reporter.getRepositoryMetadataSuccessIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- RepositoryMetadataResult result = (RepositoryMetadataResult) iter.next();
- ctr++;
- }
- //System.out.println( "METADATA Number of success --- " + ctr );
-
+ //System.out.println( "3 - META SUCCESS ---> " + iter.hasNext() );
+ assertTrue( "check if there is a success", iter.hasNext() );
+
}
catch ( Exception e )
{
@@ -215,8 +175,6 @@
try
{
ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
- ArtifactRepository repository = new DefaultArtifactRepository( "repository", "file:/"
- + System.getProperty( "basedir" ) + "/src/test/repository/", new DefaultRepositoryLayout() );
VersionRange version = VersionRange.createFromVersion( "1.0" );
Artifact artifact = new DefaultArtifact( "checksumTest", "invalidArtifact", version, "compile", "jar", "",
handler );
@@ -224,14 +182,11 @@
RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
metadataReportProcessor.processMetadata( metadata, repository, reporter );
+ //System.out.println("reporter.getFailures() ---> " + reporter.getFailures());
+
Iterator iter = reporter.getRepositoryMetadataFailureIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- RepositoryMetadataResult result = (RepositoryMetadataResult) iter.next();
- ctr++;
- }
- //System.out.println( "METADATA Number of failures --- " + ctr );
+ //System.out.println( "4 - META FAILURE ---> " + iter.hasNext() );
+ assertTrue( "check if there is a failure", iter.hasNext() );
}
catch ( Exception e )
@@ -253,14 +208,12 @@
new DefaultRepositoryLayout() );
artifactReportProcessor.processArtifact( null, artifact, reporter, repository );
- Iterator iter = reporter.getArtifactSuccessIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- ArtifactResult result = (ArtifactResult) iter.next();
- ctr++;
- }
- //System.out.println( "[REMOTE] ARTIFACT Number of success --- " + ctr );
+ if ( reporter.getFailures() == 2 )
+ assertTrue( reporter.getFailures() == 2 );
+
+ if ( reporter.getSuccesses() == 2 )
+ assertTrue( reporter.getSuccesses() == 2 );
+
}
/**
@@ -277,19 +230,18 @@
remoteArtifactScope, remoteArtifactType, "", handler );
ArtifactRepository repository = new DefaultArtifactRepository( remoteRepoId, remoteRepoUrl,
new DefaultRepositoryLayout() );
-
+
RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
metadataReportProcessor.processMetadata( metadata, repository, reporter );
Iterator iter = reporter.getRepositoryMetadataFailureIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- RepositoryMetadataResult result = (RepositoryMetadataResult) iter.next();
- ctr++;
- }
- //System.out.println( "[REMOTE] METADATA in version directory, Number of sucess --- " + ctr );
-
+ if ( iter.hasNext() )
+ assertTrue( "check if there is a failure", iter.hasNext() );
+
+ iter = reporter.getRepositoryMetadataSuccessIterator();
+ if ( iter.hasNext() )
+ assertTrue( "check if there is a success", iter.hasNext() );
+
}
catch ( Exception e )
{
@@ -302,63 +254,50 @@
*/
public void testDeleteChecksumFiles()
{
- //System.out.println("TESTDELETE CHECKSUM FILES....." + deleteChecksumFiles("jar"));
-
- assertTrue( deleteChecksumFiles("jar"));
+ assertTrue( deleteChecksumFiles( "jar" ) );
}
-
+
/**
* Test deletion of the test directories created.
*/
public void testDeleteTestDirectory()
- {
+ {
assertTrue( deleteTestDirectory( new File( repository.getBasedir() + "checksumTest" ) ) );
}
/**
* Test the conditional when the checksum files of the artifact & metadata do not exist.
*/
- public void testChecksumFilesDoNotExist(){
- createChecksumFile("VALID");
- createMetadataFile("VALID");
- boolean b = deleteChecksumFiles("jar");
-
+ public void testChecksumFilesDoNotExist()
+ {
+ createChecksumFile( "VALID" );
+ createMetadataFile( "VALID" );
+ boolean b = deleteChecksumFiles( "jar" );
+
try
{
ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
VersionRange version = VersionRange.createFromVersion( "1.0" );
Artifact artifact = new DefaultArtifact( "checksumTest", "validArtifact", version, "compile", "jar", "",
handler );
- ArtifactRepository repository = new DefaultArtifactRepository( "repository", "file:/"
- + System.getProperty( "basedir" ) + "/src/test/repository/", new DefaultRepositoryLayout() );
artifactReportProcessor.processArtifact( null, artifact, reporter, repository );
- Iterator iter = reporter.getArtifactFailureIterator();
- int ctr = 0;
- while ( iter.hasNext() )
- {
- ArtifactResult result = (ArtifactResult) iter.next();
- ctr++;
- }
- //System.out.println( "[FILE DOES NOT EXIST] ARTIFACT Number of failures --- " + ctr );
-
+ //System.out.println( "5 - ART FAILURE ---> " + reporter.getFailures() );
+ assertTrue( reporter.getFailures() == 2 );
+
RepositoryMetadata metadata = new SnapshotArtifactRepositoryMetadata( artifact );
metadataReportProcessor.processMetadata( metadata, repository, reporter );
- iter = reporter.getRepositoryMetadataFailureIterator();
- ctr = 0;
- while ( iter.hasNext() )
- {
- RepositoryMetadataResult result = (RepositoryMetadataResult) iter.next();
- ctr++;
- }
- //System.out.println( "[FILE DOES NOT EXIST] METADATA Number of failures --- " + ctr );
+ Iterator iter = reporter.getRepositoryMetadataFailureIterator();
+ //System.out.println( "5 - META FAILURE ---> " + iter.hasNext() );
+ assertTrue( "check if there is a failure", iter.hasNext() );
+
}
catch ( Exception e )
{
e.printStackTrace();
- }
-
+ }
+
b = deleteTestDirectory( new File( repository.getBasedir() + "checksumTest" ) );
}
}
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-alpha-1</version>
+</project>
Modified: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom?rev=356653&r1=356652&r2=356653&view=diff
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom (original)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>groupId</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-alpha-2</version>
+</project>
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,31 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-archiver</artifactId>
+ <name>Maven Archiver</name>
+ <version>2.1</version>
+ <dependencies>
+ <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-3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt Tue Dec 13 15:55:33 2005
@@ -0,0 +1,4 @@
+- The artifact location does not match the location specified in the file system, but
+ matches the location specified in the pom included in the package.
+- The groupId, artifactId and version of the pom in the file system does not match
+ the groupId, artifactId and version of the pom included in the package.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/note.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,86 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <name>Maven Model</name>
+ <version>2.0</version>
+ <description>Maven Model</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>4.0.0</version>
+ <model>maven.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>all-models</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>v3</id>
+ <goals>
+ <goal>xpp3-writer</goal>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <version>3.0.0</version>
+ <packageWithVersion>true</packageWithVersion>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>all</classifier>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt Tue Dec 13 15:55:33 2005
@@ -0,0 +1,3 @@
+- The artifact is located in the proper location.
+- The groupId, artifactId and version of the pom in the file system matches
+ the groupId, artifactId and version of the pom included in the package.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/note.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,15 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.1</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-monitor</artifactId>
+ <name>Maven Monitor</name>
+ <version>2.1</version>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt Tue Dec 13 15:55:33 2005
@@ -0,0 +1,4 @@
+- The artifact location matches the location specified in the file system, but
+ does not match the location specified in the pom included in the package.
+- The groupId, artifactId and version of the pom in the file system does not match
+ the groupId, artifactId and version of the pom included in the package.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/note.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom Tue Dec 13 15:55:33 2005
@@ -0,0 +1,52 @@
+<project>
+ <parent>
+ <artifactId>maven</artifactId>
+ <groupId>org.apache.maven</groupId>
+ <version>2.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-project</artifactId>
+ <name>Maven Project Builder</name>
+ <version>2.0</version>
+ <description>This library is used to not only read Maven project object model files, but to assemble inheritence
+ and to retrieve remote models as required.</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-test</artifactId>
+ <version>2.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </dependency>
+ </dependencies>
+ <distributionManagement>
+ <status>deployed</status>
+ </distributionManagement>
+</project>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt?rev=356653&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt Tue Dec 13 15:55:33 2005
@@ -0,0 +1,4 @@
+- The artifact location does not match both the location specified in the file system pom
+ and in the pom included in the package.
+- The groupId, artifactId and version of the pom in the file system does not match
+ the groupId, artifactId and version of the pom included in the package.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/note.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"