jvanzyl 2003/12/28 15:36:48
Modified: maven-project/src/java/org/apache/maven/project
DefaultProjectBuilder.java
Log:
o look for maven.final.name and replace it. POM values interpolated in properties
files are a no no in 1.1+. Don't need it anyway in this case as we could certainly
change the plugin to just use the POM directly anyway if a real value isn't set.
Revision Changes Path
1.22 +55 -3
maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java
Index: DefaultProjectBuilder.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-project/src/java/org/apache/maven/project/DefaultProjectBuilder.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- DefaultProjectBuilder.java 27 Dec 2003 04:37:55 -0000 1.21
+++ DefaultProjectBuilder.java 28 Dec 2003 23:36:48 -0000 1.22
@@ -33,6 +33,8 @@
private Artifactory artifactory;
+ private String FILE_SEPARATOR = System.getProperty( "file.separator" );
+
// ----------------------------------------------------------------------
// Protected methods to be used by the Maven facade.
// ----------------------------------------------------------------------
@@ -80,15 +82,22 @@
{
modelToExtend = StringUtils.interpolate( modelToExtend, properties );
- File parentModel = new File( modelToExtend );
+ File parentModel;
+
+ if ( modelToExtend.startsWith( FILE_SEPARATOR ) )
+ {
+ parentModel = new File( modelToExtend );
+ }
+ else
+ {
+ parentModel = new File( projectDescriptor.getParentFile(),
modelToExtend );
+ }
Project parent = build( parentModel );
project.setParent( parent );
setupModelInheritance( project.getModel(), parent.getModel() );
-
- //project.setInterpolatedModel( parent.getInterpolatedModel() );
}
project.setProperties( properties );
@@ -97,7 +106,50 @@
project.setArtifacts( artifactory.createArtifacts( project ) );
+ alignDirectoryFieldsToBaseDirectory( project );
+
+ String mavenFinalName = project.getProperty( "maven.final.name" );
+
+ if ( mavenFinalName.indexOf( "${" ) >= 0 )
+ {
+ project.setProperty( "maven.final.name", project.getArtifactId() + "-"
+ project.getVersion() );
+ }
+
return project;
+ }
+
+ private void alignDirectoryFieldsToBaseDirectory( Project project )
+ {
+ // build.sourceDirectory
+ // build.unitTestSourceDirectory
+ // build.aspectSourceDirectory
+ // build.resources.resource.directory
+ // unitTest.resources.resource.directory
+
+ if ( project.getBuild() != null )
+ {
+
+ String s = project.getBuild().getSourceDirectory();
+
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ project.getBuild().setSourceDirectory( new File(
project.getFile().getParentFile(), s ).getPath() );
+ }
+
+ s = project.getBuild().getUnitTestSourceDirectory();
+
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ project.getBuild().setUnitTestSourceDirectory( new File(
project.getFile().getParentFile(), s ).getPath() );
+ }
+
+ s = project.getBuild().getAspectSourceDirectory();
+
+ if ( s != null && !s.startsWith( FILE_SEPARATOR ) )
+ {
+ project.getBuild().setAspectSourceDirectory( new File(
project.getFile().getParentFile(), s ).getPath() );
+ }
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]