You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/01/17 19:26:37 UTC
svn commit: r612920 - in /maven/components/trunk:
maven-core/src/main/aspect/org/apache/maven/errors/
maven-core/src/main/java/org/apache/maven/errors/
maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/
maven-embedder/src/te...
Author: jdcasey
Date: Thu Jan 17 10:26:35 2008
New Revision: 612920
URL: http://svn.apache.org/viewvc?rev=612920&view=rev
Log:
Adding more error-reporting unit tests.
Added:
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.jar (with props)
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom (with props)
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/
maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml (with props)
Modified:
maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/LifecycleErrorReporterAspect.aj
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java
Modified: maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/LifecycleErrorReporterAspect.aj
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/LifecycleErrorReporterAspect.aj?rev=612920&r1=612919&r2=612920&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/LifecycleErrorReporterAspect.aj (original)
+++ maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/LifecycleErrorReporterAspect.aj Thu Jan 17 10:26:35 2008
@@ -9,11 +9,13 @@
import org.apache.maven.plugin.PluginConfigurationException;
import org.apache.maven.plugin.descriptor.Parameter;
import org.apache.maven.plugin.loader.PluginLoaderException;
+import org.apache.maven.plugin.loader.PluginLoader;
import org.apache.maven.plugin.PluginExecutionException;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.model.MojoBinding;
+import org.apache.maven.lifecycle.statemgmt.StateManagementUtils;
import org.apache.maven.lifecycle.DefaultLifecycleExecutor;
import org.apache.maven.lifecycle.LifecycleException;
import org.apache.maven.lifecycle.LifecycleExecutionException;
@@ -23,6 +25,7 @@
import org.apache.maven.plugin.PluginParameterExpressionEvaluator;
import org.apache.maven.plugin.PluginParameterException;
import org.apache.maven.plugin.Mojo;
+import org.apache.maven.lifecycle.statemgmt.ResolveLateBoundPluginMojo;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.configuration.PlexusConfiguration;
@@ -54,10 +57,10 @@
getReporter().reportMissingPluginDescriptor( binding, project, err );
}
- before( MojoBinding binding, MavenProject project, PluginLoaderException cause ):
- cflow( le_executeGoalAndHandleFailures( binding ) )
- && call( LifecycleExecutionException.new( String, MavenProject, PluginLoaderException ) )
- && args( *, project, cause )
+ after( MojoBinding binding, MavenProject project ) throwing ( PluginLoaderException cause ):
+ cflow( le_executeGoalAndHandleFailures( MojoBinding ) )
+ && call( * PluginLoader+.loadPlugin( MojoBinding, MavenProject, .. ) )
+ && args( binding, project, .. )
{
getReporter().reportErrorLoadingPlugin( binding, project, cause );
}
@@ -68,7 +71,11 @@
&& handler( MojoExecutionException )
&& args( cause )
{
- getReporter().reportMojoExecutionException( binding, project, cause );
+ // this will be covered by the reportErrorLoadingPlugin(..) method.
+ if ( !StateManagementUtils.RESOLVE_LATE_BOUND_PLUGIN_GOAL.equals( binding.getGoal() ) )
+ {
+ getReporter().reportMojoExecutionException( binding, project, cause );
+ }
}
PluginExecutionException around( MojoBinding binding, MavenProject project ):
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java?rev=612920&r1=612919&r2=612920&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java Thu Jan 17 10:26:35 2008
@@ -107,8 +107,6 @@
void reportNoGoalsSpecifiedException( MavenProject rootProject, NoGoalsSpecifiedException error );
- void reportPluginErrorWhileValidatingTask( String task, MavenSession session, MavenProject rootProject, PluginLoaderException cause );
-
void reportProjectCycle( ProjectCycleException error );
void reportProjectDependenciesNotFound( MavenProject project, String scope, ArtifactNotFoundException cause );
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java?rev=612920&r1=612919&r2=612920&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java Thu Jan 17 10:26:35 2008
@@ -291,32 +291,6 @@
registerBuildError( cause, writer.toString(), cause.getCause() );
}
- public void reportPluginErrorWhileValidatingTask( String task,
- MavenSession session,
- MavenProject rootProject,
- PluginLoaderException cause )
- {
- StringWriter writer = new StringWriter();
-
- writer.write( NEWLINE );
- writer.write( "Invalid mojo or lifecycle phase: " );
- writer.write( task );
- writer.write( NEWLINE );
- writer.write( NEWLINE );
-
- writer.write( "Failed to load plugin: " );
- writer.write( cause.getPluginKey() );
- writer.write( NEWLINE );
- writer.write( NEWLINE );
-
- writer.write( "Original error message was: " );
- writer.write( cause.getMessage() );
-
- addTips( CoreErrorTips.getTaskValidationTips( task, cause ), writer );
-
- registerBuildError( cause, writer.toString(), cause.getCause() );
- }
-
public void reportMissingPluginDescriptor( MojoBinding binding,
MavenProject project,
LifecycleExecutionException err )
Added: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.jar
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.jar?rev=612920&view=auto
==============================================================================
Binary file - no diff available.
Propchange: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom?rev=612920&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom (added)
+++ maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom Thu Jan 17 10:26:35 2008
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.errortest</groupId>
+ <artifactId>testReportErrorLoadingPlugin-maven-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <version>1</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>nothing</groupId>
+ <artifactId>nothing</artifactId>
+ <version>1</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
\ No newline at end of file
Propchange: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/local-repo/org/apache/maven/errortest/testReportErrorLoadingPlugin-maven-plugin/1/testReportErrorLoadingPlugin-maven-plugin-1.pom
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml?rev=612920&view=auto
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml (added)
+++ maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml Thu Jan 17 10:26:35 2008
@@ -0,0 +1,45 @@
+<!--
+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>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>testReportErrorLoadingPlugin</artifactId>
+ <version>1</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.errortest</groupId>
+ <artifactId>testReportErrorLoadingPlugin-maven-plugin</artifactId>
+ <version>1</version>
+ <executions>
+ <execution>
+ <id>test-run</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-embedder/src/test/error-reporting-projects/testReportErrorLoadingPlugin/project/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java?rev=612920&r1=612919&r2=612920&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/ErrorReporterPointcutTest.java Thu Jan 17 10:26:35 2008
@@ -408,9 +408,33 @@
}
public void testReportErrorLoadingPlugin()
+ throws IOException
{
- // TODO Auto-generated method stub
+ File projectDir = prepareProjectDir();
+ File localRepo = new File( projectDir, "local-repo" );
+ File project = new File( projectDir, "project" );
+
+ Settings settings = new Settings();
+ settings.setOffline( true );
+ settings.setLocalRepository( localRepo.getAbsolutePath() );
+
+ reporter.reportErrorLoadingPlugin( null, null, null );
+ reporterCtl.setMatcher( MockControl.ALWAYS_MATCHER );
+ reporterCtl.setVoidCallable();
+
+ reporterCtl.replay();
+
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( project )
+ .setSettings( settings )
+ .setShowErrors( true )
+ .setErrorReporter( reporter )
+ .setGoals( Arrays.asList( new String[] {
+ "initialize"
+ } ) );
+ maven.execute( request );
+
+ reporterCtl.verify();
}
public void testReportErrorManagingRealmForExtension()
@@ -772,12 +796,6 @@
reporterCtl.verify();
}
- public void testReportPluginErrorWhileValidatingTask()
- {
- // TODO Auto-generated method stub
-
- }
-
public void testReportProjectCycle()
throws IOException
{
@@ -906,17 +924,11 @@
.setShowErrors( true )
.setSettings( settings )
.setErrorReporter( reporter )
-// .setErrorReporter( new DummyCoreErrorReporter() )
.setGoals( Arrays.asList( new String[] {
"initialize"
} ) );
maven.execute( request );
-// MavenExecutionResult result = maven.execute( request );
-// if ( result.hasExceptions() )
-// {
-// reportExceptions( result, project );
-// }
reporterCtl.verify();
}