Author: sisbell
Date: Thu Aug 28 13:52:45 2008
New Revision: 689977

URL: http://svn.apache.org/viewvc?rev=689977&view=rev
Log:
A pom cannot inherit resources/testResources/pluginRepositories from a parent 
pom but it can from a super pom. Added this superPom inheritance.

Modified:
    
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java

Modified: 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=689977&r1=689976&r2=689977&view=diff
==============================================================================
--- 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 (original)
+++ 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 Thu Aug 28 13:52:45 2008
@@ -174,8 +174,17 @@
                     config,
                     projectDescriptor,
                     project.getParentFile(),
-                    true,
-                    true);
+                    true
+            );
+
+            Build build = project.getBuild();
+            // NOTE: setting this script-source root before path translation, 
because
+            // the plugin tools compose basedir and scriptSourceRoot into a 
single file.
+            project.addScriptSourceRoot(build.getScriptSourceDirectory());
+            project.addCompileSourceRoot(build.getSourceDirectory());
+            project.addTestCompileSourceRoot(build.getTestSourceDirectory());
+            // Only track the file of a POM in the source tree
+            project.setFile(projectDescriptor);
         }
         return project;
     }
@@ -214,7 +223,7 @@
             project = readModelFromLocalPath("unknown", artifact.getFile(), 
new PomArtifactResolver(config.getLocalRepository(),
                     artifactRepositories, artifactResolver), config);
             project = buildInternal(project.getModel(), config, 
artifact.getFile(), project.getParentFile(),
-                    false, false);
+                    false);
         }
 
         return project;
@@ -326,27 +335,22 @@
                                                                    
ProjectBuilderConfiguration config)
             throws ProjectBuildingException {
         MavenProject project = build(projectDescriptor, config);
-        Artifact projectArtifact = project.getArtifact();
-
-        String projectId = safeVersionlessKey(project.getGroupId(), 
project.getArtifactId());
-
-        Map managedVersions = project.getManagedVersionMap();
 
         try {
             
project.setDependencyArtifacts(project.createArtifacts(artifactFactory, null, 
null));
         }
         catch (InvalidDependencyVersionException e) {
-            throw new ProjectBuildingException(projectId,
+            throw new 
ProjectBuildingException(safeVersionlessKey(project.getGroupId(), 
project.getArtifactId()),
                     "Unable to build project due to an invalid dependency 
version: " +
                             e.getMessage(), projectDescriptor, e);
         }
 
         ArtifactResolutionRequest request = new ArtifactResolutionRequest()
-                .setArtifact(projectArtifact)
+                .setArtifact(project.getArtifact())
                 .setArtifactDependencies(project.getDependencyArtifacts())
                 .setLocalRepository(config.getLocalRepository())
                 .setRemoteRepostories(project.getRemoteArtifactRepositories())
-                .setManagedVersionMap(managedVersions)
+                .setManagedVersionMap(project.getManagedVersionMap())
                 .setMetadataSource(artifactMetadataSource);
 
         ArtifactResolutionResult result = artifactResolver.resolve(request);
@@ -378,8 +382,8 @@
                                        ProjectBuilderConfiguration config,
                                        File projectDescriptor,
                                        File parentDescriptor,
-                                       boolean isReactorProject,
-                                       boolean fromSourceTree)
+                                       boolean isReactorProject
+    )
             throws ProjectBuildingException {
 
         MavenProject superProject;
@@ -436,21 +440,6 @@
             throw new InvalidProjectModelException(projectId, e.getMessage(), 
projectDescriptor, e);
         }
 
-        if (fromSourceTree) {
-            Build build = project.getBuild();
-
-            // NOTE: setting this script-source root before path translation, 
because
-            // the plugin tools compose basedir and scriptSourceRoot into a 
single file.
-            project.addScriptSourceRoot(build.getScriptSourceDirectory());
-
-            project.addCompileSourceRoot(build.getSourceDirectory());
-
-            project.addTestCompileSourceRoot(build.getTestSourceDirectory());
-
-            // Only track the file of a POM in the source tree
-            project.setFile(projectDescriptor);
-        }
-
         projectWorkspace.storeProjectByCoordinate(project);
         projectWorkspace.storeProjectByFile(project);
 

Modified: 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=689977&r1=689976&r2=689977&view=diff
==============================================================================
--- 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
 (original)
+++ 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
 Thu Aug 28 13:52:45 2008
@@ -367,18 +367,29 @@
                 tmp.add( index, new ModelProperty( 
ProjectUri.Scm.developerConnection, scmDeveloperUrl.toString() ) );
             }
 
-
-            //Remove Plugin Repository Inheritance Rule
             //Project Name Inheritance Rule
             //Packaging Inheritance Rule
-            //Build Resources Inheritence Rule
-            //Build Test Resources Inheritance Rule
             //Profiles not inherited rule
             for ( ModelProperty mp : tmp )
             {
                 String uri = mp.getUri();
                 if ( domainModels.indexOf( domainModel ) > 0 && ( uri.equals( 
ProjectUri.name ) ||
-                    uri.equals( ProjectUri.packaging ) || uri.startsWith( 
ProjectUri.Profiles.xUri ) ||
+                    uri.equals( ProjectUri.packaging ) || uri.startsWith( 
ProjectUri.Profiles.xUri )
+                     ) )
+                {
+                    clearedProperties.add( mp );
+                }
+            }
+
+            //Remove Plugin Repository Inheritance Rule
+            //Build Resources Inheritence Rule
+            //Build Test Resources Inheritance Rule
+            //Only inherit the above from super pom (domainModels.size() -1)
+            for ( ModelProperty mp : tmp )
+            {
+                String uri = mp.getUri();
+                if ( domainModels.indexOf( domainModel ) > 0
+                        && domainModels.indexOf(domainModel) != 
(domainModels.size() -1 ) && (
                     uri.startsWith( ProjectUri.Build.Resources.xUri ) ||
                     uri.startsWith( ProjectUri.Build.TestResources.xUri ) ||
                     uri.startsWith( ProjectUri.PluginRepositories.xUri ) ) )
@@ -386,6 +397,7 @@
                     clearedProperties.add( mp );
                 }
             }
+            
             ModelProperty artifactId = getPropertyFor( ProjectUri.artifactId, 
tmp );
             if ( artifactId != null )
             {


Reply via email to