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 )
{