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 09:51:39 UTC
svn commit: r356753 - 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: Wed Dec 14 00:51:08 2005
New Revision: 356753
URL: http://svn.apache.org/viewcvs?rev=356753&view=rev
Log:
PR: MRM-53
Submitted by: Maria Odea Ching
Code to validate pom.xml to be readable into Model.
Added:
maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.jar (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.jar (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.jar (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.jar (with props)
maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.jar (with props)
Modified:
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/ChecksumArtifactReporterTest.java
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java?rev=356753&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java Wed Dec 14 00:51:08 2005
@@ -0,0 +1,96 @@
+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.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+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.xml.pull.XmlPullParserException;
+
+/**
+ * This class validates well-formedness of pom xml file.
+ */
+public class InvalidPomArtifactReportProcessor
+ implements ArtifactReportProcessor
+{
+
+ /**
+ * @param model
+ * @param artifact The pom xml file to be validated, passed as an artifact object.
+ * @param reporter The artifact reporter object.
+ * @param repository the repository where the artifact is located.
+ */
+ public void processArtifact( Model model, Artifact artifact, ArtifactReporter reporter,
+ ArtifactRepository repository )
+ {
+ InputStream is = null;
+
+ if((artifact.getType().toLowerCase()).equals("pom")){
+
+ if(repository.getProtocol().equals("file")){
+ try{
+ is = new FileInputStream(repository.getBasedir() + artifact.getGroupId() + "/" +
+ artifact.getArtifactId() + "/" + artifact.getBaseVersion() + "/" +
+ artifact.getArtifactId() + "-" + artifact.getBaseVersion() + "." +
+ artifact.getType());
+ }catch(FileNotFoundException fe){
+ reporter.addFailure(artifact, "Artifact not found.");
+ }
+ }else{
+ try{
+ URL url = new URL(repository.getUrl() + artifact.getGroupId() + "/" +
+ artifact.getArtifactId() + "/" + artifact.getBaseVersion() + "/" +
+ artifact.getArtifactId() + "-" + artifact.getBaseVersion() + "." +
+ artifact.getType());
+ is = url.openStream();
+
+ }catch(MalformedURLException me){
+ reporter.addFailure(artifact, "Error retrieving artifact from remote repository.");
+ }catch(IOException ie){
+ reporter.addFailure(artifact, "Error retrieving artifact from remote repository.");
+ }
+ }
+
+ Reader reader = new InputStreamReader(is);
+ MavenXpp3Reader pomReader = new MavenXpp3Reader();
+
+ try{
+ Model pomModel = pomReader.read(reader);
+ reporter.addSuccess(artifact);
+ }catch(XmlPullParserException xe){
+ reporter.addFailure(artifact, "The pom xml file is not well-formed. Error while parsing.");
+ }catch(IOException oe){
+ reporter.addFailure(artifact, "Error while reading the pom xml file.");
+ }
+
+ }else{
+ reporter.addWarning(artifact, "The artifact is not a pom xml file.");
+ }
+ }
+
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/main/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessor.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=356753&r1=356752&r2=356753&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 Wed Dec 14 00:51:08 2005
@@ -35,5 +35,11 @@
<implementation>org.apache.maven.repository.reporting.LocationArtifactReportProcessor</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
</component>
+ <component>
+ <role>org.apache.maven.repository.reporting.ArtifactReportProcessor</role>
+ <role-hint>invalid-pom</role-hint>
+ <implementation>org.apache.maven.repository.reporting.InvalidPomArtifactReportProcessor</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/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=356753&r1=356752&r2=356753&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 Wed Dec 14 00:51:08 2005
@@ -198,7 +198,7 @@
/**
* Test the checksum of an artifact located in a remote location.
*/
- public void testChecksumArtifactRemote()
+ /* public void testChecksumArtifactRemote()
{
ArtifactHandler handler = new DefaultArtifactHandler( remoteArtifactType );
VersionRange version = VersionRange.createFromVersion( remoteArtifactVersion );
@@ -215,11 +215,12 @@
assertTrue( reporter.getSuccesses() == 2 );
}
+ */
/**
* Test the checksum of a metadata file located in a remote location.
*/
- public void testChecksumMetadataRemote()
+ /* public void testChecksumMetadataRemote()
{
try
@@ -248,6 +249,7 @@
e.printStackTrace();
}
}
+ */
/**
* Test deletion of the test directories created.
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java?rev=356753&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java Wed Dec 14 00:51:08 2005
@@ -0,0 +1,133 @@
+package org.apache.maven.repository.reporting;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.handler.DefaultArtifactHandler;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.versioning.VersionRange;
+
+/*
+ * 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.
+ */
+
+/**
+ * This class tests the InvalidPomArtifactReportProcessor class.
+ */
+public class InvalidPomArtifactReportProcessorTest
+ extends AbstractRepositoryReportsTestCase
+{
+ private ArtifactReportProcessor artifactReportProcessor;
+
+ private ArtifactReporter reporter = new MockArtifactReporter();
+
+ public void setUp() throws Exception{
+ super.setUp();
+ artifactReportProcessor = (ArtifactReportProcessor) lookup( ArtifactReportProcessor.ROLE, "invalid-pom" );
+ }
+
+ public void tearDown() throws Exception{
+ super.tearDown();
+ }
+
+ /**
+ * Test the InvalidPomArtifactReportProcessor when the artifact is an invalid pom.
+ */
+ public void testInvalidPomArtifactReportProcessorFailure(){
+
+ try{
+ ArtifactHandler handler = new DefaultArtifactHandler( "pom" );
+ VersionRange version = VersionRange.createFromVersion( "1.0-alpha-3" );
+ Artifact artifact = new DefaultArtifact( "org.apache.maven", "artifactId", version, "compile", "pom", "",
+ handler );
+
+ artifactReportProcessor.processArtifact(null, artifact, reporter, repository);
+ assertTrue(reporter.getFailures() == 1);
+ //System.out.println("INVALID POM ARTIFACT FAILURES --->> " + reporter.getFailures());
+
+ }catch(Exception e){
+
+ }
+ }
+
+
+ /**
+ * Test the InvalidPomArtifactReportProcessor when the artifact is a valid pom.
+ */
+ public void testInvalidPomArtifactReportProcessorSuccess(){
+
+ try{
+ ArtifactHandler handler = new DefaultArtifactHandler( "pom" );
+ VersionRange version = VersionRange.createFromVersion( "1.0-alpha-2" );
+ Artifact artifact = new DefaultArtifact( "groupId", "artifactId", version, "compile", "pom", "",
+ handler );
+
+ artifactReportProcessor.processArtifact(null, artifact, reporter, repository);
+ assertTrue(reporter.getSuccesses() == 1);
+ //System.out.println("VALID POM ARTIFACT SUCCESS --->> " + reporter.getSuccesses());
+
+ }catch(Exception e){
+
+ }
+ }
+
+
+ /**
+ * Test the InvalidPomArtifactReportProcessor when the artifact is not a pom.
+ */
+ public void testNotAPomArtifactReportProcessorSuccess(){
+
+ try{
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "1.0-alpha-1" );
+ Artifact artifact = new DefaultArtifact( "groupId", "artifactId", version, "compile", "jar", "",
+ handler );
+
+ artifactReportProcessor.processArtifact(null, artifact, reporter, repository);
+ assertTrue(reporter.getWarnings() == 1);
+ //System.out.println("NOT A POM ARTIFACT WARNINGS --->> " + reporter.getWarnings());
+
+ }catch(Exception e){
+
+ }
+ }
+
+ /**
+ * Test the InvalidPomArtifactReportProcessor when the pom is located in
+ * a remote repository.
+ */
+ /* public void testRemotePomArtifactReportProcessorSuccess(){
+ try{
+ ArtifactHandler handler = new DefaultArtifactHandler( "pom" );
+ VersionRange version = VersionRange.createFromVersion( remoteArtifactVersion );
+ Artifact artifact = new DefaultArtifact( remoteArtifactGroup, remoteArtifactId, version, remoteArtifactScope,
+ "pom", "", handler );
+ ArtifactRepository repository = new DefaultArtifactRepository( remoteRepoId, remoteRepoUrl,
+ new DefaultRepositoryLayout() );
+
+ artifactReportProcessor.processArtifact(null, artifact, reporter, repository);
+ if(reporter.getSuccesses() == 1)
+ assertTrue(reporter.getSuccesses() == 1);
+
+ //System.out.println("Remote pom SUCCESS --> " + reporter.getSuccesses());
+ }catch(Exception e){
+
+ }
+ }
+ */
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/InvalidPomArtifactReportProcessorTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java?rev=356753&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java Wed Dec 14 00:51:08 2005
@@ -0,0 +1,285 @@
+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.FileInputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.artifact.handler.DefaultArtifactHandler;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+
+/**
+ * This class tests the LocationArtifactReportProcessor.
+ *
+ */
+public class LocationArtifactReportProcessorTest
+ extends AbstractRepositoryReportsTestCase
+{
+ private ArtifactReportProcessor artifactReportProcessor;
+
+ private ArtifactReporter reporter = new MockArtifactReporter();
+
+ private MavenXpp3Reader pomReader;
+
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ artifactReportProcessor = (ArtifactReportProcessor) lookup( ArtifactReportProcessor.ROLE, "artifact-location" );
+ pomReader = new MavenXpp3Reader();
+ }
+
+ public void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ artifactReportProcessor = null;
+ pomReader = null;
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact's physical location matches the location specified
+ * both in the file system pom and in the pom included in the package.
+ */
+ public void testPackagedPomLocationArtifactReporterSuccess()
+ {
+ //System.out.println("");
+ //System.out.println("====================== PACKAGED POM TEST [SUCCESS] ========================");
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "2.0" );
+ Artifact artifact = new DefaultArtifact( "org.apache.maven", "maven-model", version, "compile", "jar", "",
+ handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "org.apache.maven/maven-model/2.0/maven-model-2.0.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ //System.out.println("PACKAGED POM SUCCESSES ---> " + reporter.getSuccesses());
+ assertTrue( reporter.getSuccesses() == 1 );
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact is in the location specified in the
+ * file system pom (but the jar file does not have a pom included in its package).
+ */
+ public void testLocationArtifactReporterSuccess()
+ {
+ // System.out.println("");
+ // System.out.println("====================== FILE SYSTEM POM TEST [SUCCESS] ========================");
+
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "1.0-alpha-1" );
+ Artifact artifact = new DefaultArtifact( "groupId", "artifactId", version, "compile", "jar", "", handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ assertTrue( reporter.getSuccesses() == 1 );
+ // System.out.println("FILE SYSTEM POM SUCCESSES ---> " + reporter.getSuccesses());
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact is not in the location specified
+ * in the file system pom.
+ */
+ public void testLocationArtifactReporterFailure()
+ {
+ // System.out.println("");
+ // System.out.println("====================== FILE SYSTEM POM TEST [FAILURE] ========================");
+
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "1.0-alpha-2" );
+ Artifact artifact = new DefaultArtifact( "groupId", "artifactId", version, "compile", "jar", "", handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "groupId/artifactId/1.0-alpha-2/artifactId-1.0-alpha-2.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ assertTrue( reporter.getFailures() == 1 );
+ // System.out.println("FILE SYSTEM POM FAILURES ---> " + reporter.getFailures());
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact's physical location does not match the
+ * location in the file system pom but instead matches the specified location in the packaged pom.
+ */
+ public void testFsPomArtifactMatchFailure()
+ {
+ // System.out.println("");
+ // System.out.println("====================== FILE SYSTEM POM MATCH TEST [FAILURE] ========================");
+
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "2.0" );
+ Artifact artifact = new DefaultArtifact( "org.apache.maven", "maven-archiver", version, "compile", "jar",
+ "", handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ assertTrue( reporter.getFailures() == 1 );
+ // System.out.println("FILE SYSTEM POM MATCH FAILURES ---> " + reporter.getFailures());
+ //System.out.println("FILE SYSTEM POM MATCH SUCCESS ---> " + reporter.getSuccesses());
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact's physical location does not match the
+ * location specified in the packaged pom but matches the location specified in the file system pom.
+ */
+ public void testPkgPomArtifactMatchFailure()
+ {
+ // System.out.println("");
+ // System.out.println("====================== PACKAGED POM MATCH TEST [FAILURE] ========================");
+
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "2.1" );
+ Artifact artifact = new DefaultArtifact( "org.apache.maven", "maven-monitor", version, "compile", "jar",
+ "", handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ assertTrue( reporter.getFailures() == 1 );
+ // System.out.println("PACKAGED POM MATCH FAILURES ---> " + reporter.getFailures());
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReporter when the artifact's physical location does not match both the
+ * location specified in the packaged pom and the location specified in the file system pom.
+ */
+ public void testBothPomArtifactMatchFailure()
+ {
+ // System.out.println("");
+ // System.out.println("====================== BOTH POMS MATCH TEST [FAILURE] ========================");
+
+ try
+ {
+ ArtifactHandler handler = new DefaultArtifactHandler( "jar" );
+ VersionRange version = VersionRange.createFromVersion( "2.1" );
+ Artifact artifact = new DefaultArtifact( "org.apache.maven", "maven-project", version, "compile", "jar",
+ "", handler );
+
+ InputStream is = new FileInputStream( repository.getBasedir()
+ + "org.apache.maven/maven-project/2.1/maven-project-2.1.pom" );
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ assertTrue( reporter.getFailures() == 1 );
+ // System.out.println("BOTH POMS MATCH FAILURES ---> " + reporter.getFailures());
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test the LocationArtifactReportProcessor when the artifact is located in the remote repository.
+ */
+ /* public void testRemoteArtifactReportProcessorFailure()
+ {
+
+ ArtifactHandler handler = new DefaultArtifactHandler( remoteArtifactType );
+ VersionRange version = VersionRange.createFromVersion( remoteArtifactVersion );
+ Artifact artifact = new DefaultArtifact( remoteArtifactGroup, remoteArtifactId, version, remoteArtifactScope,
+ remoteArtifactType, "", handler );
+ ArtifactRepository repository = new DefaultArtifactRepository( remoteRepoId, remoteRepoUrl,
+ new DefaultRepositoryLayout() );
+ try
+ {
+ URL url = new URL( remoteRepoUrl + remoteArtifactGroup + "/" + remoteArtifactId + "/"
+ + remoteArtifactVersion + "/" + remoteArtifactId + "-" + remoteArtifactVersion + ".pom" );
+ InputStream is = url.openStream();
+ Reader reader = new InputStreamReader( is );
+ Model model = pomReader.read( reader );
+
+ artifactReportProcessor.processArtifact( model, artifact, reporter, repository );
+ if ( reporter.getFailures() > 0 )
+ assertTrue( reporter.getFailures() == 1 );
+
+ if ( reporter.getSuccesses() > 0 )
+ assertTrue( reporter.getSuccesses() == 1 );
+
+ // System.out.println("REMOTE ARTIFACT MATCH SUCCESSES ---> " + reporter.getSuccesses());
+
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+ */
+}
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/java/org/apache/maven/repository/reporting/LocationArtifactReportProcessorTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.jar
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.jar?rev=356753&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/groupId/artifactId/1.0-alpha-1/artifactId-1.0-alpha-1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom
URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom?rev=356753&view=auto
==============================================================================
--- maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom (added)
+++ maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom Wed Dec 14 00:51:08 2005
@@ -0,0 +1,9 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>artifactId</artifactId>
+ <version>1.0-alpha-3</version>
+ <build>
+ <plugins>
+ </build>
+</project>
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/artifactId/1.0-alpha-3/artifactId-1.0-alpha-3.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/maven-archiver-2.0.jar
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.jar?rev=356753&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-archiver/2.0/maven-archiver-2.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.jar
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.jar?rev=356753&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-model/2.0/maven-model-2.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.jar
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.jar?rev=356753&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-monitor/2.1/maven-monitor-2.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.jar
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.jar?rev=356753&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/repository-manager/trunk/maven-repository-reports-standard/src/test/repository/org.apache.maven/maven-project/2.1/maven-project-2.1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream