confirmed. when I tried to run archiva on top of the central repo, I
got to exactly same place. I deleted the backport, another jar like
that appeared.
I solved the problem by using my mevenide UI frontend where I catched
the InvalidArtifactRTException and recovered gracefully by kicking out
the faulty jar artifact.

Milos

On 11/30/06, Joakim Erdfelt <[EMAIL PROTECTED]> wrote:
The fact that we tie together the discovery, indexing, and reporting is how.
We shouldn't have done that.

This tree triggers the IllegalStateException -
http://repo1.maven.org/maven2/backport175/backport175-intellij/

edu.emory.mathcs.backport.java.util.concurrent.ExecutionException:
java.lang.IllegalStateException: Couldn't find artifact
/home/repo1/ibiblio/backport175/backport175-intellij/1.0/backport175-intellij-1.0.zip
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299)
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118)
        at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
        at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
Caused by: java.lang.IllegalStateException: Couldn't find artifact
/home/repo1/ibiblio/backport175/backport175-intellij/1.0/backport175-intellij-1.0.zip
        at
org.apache.maven.archiva.reporting.LocationArtifactReportProcessor.processArtifact(LocationArtifactReportProcessor.java:143)
        at
org.apache.maven.archiva.reporting.AbstractReportGroup.processArtifact(AbstractReportGroup.java:53)
        at
org.apache.maven.archiva.reporting.DefaultReportExecutor.runArtifactReports(DefaultReportExecutor.java:126)
        at
org.apache.maven.archiva.scheduler.executors.IndexerTaskExecutor.execute(IndexerTaskExecutor.java:242)

This tree triggers the InvalidArtifactRTException -
http://repo1.maven.org/maven2/berkano/
edu.emory.mathcs.backport.java.util.concurrent.ExecutionException:
org.apache.maven.artifact.InvalidArtifactRTException: For artifact
{null:berkano-bookmarks:${berkanoVersion}:jar}: The groupId cannot be empty.
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:299)
        at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:118)
        at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
        at
org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
Caused by: org.apache.maven.artifact.InvalidArtifactRTException: For
artifact {null:berkano-bookmarks:${berkanoVersion}:jar}: The groupId
cannot be empty.
        at
org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArtifact.java:126)
        at
org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:119)
        at
org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifact(DefaultArtifactFactory.java:155)
        at
org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifact(DefaultArtifactFactory.java:114)
        at
org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifact(DefaultArtifactFactory.java:108)

- Joakim Erdfelt

Brett Porter wrote:
> All of these are meant to indicate programming errors - the RT
> exceptions should be guarded by checking the validity of the POM used
> to create the artifacts. As for the illegalstateexception - how is the
> reports module getting handed a file that doesn't exist to report on?
>
> - Brett
>
> On 30/11/2006, at 2:32 PM, [EMAIL PROTECTED] wrote:
>
>> Author: joakime
>> Date: Wed Nov 29 19:32:08 2006
>> New Revision: 480817
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=480817
>> Log:
>> * Correcting LocationArtifactReportProcessor to not throw
>> IllegalStateException as it halts the discovery and indexing.
>> * Catching InvalidArtifactRTException in DefaultReportExecutor to
>> allow discovery and indexing to proceed to next artifact unhindered.
>> * Catching InvalidArtifactRTException in
>> StandardArtifactIndexRecordFactory to allow discovery and indexeing
>> to proceed to next artifact unhindered.
>>
>>
>> Modified:
>>
>> 
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
>>
>>
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportExecutor.java
>>
>>
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessor.java
>>
>>
>> 
maven/archiva/trunk/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessorTest.java
>>
>>
>> Modified:
>> 
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
>>
>> URL:
>> 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java?view=diff&rev=480817&r1=480816&r2=480817
>>
>> 
==============================================================================
>>
>> ---
>> 
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
>> (original)
>> +++
>> 
maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/record/StandardArtifactIndexRecordFactory.java
>> Wed Nov 29 19:32:08 2006
>> @@ -18,6 +18,7 @@
>>
>>  import org.apache.maven.archiva.indexer.RepositoryIndexException;
>>  import org.apache.maven.artifact.Artifact;
>> +import org.apache.maven.artifact.InvalidArtifactRTException;
>>  import org.apache.maven.artifact.factory.ArtifactFactory;
>>  import org.apache.maven.artifact.repository.ArtifactRepository;
>>  import org.apache.maven.model.Dependency;
>> @@ -251,8 +252,17 @@
>>      {
>>          // TODO: this can create a -SNAPSHOT.pom when it didn't
>> exist and a timestamped one did. This is harmless, but should be avoided
>>          // TODO: will this pollute with local repo metadata?
>> -        MavenProject project = projectBuilder.buildFromRepository(
>> artifact, Collections.EMPTY_LIST, repository );
>> -        return project.getModel();
>> +
>> +        try
>> +        {
>> +            MavenProject project =
>> projectBuilder.buildFromRepository( artifact, Collections.EMPTY_LIST,
>> repository );
>> +            return project.getModel();
>> +        }
>> +        catch ( InvalidArtifactRTException e )
>> +        {
>> +            throw new ProjectBuildingException( artifact.getId(),
>> "Unable to build project from invalid artifact ["
>> +                + artifact + "]", e );
>> +        }
>>      }
>>
>>      private void populateArchiveEntries( List files,
>> StandardArtifactIndexRecord record, File artifactFile )
>>
>> Modified:
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportExecutor.java
>>
>> URL:
>> 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportExecutor.java?view=diff&rev=480817&r1=480816&r2=480817
>>
>> 
==============================================================================
>>
>> ---
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportExecutor.java
>> (original)
>> +++
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/DefaultReportExecutor.java
>> Wed Nov 29 19:32:08 2006
>> @@ -21,6 +21,7 @@
>>  import org.apache.maven.archiva.discoverer.MetadataDiscoverer;
>>  import
>> org.apache.maven.archiva.discoverer.filter.AcceptAllMetadataFilter;
>>  import org.apache.maven.artifact.Artifact;
>> +import org.apache.maven.artifact.InvalidArtifactRTException;
>>  import org.apache.maven.artifact.factory.ArtifactFactory;
>>  import org.apache.maven.artifact.repository.ArtifactRepository;
>>  import
>> org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
>> @@ -115,6 +116,10 @@
>>                      projectBuilder.buildFromRepository( pomArtifact,
>> Collections.EMPTY_LIST, repository );
>>
>>                  model = project.getModel();
>> +            }
>> +            catch ( InvalidArtifactRTException e )
>> +            {
>> +                reporter.addWarning( artifact, null, null, "Invalid
>> artifact [" + artifact + "] : " + e );
>>              }
>>              catch ( ProjectBuildingException e )
>>              {
>>
>> Modified:
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessor.java
>>
>> URL:
>> 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessor.java?view=diff&rev=480817&r1=480816&r2=480817
>>
>> 
==============================================================================
>>
>> ---
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessor.java
>> (original)
>> +++
>> 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessor.java
>> Wed Nov 29 19:32:08 2006
>> @@ -113,7 +113,7 @@
>>              }
>>          }
>>
>> -        //get the location of the artifact itself
>> +        // get the location of the artifact itself
>>          File file = new File( repository.getBasedir(), artifactPath );
>>
>>          if ( file.exists() )
>> @@ -140,7 +140,7 @@
>>          }
>>          else
>>          {
>> -            throw new IllegalStateException( "Couldn't find artifact
>> " + file );
>> +            addFailure( reporter, artifact, "missing-artifact", "The
>> artifact file [" + file + "] cannot be found for metadata." );
>>          }
>>      }
>>
>>
>> Modified:
>> 
maven/archiva/trunk/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessorTest.java
>>
>> URL:
>> 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessorTest.java?view=diff&rev=480817&r1=480816&r2=480817
>>
>> 
==============================================================================
>>
>> ---
>> 
maven/archiva/trunk/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessorTest.java
>> (original)
>> +++
>> 
maven/archiva/trunk/archiva-reports-standard/src/test/java/org/apache/maven/archiva/reporting/LocationArtifactReportProcessorTest.java
>> Wed Nov 29 19:32:08 2006
>> @@ -157,16 +157,10 @@
>>          Artifact artifact = createArtifact( "groupId", "artifactId",
>> "1.0-alpha-2" );
>>          Artifact pomArtifact = createArtifact( "groupId",
>> "artifactId", "1.0-alpha-2", "pom" );
>>
>> -        try
>> -        {
>> -            Model model = readPom( repository.pathOf( pomArtifact ) );
>> -            artifactReportProcessor.processArtifact( artifact,
>> model, reportDatabase );
>> -            fail( "Should not have passed the artifact" );
>> -        }
>> -        catch ( IllegalStateException e )
>> -        {
>> -            // correct!
>> -        }
>> +        Model model = readPom( repository.pathOf( pomArtifact ) );
>> +        artifactReportProcessor.processArtifact( artifact, model,
>> reportDatabase );
>> +
>> +        assertEquals( 1, reportDatabase.getNumFailures() );
>>      }
>>
>>      /**
>>
>


Reply via email to