You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/05/06 19:41:05 UTC
svn commit: r168630 -
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin
/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade
/maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin
/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation
/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation
/maven/components/trunk/maven-project/src/test/resources/projects/scope
Author: jdcasey
Date: Fri May 6 10:41:03 2005
New Revision: 168630
URL: http://svn.apache.org/viewcvs?rev=168630&view=rev
Log:
o Added duplicate check for mojo descriptor Parameters
o changed the exception(s) throws during mojo descriptor extraction to be derivatives of InvalidPluginDescriptorException
o changed PluginConfigurationException in plugin.descriptor to InvalidPluginDescriptorException
o changed all "true".equals(something) to Boolean.valueOf(something).booleanValue()
o added validation of 'modelVersion' back to [Default]ModelValidator
o Fixed/added tests for new 'modelVersion' validation
o changed all requiresXXX in MojoDescriptor to XXXRequired, and getRequiresXXX():boolean to isXXXRequired():boolean to help maintain bean-ness for future use
Added:
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java (with props)
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidParameterException.java
- copied, changed from r168523, maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/InvalidParameterException.java
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidPluginDescriptorException.java
- copied, changed from r168481, maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginConfigurationException.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java (with props)
Removed:
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginConfigurationException.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsException.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/InvalidParameterException.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateMojoDescriptorException.java
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/MojoDescriptorExtractor.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/MojoScanner.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/AbstractGeneratorTestCase.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGeneratorTest.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade/MarmaladeMojoDescriptorExtractor.java
maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
maven/components/trunk/maven-project/src/test/resources/projects/scope/project-with-scoped-dependencies.xml
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Fri May 6 10:41:03 2005
@@ -268,7 +268,7 @@
private void configureMojoPhaseBinding( MojoDescriptor mojoDescriptor, Map phaseMap, Settings settings )
throws LifecycleExecutionException
{
- if ( settings.getActiveProfile().isOffline() && mojoDescriptor.requiresOnline() )
+ if ( settings.getActiveProfile().isOffline() && mojoDescriptor.isOnlineRequired() )
{
String goal = mojoDescriptor.getGoal();
getLogger().warn( goal + " requires online mode, but maven is currently offline. Disabling " + goal + "." );
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Fri May 6 10:41:03 2005
@@ -307,7 +307,7 @@
public void executeMojo( MavenSession session, MojoDescriptor mojoDescriptor )
throws ArtifactResolutionException, PluginManagerException, MojoExecutionException
{
- if ( mojoDescriptor.getRequiresDependencyResolution() != null )
+ if ( mojoDescriptor.isDependencyResolutionRequired() != null )
{
ArtifactResolver artifactResolver = null;
@@ -319,7 +319,7 @@
mavenProjectBuilder = (MavenProjectBuilder) container.lookup( MavenProjectBuilder.ROLE );
resolveTransitiveDependencies( session, artifactResolver, mavenProjectBuilder,
- mojoDescriptor.getRequiresDependencyResolution() );
+ mojoDescriptor.isDependencyResolutionRequired() );
downloadDependencies( session, artifactResolver );
}
catch ( ComponentLookupException e )
Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateMojoDescriptorException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateMojoDescriptorException.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateMojoDescriptorException.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateMojoDescriptorException.java Fri May 6 10:41:03 2005
@@ -17,7 +17,7 @@
*/
public class DuplicateMojoDescriptorException
- extends PluginConfigurationException
+ extends InvalidPluginDescriptorException
{
public DuplicateMojoDescriptorException( String goalPrefix, String goal, String existingImplementation, String newImplementation )
Added: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java?rev=168630&view=auto
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java (added)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java Fri May 6 10:41:03 2005
@@ -0,0 +1,28 @@
+package org.apache.maven.plugin.descriptor;
+
+/*
+ * 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.
+ */
+
+public class DuplicateParameterException
+ extends InvalidPluginDescriptorException
+{
+
+ public DuplicateParameterException( String message )
+ {
+ super( message );
+ }
+
+}
Propchange: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/DuplicateParameterException.java
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author"
Copied: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidParameterException.java (from r168523, maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/InvalidParameterException.java)
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidParameterException.java?p2=maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidParameterException.java&p1=maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/InvalidParameterException.java&r1=168523&r2=168630&rev=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/InvalidParameterException.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidParameterException.java Fri May 6 10:41:03 2005
@@ -1,6 +1,4 @@
-package org.apache.maven.tools.plugin.extractor;
-
-import org.apache.maven.tools.plugin.PluginToolsException;
+package org.apache.maven.plugin.descriptor;
/*
* Copyright 2001-2004 The Apache Software Foundation.
@@ -24,7 +22,7 @@
* jdcasey Exp $
*/
public class InvalidParameterException
- extends PluginToolsException
+ extends InvalidPluginDescriptorException
{
public InvalidParameterException( String element, int i )
{
Copied: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidPluginDescriptorException.java (from r168481, maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginConfigurationException.java)
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidPluginDescriptorException.java?p2=maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidPluginDescriptorException.java&p1=maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginConfigurationException.java&r1=168481&r2=168630&rev=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginConfigurationException.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/InvalidPluginDescriptorException.java Fri May 6 10:41:03 2005
@@ -18,16 +18,16 @@
* limitations under the License.
*/
-public class PluginConfigurationException
+public class InvalidPluginDescriptorException
extends PlexusConfigurationException
{
- public PluginConfigurationException( String message, Throwable cause )
+ public InvalidPluginDescriptorException( String message, Throwable cause )
{
super( message, cause );
}
- public PluginConfigurationException( String message )
+ public InvalidPluginDescriptorException( String message )
{
super( message );
}
Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/MojoDescriptor.java Fri May 6 10:41:03 2005
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -64,11 +65,11 @@
//
// ----------------------------------------------------------------------
- private String requiresDependencyResolution = null;
+ private String dependencyResolutionRequired = null;
- private boolean requiresProject = true;
+ private boolean projectRequired = true;
- private boolean requiresOnline = false;
+ private boolean onlineRequired = false;
private PlexusConfiguration mojoConfiguration;
@@ -110,8 +111,33 @@
}
public void setParameters( List parameters )
+ throws DuplicateParameterException
{
- this.parameters = parameters;
+ for ( Iterator it = parameters.iterator(); it.hasNext(); )
+ {
+ Parameter parameter = (Parameter) it.next();
+ addParameter( parameter );
+ }
+ }
+
+ public void addParameter( Parameter parameter )
+ throws DuplicateParameterException
+ {
+ if ( parameters != null && parameters.contains( parameter ) )
+ {
+ throw new DuplicateParameterException( parameter.getName()
+ + " has been declared multiple times in mojo with goal: " + getGoal() + " (implementation: "
+ + getImplementation() + ")" );
+ }
+ else
+ {
+ if ( parameters == null )
+ {
+ parameters = new LinkedList();
+ }
+
+ parameters.add( parameter );
+ }
}
public Map getParameterMap()
@@ -135,50 +161,50 @@
// Dependency requirement
// ----------------------------------------------------------------------
- public void setRequiresDependencyResolution( String requiresDependencyResolution )
+ public void setDependencyResolutionRequired( String requiresDependencyResolution )
{
- this.requiresDependencyResolution = requiresDependencyResolution;
+ this.dependencyResolutionRequired = requiresDependencyResolution;
}
- public String getRequiresDependencyResolution()
+ public String isDependencyResolutionRequired()
{
- return requiresDependencyResolution;
+ return dependencyResolutionRequired;
}
// ----------------------------------------------------------------------
// Project requirement
// ----------------------------------------------------------------------
- public void setRequiresProject( boolean requiresProject )
+ public void setProjectRequired( boolean requiresProject )
{
- this.requiresProject = requiresProject;
+ this.projectRequired = requiresProject;
}
- public boolean getRequiresProject()
+ public boolean isProjectRequired()
{
- return requiresProject;
+ return projectRequired;
}
// ----------------------------------------------------------------------
// Online vs. Offline requirement
// ----------------------------------------------------------------------
- public void setRequiresOnline( boolean requiresOnline )
+ public void setOnlineRequired( boolean requiresOnline )
{
- this.requiresOnline = requiresOnline;
+ this.onlineRequired = requiresOnline;
}
// blech! this isn't even intelligible as a method name. provided for
// consistency...
- public boolean isRequiresOnline()
+ public boolean isOnlineRequired()
{
- return requiresOnline;
+ return onlineRequired;
}
// more english-friendly method...keep the code clean! :)
public boolean requiresOnline()
{
- return requiresOnline;
+ return onlineRequired;
}
public String getPhase()
Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilder.java Fri May 6 10:41:03 2005
@@ -129,21 +129,21 @@
if ( dependencyResolution != null )
{
- mojo.setRequiresDependencyResolution( dependencyResolution );
+ mojo.setDependencyResolutionRequired( dependencyResolution );
}
String requiresProject = c.getChild( "requiresProject" ).getValue();
if ( requiresProject != null )
{
- mojo.setRequiresProject( "true".equals( requiresProject ) );
+ mojo.setProjectRequired( Boolean.valueOf( requiresProject ).booleanValue() );
}
String requiresOnline = c.getChild( "requiresOnline" ).getValue();
if ( requiresOnline != null )
{
- mojo.setRequiresOnline( "true".equals( requiresOnline ) );
+ mojo.setOnlineRequired( Boolean.valueOf( requiresOnline ).booleanValue() );
}
// ----------------------------------------------------------------------
@@ -168,7 +168,7 @@
String required = d.getChild( "required" ).getValue();
- parameter.setRequired( "true".equals( required ) );
+ parameter.setRequired( Boolean.valueOf( required ).booleanValue() );
PlexusConfiguration editableConfig = d.getChild( "editable" );
@@ -177,7 +177,7 @@
{
String editable = d.getChild( "editable" ).getValue();
- parameter.setEditable( editable == null || "true".equals( editable ) );
+ parameter.setEditable( editable == null || Boolean.valueOf( editable ).booleanValue() );
}
parameter.setValidator( d.getChild( "validator" ).getValue() );
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java Fri May 6 10:41:03 2005
@@ -1,8 +1,8 @@
package org.apache.maven.tools.plugin.extractor;
-import org.apache.maven.project.MavenProject;
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.tools.plugin.PluginToolsException;
+import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.DirectoryScanner;
@@ -22,7 +22,7 @@
implements MojoDescriptorExtractor
{
public List execute( MavenProject project, PluginDescriptor pluginDescriptor )
- throws PluginToolsException
+ throws ExtractionException, InvalidPluginDescriptorException
{
Map scriptFilesKeyedByBasedir = gatherScriptSourcesByBasedir( project.getScriptSourceRoots(),
getScriptFileExtension() );
@@ -33,7 +33,7 @@
}
protected abstract List extractMojoDescriptors( Map scriptFilesKeyedByBasedir, PluginDescriptor pluginDescriptor )
- throws PluginToolsException;
+ throws ExtractionException, InvalidPluginDescriptorException;
protected abstract String getScriptFileExtension();
@@ -47,7 +47,7 @@
String resourceDir = (String) it.next();
File dir = new File( resourceDir ).getAbsoluteFile();
-
+
resourceDir = dir.getPath();
if ( dir.exists() )
Added: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java?rev=168630&view=auto
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java (added)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java Fri May 6 10:41:03 2005
@@ -0,0 +1,33 @@
+package org.apache.maven.tools.plugin.extractor;
+
+/*
+ * 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.
+ */
+
+public class ExtractionException
+ extends Exception
+{
+
+ public ExtractionException( String message, Throwable cause )
+ {
+ super( message, cause );
+ }
+
+ public ExtractionException( String message )
+ {
+ super( message );
+ }
+
+}
Propchange: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/ExtractionException.java
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author"
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/MojoDescriptorExtractor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/MojoDescriptorExtractor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/MojoDescriptorExtractor.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/MojoDescriptorExtractor.java Fri May 6 10:41:03 2005
@@ -16,9 +16,9 @@
* limitations under the License.
*/
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.PluginToolsException;
import java.util.List;
@@ -30,5 +30,5 @@
String ROLE = MojoDescriptorExtractor.class.getName();
List execute( MavenProject project, PluginDescriptor pluginDescriptor )
- throws PluginToolsException;
+ throws ExtractionException, InvalidPluginDescriptorException;
}
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java Fri May 6 10:41:03 2005
@@ -110,22 +110,22 @@
//
// ----------------------------------------------------------------------
- if ( mojoDescriptor.getRequiresDependencyResolution() != null )
+ if ( mojoDescriptor.isDependencyResolutionRequired() != null )
{
- element( w, "requiresDependencyResolution", mojoDescriptor.getRequiresDependencyResolution() );
+ element( w, "requiresDependencyResolution", mojoDescriptor.isDependencyResolutionRequired() );
}
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
- element( w, "requiresProject", "" + mojoDescriptor.getRequiresProject() );
+ element( w, "requiresProject", "" + mojoDescriptor.isProjectRequired() );
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
- element( w, "requiresOnline", "" + mojoDescriptor.requiresOnline() );
+ element( w, "requiresOnline", "" + mojoDescriptor.isOnlineRequired() );
// ----------------------------------------------------------------------
//
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/DefaultMojoScanner.java Fri May 6 10:41:03 2005
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-import org.apache.maven.plugin.descriptor.DuplicateMojoDescriptorException;
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.PluginToolsException;
+import org.apache.maven.tools.plugin.extractor.ExtractionException;
import org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.logging.Logger;
@@ -52,7 +52,7 @@
}
public void populatePluginDescriptor( MavenProject project, PluginDescriptor pluginDescriptor )
- throws PluginToolsException
+ throws ExtractionException, InvalidPluginDescriptorException
{
Logger logger = getLogger();
@@ -79,15 +79,7 @@
descriptor.setPluginDescriptor( pluginDescriptor );
- try
- {
- pluginDescriptor.addMojo( descriptor );
- }
- catch ( DuplicateMojoDescriptorException e )
- {
- throw new PluginToolsException( "Duplicate goal specification detected.\nError was: "
- + e.getLocalizedMessage(), e );
- }
+ pluginDescriptor.addMojo( descriptor );
}
}
}
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/MojoScanner.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/MojoScanner.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/MojoScanner.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/scanner/MojoScanner.java Fri May 6 10:41:03 2005
@@ -16,9 +16,10 @@
* limitations under the License.
*/
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.PluginToolsException;
+import org.apache.maven.tools.plugin.extractor.ExtractionException;
/**
* @author jdcasey
@@ -28,6 +29,6 @@
String ROLE = MojoScanner.class.getName();
void populatePluginDescriptor( MavenProject project, PluginDescriptor pluginDescriptor )
- throws PluginToolsException;
+ throws ExtractionException, InvalidPluginDescriptorException;
}
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/AbstractGeneratorTestCase.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/AbstractGeneratorTestCase.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/AbstractGeneratorTestCase.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/AbstractGeneratorTestCase.java Fri May 6 10:41:03 2005
@@ -53,7 +53,7 @@
MojoDescriptor mojoDescriptor = new MojoDescriptor();
mojoDescriptor.setGoal( "testGoal" );
mojoDescriptor.setImplementation( "org.apache.maven.tools.plugin.generator.TestMojo" );
- mojoDescriptor.setRequiresDependencyResolution( "compile" );
+ mojoDescriptor.setDependencyResolutionRequired( "compile" );
List params = new ArrayList();
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGeneratorTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGeneratorTest.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGeneratorTest.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGeneratorTest.java Fri May 6 10:41:03 2005
@@ -100,7 +100,7 @@
// The following should be defaults
assertEquals( "per-lookup", mojoDescriptor.getInstantiationStrategy() );
- assertNotNull( mojoDescriptor.getRequiresDependencyResolution() );
+ assertNotNull( mojoDescriptor.isDependencyResolutionRequired() );
// check the parameter.
checkParameter( (Parameter) mojoDescriptor.getParameters().get( 0 ) );
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-java/src/main/java/org/apache/maven/tools/plugin/extractor/java/JavaMojoDescriptorExtractor.java Fri May 6 10:41:03 2005
@@ -16,11 +16,12 @@
* limitations under the License.
*/
+import org.apache.maven.plugin.descriptor.InvalidParameterException;
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.Parameter;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.extractor.InvalidParameterException;
import org.apache.maven.tools.plugin.extractor.MojoDescriptorExtractor;
import org.codehaus.modello.StringUtils;
import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -33,14 +34,13 @@
import java.io.File;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
import java.util.Map.Entry;
+
/**
* @todo add example usage tag that can be shown in the doco
* @todo need to add validation directives so that systems embedding maven2 can
@@ -110,7 +110,7 @@
// Mojo descriptor creation from @tags
// ----------------------------------------------------------------------
- private MojoDescriptor createMojoDescriptor( JavaSource javaSource, PluginDescriptor pluginDescriptor )
+ private MojoDescriptor createMojoDescriptor( JavaSource javaSource, PluginDescriptor pluginDescriptor ) throws InvalidPluginDescriptorException
{
MojoDescriptor mojoDescriptor = new MojoDescriptor();
mojoDescriptor.setPluginDescriptor( pluginDescriptor );
@@ -187,7 +187,7 @@
{
value = "runtime";
}
- mojoDescriptor.setRequiresDependencyResolution( value );
+ mojoDescriptor.setDependencyResolutionRequired( value );
}
// ----------------------------------------------------------------------
@@ -198,7 +198,7 @@
if ( requiresProject != null )
{
- mojoDescriptor.setRequiresProject( true );
+ mojoDescriptor.setProjectRequired( true );
}
// ----------------------------------------------------------------------
@@ -209,7 +209,7 @@
if ( requiresOnline != null )
{
- mojoDescriptor.setRequiresOnline( true );
+ mojoDescriptor.setOnlineRequired( true );
}
extractParameters( mojoDescriptor, javaClass );
@@ -234,7 +234,7 @@
return tag;
}
- private void extractParameters( MojoDescriptor mojoDescriptor, JavaClass javaClass )
+ private void extractParameters( MojoDescriptor mojoDescriptor, JavaClass javaClass ) throws InvalidPluginDescriptorException
{
// ---------------------------------------------------------------------------------
// We're resolving class-level, ancestor-class-field, local-class-field order here.
@@ -244,8 +244,6 @@
extractFieldParameterTags( javaClass, rawParams );
- Set parameters = new HashSet();
-
for ( Iterator it = rawParams.entrySet().iterator(); it.hasNext(); )
{
Map.Entry entry = (Entry) it.next();
@@ -282,14 +280,7 @@
pd.setExpression( parameter.getNamedParameter( PARAMETER_EXPRESSION ) );
- parameters.add( pd );
- }
-
- if ( !parameters.isEmpty() )
- {
- List paramList = new ArrayList( parameters );
-
- mojoDescriptor.setParameters( paramList );
+ mojoDescriptor.addParameter( pd );
}
}
@@ -329,7 +320,7 @@
}
public List execute( MavenProject project, PluginDescriptor pluginDescriptor )
- throws InvalidParameterException
+ throws InvalidPluginDescriptorException
{
JavaDocBuilder builder = new JavaDocBuilder();
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade/MarmaladeMojoDescriptorExtractor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade/MarmaladeMojoDescriptorExtractor.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade/MarmaladeMojoDescriptorExtractor.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-marmalade/src/main/java/org/apache/maven/tools/plugin/extractor/marmalade/MarmaladeMojoDescriptorExtractor.java Fri May 6 10:41:03 2005
@@ -16,12 +16,13 @@
* limitations under the License.
*/
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.script.marmalade.MarmaladeMojoExecutionDirectives;
import org.apache.maven.script.marmalade.tags.MojoTag;
-import org.apache.maven.tools.plugin.PluginToolsException;
import org.apache.maven.tools.plugin.extractor.AbstractScriptedMojoDescriptorExtractor;
+import org.apache.maven.tools.plugin.extractor.ExtractionException;
import org.codehaus.marmalade.launch.MarmaladeLaunchException;
import org.codehaus.marmalade.launch.MarmaladeLauncher;
import org.codehaus.marmalade.model.MarmaladeScript;
@@ -49,8 +50,8 @@
return ".mmld";
}
- protected List extractMojoDescriptors( Map sourceFilesKeyedByBasedir, PluginDescriptor pluginDescriptor )
- throws PluginToolsException
+ protected List extractMojoDescriptors( Map sourceFilesKeyedByBasedir, PluginDescriptor pluginDescriptor )
+ throws ExtractionException, InvalidPluginDescriptorException
{
ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
try
@@ -112,11 +113,20 @@
}
catch ( IOException e )
{
- throw new PluginToolsException( "Error reading descriptor Marmalade mojo in: " + scriptFile, e );
+ throw new ExtractionException( "Error extracting mojo descriptor from Marmalade script: " + scriptFile, e );
}
catch ( MarmaladeLaunchException e )
{
- throw new PluginToolsException( "Error extracting descriptor Marmalade mojo from: " + scriptFile, e );
+ Throwable cause = e.getCause();
+
+ if ( cause instanceof InvalidPluginDescriptorException )
+ {
+ throw (InvalidPluginDescriptorException) cause;
+ }
+ else
+ {
+ throw new ExtractionException( "Error extracting mojo descriptor from Marmalade script: " + scriptFile, e );
+ }
}
}
}
Modified: maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java Fri May 6 10:41:03 2005
@@ -121,7 +121,7 @@
compilerConfiguration.addCompilerOption( "-target", target );
}
- if ( debug != null && "true".equals( debug ) )
+ if ( debug != null && Boolean.valueOf( debug ).booleanValue() )
{
compilerConfiguration.setDebug( true );
}
Modified: maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/AbstractGeneratorMojo.java Fri May 6 10:41:03 2005
@@ -18,9 +18,10 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.tools.plugin.PluginToolsException;
+import org.apache.maven.tools.plugin.extractor.ExtractionException;
import org.apache.maven.tools.plugin.generator.Generator;
import org.apache.maven.tools.plugin.scanner.MojoScanner;
import org.apache.maven.tools.plugin.util.PluginUtils;
@@ -91,9 +92,13 @@
{
throw new MojoExecutionException( "Error writing plugin descriptor", e );
}
- catch ( PluginToolsException e )
+ catch ( InvalidPluginDescriptorException e )
{
- throw new MojoExecutionException( "Error creatin plugin descriptor", e );
+ throw new MojoExecutionException( "Error extracting plugin descriptor: \'" + e.getLocalizedMessage() + "\'", e );
+ }
+ catch ( ExtractionException e )
+ {
+ throw new MojoExecutionException( "Error extracting plugin descriptor: \'" + e.getLocalizedMessage() + "\'", e );
}
}
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri May 6 10:41:03 2005
@@ -150,7 +150,7 @@
// Always cache files in the source tree over those in the repository
modelCache.put( createCacheKey( model.getGroupId(), model.getArtifactId(), model.getVersion() ), model );
- MavenProject project = build( model, localRepository );
+ MavenProject project = build( projectDescriptor.getAbsolutePath(), model, localRepository );
// Only translate the base directory for files in the source tree
pathTranslator.alignToBaseDirectory( project.getModel(), projectDescriptor );
@@ -173,7 +173,7 @@
Model model = findModelFromRepository( artifact, remoteArtifactRepositories, localRepository );
- return build( model, localRepository );
+ return build( "Artifact [" + artifact.getId() + "]", model, localRepository );
}
private Model findModelFromRepository( Artifact artifact, List remoteArtifactRepositories,
@@ -201,7 +201,7 @@
return model;
}
- private MavenProject build( Model model, ArtifactRepository localRepository )
+ private MavenProject build( String pomLocation, Model model, ArtifactRepository localRepository )
throws ProjectBuildingException
{
Model superModel = getSuperModel();
@@ -225,11 +225,11 @@
try
{
- project = processProjectLogic( project, aggregatedRemoteWagonRepositories );
+ project = processProjectLogic( pomLocation, project, aggregatedRemoteWagonRepositories );
}
catch ( ModelInterpolationException e )
{
- throw new ProjectBuildingException( "Error building project: " + model.getId(), e );
+ throw new ProjectBuildingException( "Error building project from \'" + pomLocation + "\': " + model.getId(), e );
}
return project;
}
@@ -241,7 +241,7 @@
* the resolved source roots, etc for the parent - that occurs for the parent when it is constructed independently
* and projects are not cached or reused
*/
- private MavenProject processProjectLogic( MavenProject project, List remoteRepositories )
+ private MavenProject processProjectLogic( String pomLocation, MavenProject project, List remoteRepositories )
throws ProjectBuildingException, ModelInterpolationException
{
Model model = project.getModel();
@@ -277,7 +277,7 @@
if ( validationResult.getMessageCount() > 0 )
{
- throw new ProjectBuildingException( "Exception while building project: " + validationResult.toString() );
+ throw new ProjectBuildingException( "Exception while building project from \'" + pomLocation + "\': " + validationResult.toString() );
}
return project;
@@ -489,7 +489,7 @@
List remoteRepositories = buildArtifactRepositories( superModel.getRepositories() );
- project = processProjectLogic( project, remoteRepositories );
+ project = processProjectLogic( "<Super-POM>", project, remoteRepositories );
return project;
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java Fri May 6 10:41:03 2005
@@ -34,6 +34,8 @@
public ModelValidationResult validate( Model model )
{
ModelValidationResult result = new ModelValidationResult();
+
+ validateStringNotEmpty( "modelVersion", result, model.getModelVersion() );
validateStringNotEmpty( "groupId", result, model.getGroupId() );
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/validation/ModelValidationResult.java Fri May 6 10:41:03 2005
@@ -17,6 +17,7 @@
*/
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
/**
@@ -44,6 +45,11 @@
public String getMessage( int i )
{
return messages.get( i ).toString();
+ }
+
+ public List getMessages()
+ {
+ return Collections.unmodifiableList( messages );
}
public void addMessage( String message )
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/validation/DefaultModelValidatorTest.java Fri May 6 10:41:03 2005
@@ -22,6 +22,7 @@
import java.io.FileReader;
import java.io.Reader;
+import java.util.List;
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
@@ -33,6 +34,15 @@
private Model model;
private ModelValidator validator;
+
+ public void testMissingModelVersion() throws Exception
+ {
+ ModelValidationResult result = validate( "missing-modelVersion-pom.xml" );
+
+ assertEquals( 1, result.getMessageCount() );
+
+ assertEquals( "'modelVersion' is missing.", result.getMessage( 0 ) );
+ }
public void testMissingArtifactId()
throws Exception
@@ -79,18 +89,21 @@
{
ModelValidationResult result = validate( "missing-1-pom.xml" );
- assertEquals( 3, result.getMessageCount() );
+ assertEquals( 4, result.getMessageCount() );
- assertEquals( "'groupId' is missing.", result.getMessage( 0 ) );
- assertEquals( "'artifactId' is missing.", result.getMessage( 1 ) );
+ List messages = result.getMessages();
+
+ assertTrue( messages.contains("\'modelVersion\' is missing."));
+ assertTrue( messages.contains("\'groupId\' is missing."));
+ assertTrue( messages.contains("\'artifactId\' is missing."));
+ assertTrue( messages.contains("\'version\' is missing."));
// type is inherited from the super pom
- assertEquals( "'version' is missing.", result.getMessage( 2 ) );
}
private ModelValidationResult validate( String testName )
throws Exception
{
- Reader input = new FileReader( getTestFile( "src/test/resources/validation/" + testName ) );
+ Reader input = new FileReader( getFileForClasspathResource( "/validation/" + testName ) );
MavenXpp3Reader reader = new MavenXpp3Reader();
Modified: maven/components/trunk/maven-project/src/test/resources/projects/scope/project-with-scoped-dependencies.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/resources/projects/scope/project-with-scoped-dependencies.xml?rev=168630&r1=168629&r2=168630&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources/projects/scope/project-with-scoped-dependencies.xml (original)
+++ maven/components/trunk/maven-project/src/test/resources/projects/scope/project-with-scoped-dependencies.xml Fri May 6 10:41:03 2005
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<model>
+ <modelVersion>4.0.0</modelVersion>
<groupId>maven</groupId>
<artifactId>maven-project-test</artifactId>
<name>Maven</name>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org