Hi Adam,

On Tue, Jan 5, 2010 at 4:15 AM, Adam Murdoch <[email protected]> wrote:

>
>
> On 4/01/10 8:36 PM, Narco wrote:
>
> Hans, as I already said there is no configuration object so I have no idea
> how to get that  'pathWithCustomAntTask.jar'.
> So, how to get dependencies path from initscript? example:
> initscript {
>     repositories {
>         add(new org.apache.ivy.plugins.resolver.URLResolver()) {
>             ...
>         }
>     }
>     dependencies {
>         classpath group: 'ant-apache-oro', name: 'ant-apache-oro', version:
> '1.7.1'
>         classpath group: 'jakarta-oro', name: 'jakarta-oro', version:
> '2.0.8'
>     }
> }
> AntBuilder ant = new AntBuilder()
> //now I should add jars from dependencies to ant classpath, please help
> ant.p4sync(view: "...${changelist}")
>
>
>
> You can use initscript.configurations.classpath, which is a Configuration
> object. Or you could add a p4 configuration:
>
> initscript {
>     configurations.add('p4')
>     repositories { ... }
>     dependencies { p4 group: ..., name: ..., version: ... }
> }
>
> and use initscript.configurations.p4
>
> I've added http://jira.codehaus.org/browse/GRADLE-792 and
> http://jira.codehaus.org/browse/GRADLE-793 to improve this for init
> scripts.
>

Thanks Adam. I forgot about that.

- Hans


>
>
>  Hans Dockter wrote:
>
>
>  On Tue, Dec 22, 2009 at 11:14 AM, Narco <[email protected]> <[email protected]> 
> wrote:
>
>
>
>  John, You got my point how things should work :) However, I don`t want to
> use
> gradlew. I already have special bootstrap tool which downloads jdk,
> gradle,
> gwt etc from internal repository to set up client machine or even build
> machine. I need to ensure build reproducibility what means I need to be
> able
> to build any previous project state with simple switch on command line.
> At
> the same time I need to be sure that all client machines always builds
> with
> latest build scripts and sources when no switch is specified. This can be
> done only before project build. Since init.script is also managed by my
> bootstrap (dedicated from project) I can use it for this synchronization
> from VCS.
>
> So, Hans, Yes, I want to _execute_ the perforce ant task when the init
> script is evaluated.
>
>
>
>  You can use the plain Groovy AntBuilder in the init.gradle.
>
> AntBuilder ant = new AntBuilder()
> ant.getClass().classLoader.addURL(new
> File('pathWithCustomAntTask.jar').toURL()) }
> ant.someAntTask {
>
> }
>
> - Hans
>
> --
> Hans Dockter
> Gradle Project Managerhttp://www.gradle.org
>
>
>      John Murph wrote:
>
>
>  On Mon, Dec 21, 2009 at 10:50 AM, Hans Dockter <[email protected]> 
> <[email protected]> wrote:
>
>
>
>  On Mon, Dec 21, 2009 at 10:58 AM, Narco <[email protected]> <[email protected]> 
> wrote:
>
>
>
>  I see, is there a JIRA issue?
> I have a bit complicated problem since I need to get it working from
> init.gradle script where object configurations does not exists.
>
>
>   Please
>
>
>   help.
>
>
>
>  You don't need configurations. You just need file objects for
>
>
>  injecting
>
>
>  the
> jars into the classloader.
>
> Do you want to _execute_ the perforce java task when the init script
>
>
>  is
>
>
>  evaluated?
>
>
>
>
>  Wow, that's interesting.  I envision giving someone gradlew (and
>
>
>  friends)
>
>
>  and an init.script.  When they run it, it could pull down the "correct
> version" of Gradle (this makes it a bit different from gradlew,
>
>
>  though...)
>
>
>  and then run the init script.  That script could then pull the
>
>
>  necessary
>
>
>  sources from VCS (Perforce, or whatever) and then build it, which means
>
>
>  I
>
>
>  want to _execute_ tasks from my init script.  For what I'm thinking, I
> would
> want gradlew to get a specific release of Gradle, but be able to change
> that
> without touching the client machine.  Maybe have gradlew get Gradle
>
>
>  from
>
>
>  my
> own repository and use the latest version (I'm assuming I would never
>
>
>  want
>
>
>  to go back to an older version).   In gradle-wrapper.properties, can
> distributionVersion be '0.9+'?  Or could I get gradlew to pull down a
>
>
>  new
>
>
>  gradle-wrapper.properties from my binary repository and then use that
> properties file to find the Gradle to use?
>
> BTW, the reason that I care is when I'm thinking about integrating
>
>
>  Gradle
>
>
>  into our build process that involves non-software development teams.
>
>
>  For
>
>
>  instance, we have a team that produces other data that goes into our
> product.  I want these teams to "publish" their contributions to our
> internal binary repository.  But, that's a lot of people (say 50 or
>
>
>  so),
>
>
>  so
> I don't want to have to maintain their Gradle installations.  If I
>
>
>  could
>
>
>  just put Gradlew (and a simple init script) on their machines the first
> time
> and be able to push stuff to the repo to "update" them on the fly it
>
>
>  would
>
>
>  simply maintenance.
>
> All this makes me wonder if gradlew could be changed to use a script
> rather
> than a properties file.  Then I could put logic into it to do things
>
>
>  like
>
>
>  get more data from the repository and use that data to find the version
>
>
>  of
>
>
>  Gradle to extract.  Which goes towards Gradle being a script execution
> engine with support for automatically downloading and using plugins
>
>
>  (think
>
>
>  Ruby gems).  The "Gradle install" becomes 20 or 30 KB, and everything
>
>
>  else
>
>
>  gets downloaded on demand.  Anyway, just something to think about.
>
> Sorry Narco, not trying to hijack your thread.  I'll shut up now.  :)
>
>
> --
> John Murph
> Automated Logic Research Team
>
>
>
>
>  --
> View this message in 
> context:http://old.nabble.com/Using-ant.p4sync-task-from-gradle-0.8-tp26829605p26886219.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
>
>
>
>
> --
> Adam Murdoch
> Gradle Developerhttp://www.gradle.org
>
>

Reply via email to