hdockter wrote:
> 
> Hi Phil,
> 
> sorry for not answering earlier.
> 

No problem - real life always seems to get in my way too. ;)


hdockter wrote:
> 
> [...snipped to shorten length...]
> 
>> However, I'm not sure what to do with the 'gradlesettings' file.  I  
>> could
>> "include 'Core', 'Web', 'WebApp1', 'WebApp2', 'WebApp3',  
>> 'BackgroundApp'",
>> but I wasn't sure this was the right approach, since WebApp1,2,3  
>> are all
>> really independent of one another, and of course so is BackgroundApp.
> 
> This is the right approach. You need to include all projects which  
> should take part in the build independent of there relationships.
> 

Ok, so I'm guessing that the 'gradlesettings' file is used to determine
inter-project dependencies.  But can't this already be inferred from the
"dependsOn()" methods?  Say 'WebApp1' depeondsOn(':Web'), and 'Web'
dependsOn(':Core'), what exactly is the 'gradlesettings' file adding to the
process?

And in my case, I *usually* only want to build WebApp1 OR WebApp2 OR WebApp3
- not all 3 at once.  It just so happens that all 3 dependsOn(':Core'), so
they're all at the same 'root project' level.


hdockter wrote:
> 
>>
>> Second question, related to dependencies:  I'm probably going to  
>> show my
>> ignorance with Ivy here, but here goes.  ;)
>>
>> In the above example, I can specify my dependencies fine for  
>> compile time,
>> and the project compiles fine.  However, when I try to run "gradle  
>> dists" I
>> run into issues with what I assume are "runtime dependencies" from my
>> "compile dependencies" as I see non-optional Hibernate dependencies  
>> are
>> pulled down (i.e. ehcache, asm-attrs, etc.).  But for Sun jars,  
>> such as
>> 'jta.jar' these aren't available in the Maven repository (I assume  
>> due to
>> license).  However, the Hibernate POM describes this dependency as  
>> required
>> and therefore I assume Ivy tries to retrieve it, fails, and the build
>> terminates.
>>
>> Is my only recourse here to create my own clientModule with the  
>> correct
>> dependencies or is there some way I can 'override' where this one  
>> dependency
>> is looked up?  It doesn't seem to follow any of the  
>> classpathResolvers.add()
>> that I specified, and always (only) looks to the Maven rep.
> 
> The usual Ivy behavior is that the resolver that finds the pom is  
> also responsible for retrieving the jar. As Ivy allows to assign  
> multiple URL's to resolvers this is not really a problem. But the way  
> Gradle integrates the MavenRepo makes life harder than necessary for  
> your I think very common use case. I have filed an issue to make this  
> more convenient: http://jira.codehaus.org/browse/GRADLE-91
> 
> The way you have to do this now is to add another resolver.
> 

Yeah, I was assuming this was the way to do it.  But are there different
resolvers for compile time versus run time?  Because, as noted in my
original message, I added new resolvers via classpathResolvers.add(), but
these are only 'checked' by Ivy at compile time and are not respected when
resolving runtime dependencies (i.e., I don't see any attempt to use the
resolvers when it's trying to resolve Hibernate's runtime dependencies).


hdockter wrote:
> 
> I have to catch my plane right now and will paste the snippet how to  
> do this in another reply hopefully coming soon.
> - Hans
> --
> Hans Dockter
> Gradle Project lead
> http://www.gradle.org
> 

Thanks Hans - I appreciate your help and look forward to your snippet. ;)

Phil..
-- 
View this message in context: 
http://www.nabble.com/How-should-one-structure-multi-project-builds--tp17178473p17209593.html
Sent from the gradle-user mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to