Brett Porter wrote:

On 26/06/2008, at 10:10 PM, John Casey wrote:

I think basedir will be null if the project is being read from the repository. The second line is just a debug statement that crept through, from when I was having trouble with something like 10 ITs fail. They all pass under the current changes.

This holds true even with the changes to the super-POM...all tests pass. I can't vouch for projects outside of that test suite, but I'm sure it'll become apparent in the RCs.

Yep, I know - all I was wondering if it might have unexpected functional changes we could keep an eye out for. I think from memory it shouldn't. Other than the path changes the only thing I could think of was if someone used it as an expression and expected the unaligned value (but I think previously expressions always evaluated to aligned values and continue to do that now).


I think most people who are referring to these build paths will expect any value that they can wrap in a File instance and use...as long as they are correct (regardless of whether used in a multimodule or single build), I suspect people won't generally care whether they're absolute or relative.

For people changing these values from plugin executions, I'm guessing that they're changing all relevant values anyway, so that will simply become redundant with these changes...not detrimental, necessarily.





I'll work on getting these merged to trunk as well, though trunk is changing in this area so I'm not sure how relevant this code will wind up being.

Are you referring to Shane's work or something else? I wouldn't say "is changing"... Shane's work is, I thought, a proposal so far... since only he and I had been discussing it I figured it was a long way from consensus and it still has some way before I'm convinced it's the way to go.


I was referring to the general agreement that a refactored project-builder is long overdue in 2.x, and that we're starting to move toward some concrete ideas on how to make it better. Shane's proposal may be just that, but if we're getting the conversation started, I'm willing to bet we'll have some concrete designs hammered out soon. Typically, this seems to be how we operate...then, the real challenge is finding the spare cycles to get the new design implemented.

I'm hopeful that the new approach of implementing the proposal on a branch, then discussing it will ground these conversations a little more by investing the time-to-implement up front, for the most part.

-john



- Brett



-john

Brett Porter wrote:
Hi John,

Couple of questions:

On 26/06/2008, at 4:28 AM, [EMAIL PROTECTED] wrote:


-        pathTranslator.alignToBaseDirectory( model, basedir );
+        if ( basedir != null )
+        {
+            pathTranslator.alignToBaseDirectory( model, basedir );
+        }

Under what conditions is basedir null?


+ if ( logger != null && logger.isDebugEnabled() && projectDir == null )
+        {
+ logger.debug( "Null project directory from:", new Throwable() );
+        }
+

I didn't read the rest of the context - it just looks weird :) Is this indicative of a bug, or is projectDir == null expected behaviour?


 <build>
-    <directory>target</directory>
-    <outputDirectory>target/classes</outputDirectory>
+    <directory>${project.basedir}/target</directory>
+ <outputDirectory>${project.build.directory}/classes</outputDirectory>
   <finalName>${project.artifactId}-${project.version}</finalName>
-    <testOutputDirectory>target/test-classes</testOutputDirectory>
-    <sourceDirectory>src/main/java</sourceDirectory>
-    <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
-    <testSourceDirectory>src/test/java</testSourceDirectory>
+ <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> + <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> + <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory> + <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
   <resources>
     <resource>
-        <directory>src/main/resources</directory>
+        <directory>${project.basedir}/src/main/resources</directory>
     </resource>
   </resources>
   <testResources>
     <testResource>
-        <directory>src/test/resources</directory>
+        <directory>${project.basedir}/src/test/resources</directory>
     </testResource>

I know you've got test cases to check all the behaviour for people still using the pre-aligned values. Just wondering if this has any side effects (eg, would the default output dir go from being canonical to non-canonical)?

BTW, are you going to be merging these all to trunk in one hit later?

Thanks,
Brett

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
John Casey
Developer, PMC Member - Apache Maven (http://maven.apache.org)
Blog: http://www.ejlife.net/blogs/buildchimp/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
John Casey
Developer, PMC Member - Apache Maven (http://maven.apache.org)
Blog: http://www.ejlife.net/blogs/buildchimp/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to