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