Author: brett
Date: Thu Apr 28 23:06:14 2005
New Revision: 165266
URL: http://svn.apache.org/viewcvs?rev=165266&view=rev
Log:
don't fail if there is a default value and the parameter is set to required.
Reformat according to intelliJ settings.
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
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=165266&r1=165265&r2=165266&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
Thu Apr 28 23:06:14 2005
@@ -228,8 +228,8 @@
if ( StringUtils.isEmpty( pluginConfig.getVersion() ) )
{
// The model/project builder should have validated this
already
- String message = "The maven plugin with groupId: '" +
groupId + "' and artifactId: '" + artifactId
- + "' which was configured for use in this project does
not have a version associated with it.";
+ String message = "The maven plugin with groupId: '" +
groupId + "' and artifactId: '" + artifactId +
+ "' which was configured for use in this project does
not have a version associated with it.";
throw new IllegalStateException( message );
}
else
@@ -247,14 +247,13 @@
}
catch ( ArtifactEnabledContainerException e )
{
- throw new PluginManagerException(
- "Error occurred in the
artifact container attempting to download plugin "
- + groupId + ":" +
artifactId, e );
+ throw new PluginManagerException( "Error occurred in the
artifact container attempting to download plugin " +
+ groupId + ":" + artifactId,
e );
}
catch ( ArtifactResolutionException e )
{
- if ( groupId.equals( e.getGroupId() ) && artifactId.equals(
e.getArtifactId() )
- && version.equals( e.getVersion() ) &&
"maven-plugin".equals( e.getType() ) )
+ if ( groupId.equals( e.getGroupId() ) && artifactId.equals(
e.getArtifactId() ) &&
+ version.equals( e.getVersion() ) && "maven-plugin".equals(
e.getType() ) )
{
throw new PluginNotFoundException( groupId, artifactId,
version, e );
}
@@ -265,8 +264,8 @@
}
catch ( ComponentLookupException e )
{
- throw new PluginManagerException( "Internal configuration
error while retrieving " + groupId + ":"
- + artifactId, e );
+ throw new PluginManagerException( "Internal configuration
error while retrieving " + groupId + ":" +
+ artifactId, e );
}
}
}
@@ -285,8 +284,10 @@
MavenMetadataSource metadataSource = new MavenMetadataSource(
artifactResolver, mavenProjectBuilder );
- ( (ArtifactEnabledContainer) container ).addComponent(
pluginArtifact, artifactResolver, session
- .getPluginRepositories(), session.getLocalRepository(),
metadataSource, artifactFilter );
+ ( (ArtifactEnabledContainer) container ).addComponent(
pluginArtifact, artifactResolver,
+
session.getPluginRepositories(),
+
session.getLocalRepository(), metadataSource,
+
artifactFilter );
}
finally
{
@@ -333,8 +334,8 @@
artifactResolver = (ArtifactResolver) container.lookup(
ArtifactResolver.ROLE );
mavenProjectBuilder = (MavenProjectBuilder) container.lookup(
MavenProjectBuilder.ROLE );
- resolveTransitiveDependencies( session, artifactResolver,
mavenProjectBuilder, mojoDescriptor
- .getRequiresDependencyResolution() );
+ resolveTransitiveDependencies( session, artifactResolver,
mavenProjectBuilder,
+
mojoDescriptor.getRequiresDependencyResolution() );
downloadDependencies( session, artifactResolver );
}
catch ( ComponentLookupException e )
@@ -396,23 +397,23 @@
ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, pathTranslator );
- PlexusConfiguration mergedConfiguration = mergeConfiguration(
pomConfiguration, mojoDescriptor
- .getConfiguration() );
+ PlexusConfiguration mergedConfiguration = mergeConfiguration(
pomConfiguration,
+
mojoDescriptor.getConfiguration() );
try
{
if ( newMojoTechnique )
{
- Map map = getPluginConfigurationFromExpressions(
mojoDescriptor, mergedConfiguration,
+ Map map = getPluginConfigurationFromExpressions( plugin,
mojoDescriptor, mergedConfiguration,
expressionEvaluator );
- populatePluginFields( plugin, pomConfiguration, map,
expressionEvaluator );
+ populatePluginFields( plugin, pomConfiguration,
expressionEvaluator );
}
else
{
getLogger().warn( "WARNING: The mojo " +
mojoDescriptor.getId() + " is using the OLD API" );
- Map map = getPluginConfigurationFromExpressions(
mojoDescriptor, mergedConfiguration,
+ Map map = getPluginConfigurationFromExpressions( plugin,
mojoDescriptor, mergedConfiguration,
expressionEvaluator );
request = createPluginRequest( pomConfiguration, map );
@@ -488,11 +489,11 @@
}
// Make sure the parameter is either editable/configurable, or
else is NOT specified in the POM
- if ( !editable
- && ( pomConfiguration.getChild( lookupKey, false ) != null ||
pomConfiguration.getChild( key, false ) != null ) )
+ if ( !editable && ( pomConfiguration.getChild( lookupKey, false )
!= null ||
+ pomConfiguration.getChild( key, false ) != null ) )
{
- StringBuffer errorMessage = new StringBuffer().append( "ERROR:
Cannot override read-only parameter: " )
- .append( key );
+ StringBuffer errorMessage = new StringBuffer().append( "ERROR:
Cannot override read-only parameter: " ).append(
+ key );
if ( !lookupKey.equals( key ) )
{
@@ -595,8 +596,8 @@
return new MojoExecutionRequest( map );
}
- private void populatePluginFields( Mojo plugin, PlexusConfiguration
configuration, Map map,
- ExpressionEvaluator expressionEvaluator )
+ private void populatePluginFields( Mojo plugin, PlexusConfiguration
configuration,
+ ExpressionEvaluator expressionEvaluator
)
throws PluginConfigurationException
{
try
@@ -607,49 +608,6 @@
{
throw new PluginConfigurationException( "Unable to parse the
created DOM for plugin configuration", e );
}
-
- // Configuration does not store objects, so the non-String fields are
configured here
- // TODO: remove - this is for plugins built with alpha-1
- for ( Iterator i = map.keySet().iterator(); i.hasNext(); )
- {
- String key = (String) i.next();
-
- if ( configuration.getChild( key, false ) != null )
- {
- continue;
- }
-
- Object value = map.get( key );
-
- if ( value != null )
- {
- Class clazz = plugin.getClass();
- try
- {
- Field f = findPluginField( clazz, key );
- boolean accessible = f.isAccessible();
- if ( !accessible )
- {
- f.setAccessible( true );
- }
-
- f.set( plugin, value );
-
- if ( !accessible )
- {
- f.setAccessible( false );
- }
- }
- catch ( NoSuchFieldException e )
- {
- throw new PluginConfigurationException( "Unable to set
field '" + key + "' on '" + clazz + "'", e );
- }
- catch ( IllegalAccessException e )
- {
- throw new PluginConfigurationException( "Unable to set
field '" + key + "' on '" + clazz + "'", e );
- }
- }
- }
}
private Field findPluginField( Class clazz, String key )
@@ -676,8 +634,9 @@
/**
* @deprecated [JC] in favor of what?
*/
- private Map getPluginConfigurationFromExpressions( MojoDescriptor goal,
PlexusConfiguration mergedConfiguration,
- ExpressionEvaluator
expressionEvaluator )
+ private Map getPluginConfigurationFromExpressions( Mojo plugin,
MojoDescriptor goal,
+ PlexusConfiguration
mergedConfiguration,
+ ExpressionEvaluator
expressionEvaluator )
throws ExpressionEvaluationException, PluginConfigurationException
{
List parameters = goal.getParameters();
@@ -724,8 +683,8 @@
{
PlexusConfiguration goalConfiguration =
goal.getConfiguration();
- if ( !expression.equals( goalConfiguration.getChild(
lookupKey, false ).getValue( null ) )
- && !expression.equals( goalConfiguration.getChild( key,
false ).getValue( null ) ) )
+ if ( !expression.equals( goalConfiguration.getChild(
lookupKey, false ).getValue( null ) ) &&
+ !expression.equals( goalConfiguration.getChild( key, false
).getValue( null ) ) )
{
StringBuffer message = new StringBuffer().append(
"DEPRECATED: " ).append( key );
@@ -744,11 +703,38 @@
getLogger().debug( "Evaluated mojo parameter expression: \'" +
expression + "\' to: " + value );
+ // TODO: remove. If there is a default value, required should have
been removed by the descriptor generator
if ( value == null )
{
- if ( parameter.getDefaultValue() != null )
+ Object defaultValue;
+ try
+ {
+ Field pluginField = findPluginField( plugin.getClass(),
parameter.getName() );
+ boolean accessible = pluginField.isAccessible();
+ if ( !accessible )
+ {
+ pluginField.setAccessible( true );
+ }
+ defaultValue = pluginField.get( plugin );
+ if ( !accessible )
+ {
+ pluginField.setAccessible( false );
+ }
+ }
+ catch ( IllegalAccessException e )
+ {
+ String message = "Error finding field for parameter '" +
parameter.getName() + "'";
+ throw new PluginConfigurationException( message, e );
+ }
+ catch ( NoSuchFieldException e )
+ {
+ String message = "Error finding field for parameter '" +
parameter.getName() + "'";
+ throw new PluginConfigurationException( message, e );
+ }
+ if ( defaultValue != null )
{
- value = expressionEvaluator.evaluate(
parameter.getDefaultValue() );
+ // TODO: allow expressions?
+ value = defaultValue;
}
}
@@ -763,7 +749,8 @@
if ( value == null && parameter.isRequired() )
{
- throw new PluginConfigurationException(
createPluginParameterRequiredMessage( goal, parameter, expression ) );
+ throw new PluginConfigurationException(
+ createPluginParameterRequiredMessage( goal, parameter,
expression ) );
}
map.put( key, value );
@@ -771,7 +758,8 @@
return map;
}
- public static String createPluginParameterRequiredMessage( MojoDescriptor
mojo, Parameter parameter, String expression )
+ public static String createPluginParameterRequiredMessage( MojoDescriptor
mojo, Parameter parameter,
+ String
expression )
{
StringBuffer message = new StringBuffer();
@@ -798,20 +786,11 @@
{
// TODO: configure this from bootstrap or scan lib
// TODO: Note: maven-plugin just re-added until all plugins are
switched over...
- artifactFilter = new ExclusionSetFilter( new String[] {
- "maven-core",
- "maven-artifact",
- "maven-model",
- "maven-settings",
- "maven-monitor",
- "maven-plugin-api",
- "maven-plugin-descriptor",
- "plexus-container-default",
- "maven-project",
- "plexus-container-artifact",
- "wagon-provider-api",
- "classworlds",
- "maven-plugin" } );
+ artifactFilter = new ExclusionSetFilter( new String[]{"maven-core",
"maven-artifact", "maven-model",
+
"maven-settings", "maven-monitor", "maven-plugin-api",
+
"maven-plugin-descriptor", "plexus-container-default",
+ "maven-project",
"plexus-container-artifact",
+
"wagon-provider-api", "classworlds", "maven-plugin"} );
}
// ----------------------------------------------------------------------
@@ -819,7 +798,7 @@
// ----------------------------------------------------------------------
private void resolveTransitiveDependencies( MavenSession context,
ArtifactResolver artifactResolver,
- MavenProjectBuilder
mavenProjectBuilder, String scope )
+ MavenProjectBuilder
mavenProjectBuilder, String scope )
throws ArtifactResolutionException
{
MavenProject project = context.getProject();
@@ -830,8 +809,10 @@
boolean systemOnline =
!context.getSettings().getActiveProfile().isOffline();
- ArtifactResolutionResult result =
artifactResolver.resolveTransitively( project.getArtifacts(), context
- .getRemoteRepositories(), context.getLocalRepository(),
sourceReader, filter );
+ ArtifactResolutionResult result =
artifactResolver.resolveTransitively( project.getArtifacts(),
+
context.getRemoteRepositories(),
+
context.getLocalRepository(),
+
sourceReader, filter );
project.addArtifacts( result.getArtifacts().values(), artifactFactory
);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]