Yeah, I have it all setup exactly as you lay it out here.

I do alternate between compile project(":subproject") and just compile "the sub 
projects jar from my repo" when the subproject reaches various versions 
(something I also love about Gradle.. being able to do compile level project 
dependency linking, and just switch it over to a jar dep.. whereas in mvn i'd 
be doing mvn install and keeping 2x terminals open to keep collaborating with 
myself haha)

Roger

On Jan 20, 2012, at 1:06 PM, Andrew Goode wrote:

> It's a multi-project build.  My "fat" jar contains all runtime dependencies, 
> including jars of 3 other projects.  So assuming you have project 
> dependencies defined (i.e. compile project(":subproject")) that end up in the 
> runtime configuration (i.e. configurations.runtime), your subprojects will be 
> included in your "fat" jar using my previous example.  This is one of the 
> great things about Gradle - makes it very easy to do this kind of thing.
> 
> -Andrew
> 
> -----Original Message-----
> From: Roger Studner [mailto:[email protected]] 
> Sent: Friday, January 20, 2012 11:35 AM
> To: [email protected]
> Subject: Re: [gradle-user] combo of things i'm trying to accomplish
> 
> Cool, thanks for the info!
> 
> Have you tried this on multi-project builds?  or is this for single-projects 
> only
> 
> (not a deal breaker, just curious!)
> 
> Roger
> 
> On Jan 20, 2012, at 11:31 AM, Andrew Goode wrote:
> 
>> Are you talking about using Simon Tuffs' One-JAR 
>> (http://one-jar.sourceforge.net/)?  I use this to package a "fat" executable 
>> jar in a Gradle script for one of my projects.
>> 
>> I think you have 2 options for using One-JAR within Gradle:
>> 
>> 1.  Try out one of the few Gradle plugins that some smart people have 
>> written e.g. Robert Fischer's OneJar plugin 
>> http://wiki.gradle.org/display/GRADLE/Plugins#Plugins-OneJarplugin
>> 
>> 2.  Use One-JAR's Ant task within your Gradle script.
>> 
>> I currently use #2 b/c it was really easy and allowed me to customize my 
>> build the way I wanted.  I use something like this:
>> 
>> apply plugin: "java"
>> 
>> jar {
>>       manifest {
>>               attributes 'Main-Class': 'your.executable.MainClass'
>>       }
>> }
>> 
>> task oneJar {
>>       dependsOn jar
>>       doFirst {
>>               ant.taskdef(name: "onejar", classname: 
>> "com.simontuffs.onejar.ant.OneJarTask", classpath: 
>> file("one-jar-ant-task-0.96.jar"), onerror: "report")
>>               ant.onejar(destfile: 
>> jar.destinationDir.path+"/"+project.archivesBaseName+"-cli-"+version+".jar") 
>> {
>>                       ant.main(jar: project.tasks.jar.archivePath)
>>                       ant.lib() {
>>                               configurations.runtime.findAll { 
>> !configurations.provided.contains(it) }.each { f ->
>>                                       ant.fileset(file: f.path)
>>                               }
>>                       }
>>               }
>>       }
>> }
>> 
>> Where "provided" is a custom configuration used simply to make sure certain 
>> things are excluded from the "fat" jar.
>> 
>> Good luck!
>> 
>> 
>> 
>> Andrew Goode | Technical Architect/Team Lead
>> tel: 678-762-6861
>> [email protected]
>> 1200 Lake Hearn Drive, Suite 500, Atlanta, GA, 30319 
>> http://www.nextraq.com
>> 
>> This communication, along with any attachment(s), is intended only for the 
>> use of the addressee(s) and may contain proprietary, confidential or 
>> privileged information. If you are not the intended recipient, you are 
>> hereby notified that any dissemination, distribution or copying of any 
>> information contained in or attached to this communication is strictly 
>> prohibited. If you have received this message in error, please notify the 
>> sender immediately and destroy the original communication and its 
>> attachments without reading, printing or saving in any manner. Thank you.
>> 
>> -----Original Message-----
>> From: Roger Studner [mailto:[email protected]]
>> Sent: Friday, January 20, 2012 10:26 AM
>> To: [email protected]
>> Subject: [gradle-user] combo of things i'm trying to accomplish
>> 
>> I'm trying to wean someone off maven (yay!).. but they have one plugin 
>> I can't seem to beat :)
>> 
>> I want to be able to make, essentially, a "fat jar" that also has a 
>> MANIFEST.MF that is executable.
>> 
>> so fat jar problem (get all the classes etc etc into 1 jar).. combined with 
>> executable jar.
>> 
>> Thoughts?
>> 
>> Thanks!
>> 
>> Roger
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>> 
>>   http://xircles.codehaus.org/manage_email
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>> 
>>   http://xircles.codehaus.org/manage_email
>> 
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>    http://xircles.codehaus.org/manage_email
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
> 
>    http://xircles.codehaus.org/manage_email
> 
> 


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

    http://xircles.codehaus.org/manage_email


Reply via email to