Author: jdcasey Date: Mon Mar 19 15:48:14 2007 New Revision: 520150 URL: http://svn.apache.org/viewvc?view=rev&rev=520150 Log: a couple small bugfixes.
Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionContext.java maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java Mon Mar 19 15:48:14 2007 @@ -48,6 +48,7 @@ artifacts.add( "maven-build-context" ); artifacts.add( "maven-core" ); artifacts.add( "maven-error-diagnoser" ); + artifacts.add( "maven-lifecycle" ); artifacts.add( "maven-model" ); artifacts.add( "maven-monitor" ); artifacts.add( "maven-plugin-api" ); Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionContext.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionContext.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionContext.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutionContext.java Mon Mar 19 15:48:14 2007 @@ -35,7 +35,7 @@ private MavenProject currentProject; private Stack forkedProjectStack = new Stack(); - private Map reports; + private Map reports = new HashMap(); public LifecycleExecutionContext( MavenProject project ) { Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/BindingUtils.java Mon Mar 19 15:48:14 2007 @@ -102,7 +102,22 @@ */ static Object mergeConfigurations( ReportPlugin reportPlugin, ReportSet reportSet ) { - return mergeRawConfigurations( reportSet.getConfiguration(), reportPlugin.getConfiguration() ); + if ( reportPlugin == null && reportSet == null ) + { + return null; + } + else if ( reportSet == null ) + { + return reportPlugin.getConfiguration(); + } + else if ( reportPlugin == null ) + { + return reportSet.getConfiguration(); + } + else + { + return mergeRawConfigurations( reportSet.getConfiguration(), reportPlugin.getConfiguration() ); + } } /** Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java Mon Mar 19 15:48:14 2007 @@ -245,47 +245,62 @@ PluginExecution execution = (PluginExecution) execIt.next(); List goals = execution.getGoals(); - for ( Iterator goalIterator = goals.iterator(); goalIterator.hasNext(); ) + if ( goals != null && !goals.isEmpty() ) { - String goal = (String) goalIterator.next(); + for ( Iterator goalIterator = goals.iterator(); goalIterator.hasNext(); ) + { + String goal = (String) goalIterator.next(); + + if ( goal == null ) + { + logger.warn( "Execution: " + execution.getId() + " in plugin: " + plugin.getKey() + " in the POM has a null goal." ); + continue; + } - MojoBinding mojoBinding = new MojoBinding(); + MojoBinding mojoBinding = new MojoBinding(); - mojoBinding.setGroupId( plugin.getGroupId() ); - mojoBinding.setArtifactId( plugin.getArtifactId() ); - mojoBinding.setVersion( plugin.getVersion() ); - mojoBinding.setGoal( goal ); - mojoBinding.setConfiguration( BindingUtils.mergeConfigurations( plugin, execution ) ); - mojoBinding.setExecutionId( execution.getId() ); - mojoBinding.setOrigin( "POM" ); + mojoBinding.setGroupId( plugin.getGroupId() ); + mojoBinding.setArtifactId( plugin.getArtifactId() ); + mojoBinding.setVersion( plugin.getVersion() ); + mojoBinding.setGoal( goal ); + mojoBinding.setConfiguration( BindingUtils.mergeConfigurations( plugin, execution ) ); + mojoBinding.setExecutionId( execution.getId() ); + mojoBinding.setOrigin( "POM" ); - String phase = execution.getPhase(); - if ( phase == null ) - { - if ( pluginDescriptor == null ) + String phase = execution.getPhase(); + if ( phase == null ) { - try + if ( pluginDescriptor == null ) { - pluginDescriptor = pluginLoader.loadPlugin( plugin, project ); + try + { + pluginDescriptor = pluginLoader.loadPlugin( plugin, project ); + } + catch ( PluginLoaderException e ) + { + throw new LifecycleLoaderException( "Failed to load plugin: " + plugin + ". Reason: " + + e.getMessage(), e ); + } } - catch ( PluginLoaderException e ) + + if ( pluginDescriptor.getMojos() == null ) { - throw new LifecycleLoaderException( "Failed to load plugin: " + plugin + ". Reason: " - + e.getMessage(), e ); + logger.error( "Somehow, the PluginDescriptor for plugin: " + plugin.getKey() + " contains no mojos. This is highly irregular. Ignoring..." ); + continue; } - } - MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal ); - phase = mojoDescriptor.getPhase(); + MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal ); + phase = mojoDescriptor.getPhase(); - if ( phase == null ) - { - throw new LifecycleSpecificationException( "No phase specified for goal: " + goal - + " in plugin: " + plugin.getKey() + " from POM: " + projectId ); + if ( phase == null ) + { + throw new LifecycleSpecificationException( "No phase specified for goal: " + goal + + " in plugin: " + plugin.getKey() + " from POM: " + projectId ); + } } - } - LifecycleUtils.addMojoBinding( phase, mojoBinding, bindings ); + LifecycleUtils.addMojoBinding( phase, mojoBinding, bindings ); + } } } } Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Mon Mar 19 15:48:14 2007 @@ -173,6 +173,7 @@ // All version-resolution logic has been moved to DefaultPluginVersionManager. if ( plugin.getVersion() == null ) { + getLogger().debug( "Resolving version for plugin: " + plugin.getKey() ); String version = pluginVersionManager.resolvePluginVersion( plugin.getGroupId(), plugin.getArtifactId(), project, session ); plugin.setVersion( version ); Modified: maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java URL: http://svn.apache.org/viewvc/maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?view=diff&rev=520150&r1=520149&r2=520150 ============================================================================== --- maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java (original) +++ maven/components/branches/2.1-lifecycle-refactor/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Mon Mar 19 15:48:14 2007 @@ -90,6 +90,7 @@ // first pass...if the plugin is specified in the pom, try to retrieve the version from there. String version = getVersionFromPluginConfig( groupId, artifactId, project, resolveAsReportPlugin ); + getLogger().debug( "Version from POM: " + version ); // NOTE: We CANNOT check the current project version here, so delay it until later. // It will prevent plugins from building themselves, if they are part of the lifecycle mapping. @@ -107,6 +108,7 @@ } } } + getLogger().debug( "Version from another POM in the reactor: " + version ); // third pass...we're always checking for latest install/deploy, so retrieve the version for LATEST metadata and // also set that resolved version as the <useVersion/> in settings.xml. @@ -114,6 +116,7 @@ { // 1. resolve the version to be used version = resolveMetaVersion( groupId, artifactId, project, localRepository, Artifact.LATEST_VERSION ); + getLogger().debug( "Version from LATEST metadata: " + version ); } // final pass...retrieve the version for RELEASE and also set that resolved version as the <useVersion/> @@ -122,6 +125,7 @@ { // 1. resolve the version to be used version = resolveMetaVersion( groupId, artifactId, project, localRepository, Artifact.RELEASE_VERSION ); + getLogger().debug( "Version from RELEASE metadata: " + version ); } // if we're still empty here, and the current project matches the plugin in question, use the current project's @@ -130,6 +134,7 @@ project.getArtifactId().equals( artifactId ) ) { version = project.getVersion(); + getLogger().debug( "Version from POM itself (this project IS the plugin project): " + version ); } // if we still haven't found a version, then fail early before we get into the update goop.