You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/05/15 16:08:44 UTC
svn commit: r775141 - in /maven/components/branches/MNG-2766: ./
maven-core/src/main/java/org/apache/maven/lifecycle/
maven-core/src/main/java/org/apache/maven/project/
maven-core/src/test/java/org/apache/maven/project/
maven-embedder/src/main/java/org...
Author: jvanzyl
Date: Fri May 15 14:08:43 2009
New Revision: 775141
URL: http://svn.apache.org/viewvc?rev=775141&view=rev
Log:
o getting rid of some dead code in the project builder in preparation for trying to group more of the profile handling code as a test is failing in the embedder related to profiles while everything in the pom construction test is working correctly.
Removed:
maven/components/branches/MNG-2766/README.bootstrap.mercury.txt
maven/components/branches/MNG-2766/maven-project-spec.pdf
maven/components/branches/MNG-2766/maven-project-spec.tex
maven/components/branches/MNG-2766/rules.txt
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/branches/MNG-2766/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Fri May 15 14:08:43 2009
@@ -17,7 +17,6 @@
import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -986,6 +985,6 @@
ArtifactResolutionResult result = repositorySystem.resolve( request );
resolutionErrorHandler.throwErrors( request, result );
- project.setArtifacts( result.getArtifacts() );
+ project.setArtifacts( result.getArtifacts() );
}
}
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri May 15 14:08:43 2009
@@ -279,12 +279,12 @@
{
MavenProject project = build( pomFile, configuration );
- Artifact artifact =
- repositorySystem.createProjectArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion() );
+ Artifact artifact = repositorySystem.createProjectArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion() );
artifact.setFile( pomFile );
ArtifactResolutionRequest request = new ArtifactResolutionRequest()
.setArtifact( artifact )
+ .setResolveRoot( false )
.setResolveTransitively( true )
.setLocalRepository( configuration.getLocalRepository() )
.setRemoteRepostories( project.getRemoteArtifactRepositories() )
@@ -302,8 +302,6 @@
project.setArtifacts( result.getArtifacts() );
- project.getArtifacts().remove( artifact );
-
return new MavenProjectBuildingResult( project, result );
}
@@ -377,12 +375,8 @@
if ( domainModel.getParentId() != null )
{
List<DomainModel> mavenParents;
- MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor();
- if ( useTopLevelProjectForParent( domainModel, topProject ) )
- {
- mavenParents = getDomainModelParentsFromLocalPath( domainModel, localRepository, remoteRepositories, topProject.getFile(), projectBuilderConfiguration );
- }
- else if ( isParentLocal( domainModel.getRelativePathOfParent(), pomFile.getParentFile() ) )
+
+ if ( isParentLocal( domainModel.getRelativePathOfParent(), pomFile.getParentFile() ) )
{
mavenParents = getDomainModelParentsFromLocalPath( domainModel, localRepository, remoteRepositories, pomFile.getParentFile(), projectBuilderConfiguration );
}
@@ -445,19 +439,6 @@
return transformedDomainModel;
}
- private static boolean useTopLevelProjectForParent( DomainModel currentModel, MavenProject topProject )
- throws IOException
- {
- if ( topProject == null || currentModel.getModel().getParent() == null )
- {
- return false;
- }
-
- return topProject.getGroupId().equals( currentModel.getParentGroupId() ) && topProject.getArtifactId().equals( currentModel.getParentArtifactId() )
- && topProject.getVersion().equals( currentModel.getParentVersion() );
-
- }
-
private void validateModel( Model model, File pomFile )
throws InvalidProjectModelException
{
@@ -604,22 +585,16 @@
{
parentFile = new File( parentFile.getAbsolutePath(), "pom.xml" );
}
+
MavenProject topProject = projectBuilderConfiguration.getTopLevelProjectFromReactor();
- boolean isTop = useTopLevelProjectForParent( domainModel, topProject );
+
DomainModel parentDomainModel = null;
- if ( !isTop )
+ if ( !parentFile.isFile() )
{
- if ( !parentFile.isFile() )
- {
- throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() );
- }
- parentDomainModel = new DomainModel( parentFile );
- parentDomainModel.setProjectDirectory( parentFile.getParentFile() );
- }
- else
- {
- parentDomainModel = new DomainModel( projectBuilderConfiguration.getTopLevelProjectFromReactor().getFile() );
+ throw new IOException( "File does not exist: File = " + parentFile.getAbsolutePath() );
}
+ parentDomainModel = new DomainModel( parentFile );
+ parentDomainModel.setProjectDirectory( parentFile.getParentFile() );
if ( !parentDomainModel.matchesParentOf( domainModel ) )
{
@@ -639,20 +614,8 @@
domainModels.add( parentDomainModel );
if ( domainModel.getParentId() != null )
- {
- if ( isTop )
- {
- if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) )
- {
- domainModels
- .addAll( getDomainModelParentsFromLocalPath( parentDomainModel, localRepository, remoteRepositories, topProject.getFile().getParentFile(), projectBuilderConfiguration ) );
- }
- else
- {
- domainModels.addAll( getDomainModelParentsFromRepository( parentDomainModel, localRepository, remoteRepositories ) );
- }
- }
- else if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) )
+ {
+ if ( isParentLocal( parentDomainModel.getRelativePathOfParent(), parentFile.getParentFile() ) )
{
domainModels.addAll( getDomainModelParentsFromLocalPath( parentDomainModel, localRepository, remoteRepositories, parentFile.getParentFile(), projectBuilderConfiguration ) );
}
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProject.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/project/MavenProject.java Fri May 15 14:08:43 2009
@@ -577,12 +577,16 @@
list.add( getBuild().getOutputDirectory() );
+ System.out.println( ">>>>> " + getArtifacts() );
+
for ( Artifact a : getArtifacts() )
{
if ( a.getArtifactHandler().isAddedToClasspath() )
{
File file = a.getFile();
+ System.out.println( ">> " + a.getArtifactId() );
+
if ( file == null )
{
throw new DependencyResolutionRequiredException( a );
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java Fri May 15 14:08:43 2009
@@ -20,8 +20,6 @@
*/
import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -29,13 +27,10 @@
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.ProfileActivationContext;
import org.apache.maven.project.harness.PomTestWrapper;
import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
public class PomConstructionTest
extends PlexusTestCase
@@ -50,13 +45,11 @@
private File testDirectory;
- private File testMixinDirectory;
-
protected void setUp()
throws Exception
{
testDirectory = new File( getBasedir(), BASE_POM_DIR );
- testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR );
+ new File( getBasedir(), BASE_MIXIN_DIR );
mavenProjectBuilder = (DefaultMavenProjectBuilder) lookup( MavenProjectBuilder.class );
}
@@ -1470,10 +1463,11 @@
localRepoUrl = "file://" + localRepoUrl;
config.setLocalRepository( new DefaultArtifactRepository( "local", localRepoUrl, new DefaultRepositoryLayout() ) );
- ProfileActivationContext pCtx = new ProfileActivationContext( null, true );
+ ProfileActivationContext profileActivationContext = new ProfileActivationContext( null, true );
+
if ( profileIds != null )
{
- pCtx.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) );
+ profileActivationContext.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) );
}
if ( executionProperties != null )
@@ -1481,7 +1475,7 @@
config.setExecutionProperties( executionProperties );
}
- config.setGlobalProfileManager( new DefaultProfileManager( pCtx ) );
+ config.setGlobalProfileManager( new DefaultProfileManager( profileActivationContext ) );
return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) );
}
Modified: maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Fri May 15 14:08:43 2009
@@ -54,8 +54,7 @@
}
/** @noinspection ConfusingMainMethod */
- public static int main( String[] args,
- ClassWorld classWorld )
+ public static int main( String[] args, ClassWorld classWorld )
{
MavenCli cli = new MavenCli();
Modified: maven/components/branches/MNG-2766/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?rev=775141&r1=775140&r2=775141&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java Fri May 15 14:08:43 2009
@@ -137,6 +137,30 @@
assertTrue( jar.exists() );
}
+ public void testWithOptionalDependencies()
+ throws Exception
+ {
+ File testDirectory = new File( basedir, "src/test/projects/optional-dep" );
+
+ File targetDirectory = new File( basedir, "target/projects/option-dep" );
+
+ FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
+
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest()
+ .setBaseDirectory( targetDirectory )
+ .setShowErrors( true )
+ .setGoals( Arrays.asList( new String[] { "install" } ) );
+
+ MavenExecutionResult result = mavenEmbedder.execute( request );
+
+ if (result.hasExceptions() )
+ {
+ result.getExceptions().get( 0 ).printStackTrace();
+ fail( "Project didn't execute correctly.");
+ }
+ }
+
+
/*MNG-3919*/
public void testWithInvalidGoal()
throws Exception
@@ -147,8 +171,10 @@
FileUtils.copyDirectoryStructure( testDirectory, targetDirectory );
- MavenExecutionRequest request = new DefaultMavenExecutionRequest().setBaseDirectory( targetDirectory )
- .setShowErrors( true ).setGoals( Arrays.asList( new String[]{"validate"} ) );
+ MavenExecutionRequest request = new DefaultMavenExecutionRequest()
+ .setBaseDirectory( targetDirectory )
+ .setShowErrors( true )
+ .setGoals( Arrays.asList( new String[]{"validate"} ) );
MavenExecutionResult result = mavenEmbedder.execute( request );
List exceptions = result.getExceptions();
@@ -199,7 +225,8 @@
// Check with profile not active
MavenExecutionRequest requestWithoutProfile = new DefaultMavenExecutionRequest()
- .setPom( new File( targetDirectory, "pom.xml" ) ).setShowErrors( true )
+ .setPom( new File( targetDirectory, "pom.xml" ) )
+ .setShowErrors( true )
.setGoals( Arrays.asList( new String[] { "validate" } ) );
MavenExecutionResult r0 = mavenEmbedder.execute( requestWithoutProfile );
@@ -226,6 +253,9 @@
MavenProject p1 = r1.getProject();
+ System.out.println( p1 );
+ System.out.println( p1.getProperties() );
+
assertEquals( "true", p1.getProperties().getProperty( "embedderProfile" ) );
assertEquals( "jason", p1.getProperties().getProperty( "name" ) );