+1 this community does rock!

Sent from my iPhone

On Apr 14, 2011, at 12:33 PM, Eitan Suez <[email protected]> wrote:

> hi Steve,
> 
>  indeed.. :-)
> 
>  thanks for the tip!  i will try to make some time to study the
> hibernate build file
>  to see how you do this.
> 
>  i must say this gradle community rocks.  lots of friendly folks
> helping each other
>  out..
> 
> / Eitan
> 
> On Thu, Apr 14, 2011 at 9:36 AM, Steve Ebersole <[email protected]> wrote:
>> Hi Eitan, long time! :)
>> 
>> Just wanted to point out that another option is to define the copyspec
>> separately and have individual tasks for each zip along with a "grouping
>> task" that defines deps on the separate tasks.  This is exactly what I do to
>> build the Hibernate release bundles.  I can point you to the build or copy
>> in snippets if this approach interests you.
>> 
>> On Apr 13, 2011 12:11 PM, "Eitan Suez" <[email protected]> wrote:
>>> hello,
>>> 
>>> i'm a gradle newb. first of all i'd like to say thank you for gradle.
>>> 
>>> i'm trying to write a task that creates a set of zip files, one per
>>> environment. something like this:
>>> 
>>> task packageEnvironments {
>>> description = "Package environment-specific artifacts."
>>> 
>>> doLast {
>>> ['branch', 'stage', 'production', 'released'].each { envName ->
>>> println "Packaging runtime environment: ${envName}"
>>> zip {
>>> appendix = envName
>>> into "catalina/${envName}"
>>> from "env/webapp/${envName}/catalina"
>>> into('lib') {
>>> from configurations.deploy2CatalinaLib
>>> }
>>> }
>>> }
>>> }
>>> }
>>> 
>>> except that, unlike the project.copy() action, there's no
>>> project.zip() action. i sure would like one.
>>> further, i can't even figure out *how* to do this in gradle without
>>> a zip action.
>>> so far, i'm trying to coerce a task as an action like this:
>>> 
>>> task packageEnvironments {
>>> description = "Package environment-specific artifacts."
>>> 
>>> doLast {
>>> task zipIt(type: Zip)
>>> ['branch', 'stage', 'production', 'released'].each { envName ->
>>> println "Packaging runtime environment: ${envName}"
>>> zipIt.configure {
>>> appendix = envName
>>> into "catalina/${envName}"
>>> from "env/webapp/${envName}/catalina"
>>> into('lib') {
>>> from configurations.deploy2CatalinaLib
>>> }
>>> }
>>> zipIt.execute()
>>> }
>>> }
>>> }
>>> 
>>> and it doesn't work. it produces the first zip file, but is a no-op
>>> for the remainder
>>> (perhaps because the inputs/outputs have already been set and perhaps are
>>> immutable and so the next time around it figures the task is
>>> perhaps up to date?).
>>> 
>>> my experience *so far* with gradle is wonderful, with this one exception.
>>> 
>>> the main disconnect i have is wanting to compose tasks,
>>> wanting to invoke a task or think of a task as a function or something
>>> one can parameterize. but can't. perhaps i shouldn't and that's fine.
>>> 
>>> but sometimes there are all these tasks that one just wants to execute
>>> and can't because they're not executable like functions are.
>>> 
>>> perhaps what i'm asking for is action versions of the various tasks
>>> that gradle exposes? i.e. a copy action (we have), a zip action (is
>>> there such
>>> a thing?), an exec action (?)..
>>> 
>>> often i find myself falling back to using an antbuilder task even when
>>> a gradle equivalent exists because i can treat an ant task as an action,
>>> something i can invoke with its configurations as arguments. i.e. i
>>> often cannot
>>> figure out how to use the gradle equivalent properly.
>>> 
>>> anyhow, thanks in advance for any help figuring out how to get this 'zip
>>> in
>>> a for loop' task working.
>>> 
>>> / eitan
>>> 
>>> ---------------------------------------------------------------------
>>> 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