<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-31414</id>
	<title>Nabble - codehaus - Gradle</title>
	<updated>2009-11-26T13:07:46Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/codehaus---Gradle-f31414.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/codehaus---Gradle-f31414.html" />
	<subtitle type="html">Gradle is a build system written in Groovy. It uses Groovy also as the language for its build scripts. It has powerful multi-project build support.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26534891</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-26T13:07:46Z</published>
	<updated>2009-11-26T13:07:46Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
&lt;br&gt;
&lt;br&gt;
John Murph wrote:
&lt;blockquote cite=&quot;mid:efed17330911240713u55ff1677v20b455f3a193a00c@mail.gmail.com&quot; type=&quot;cite&quot;&gt;On Mon, Nov 23, 2009 at 4:20 PM, Adam Murdoch &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26534891&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a@...&lt;/a&gt;&amp;gt;&lt;/span&gt;
wrote:&lt;br&gt;
  &lt;div class=&quot;gmail_quote&quot;&gt;
  &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
    &lt;div bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
    &lt;div&gt;
    &lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
    &lt;br&gt;
    &lt;/div&gt;
    &lt;/div&gt;
BTW, I'm not suggesting you do all this work, as you really only need
the equivalent of configure(object, scriptPath). I'm just trying to
figure out a direction for this stuff.
    &lt;div class=&quot;im&quot;&gt;&lt;br&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
  &lt;div&gt;&lt;br&gt;
LOL, thanks Adam.&amp;nbsp; I was worried about 2 seconds, then realized that
there was no way you wanted me to do all that.&amp;nbsp; I think I like the
unification of these items, they are obviously very related.&amp;nbsp; What
class would have the configure(*) methods?&amp;nbsp; This would need to be
available to almost everything.&amp;nbsp; Your unification thoughts almost
relegate init/settings/build scripts to different flavors of a single
thing.&amp;nbsp; Maybe a common base class for the delegate objects for these
scripts?&amp;nbsp; Or maybe composition?&amp;nbsp; I think I prefer composition here, but
there are several methods that will need to be delegated.&amp;nbsp; Maybe a
&quot;ConfigurableScript&quot; interface to describe the method signatures, a
&quot;ScriptExecutor&quot; class that contains the implementation (and implements
the &quot;ConfigurableScript&quot; interface).&amp;nbsp; Then each of the appropriate
classes can implement the interface and delegate those methods to the
class.&amp;nbsp; Seems inelegant, but reasonable.&lt;br&gt;
  &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
&lt;br&gt;
This is a good plan. Every script that Gradle compiles ends up as a
subclass of org.gradle.groovy.scripts.Script, so you could change that
to implement ConfigurableScript. This means that the configure(*)
methods will be available from every script. Then, you could perhaps
just change Project or Gradle to implement ConfigurableScript as well,
so that the configure(*) methods are available outside the scripts (eg
plugins, java classes, etc).&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;pre class=&quot;moz-signature&quot; cols=&quot;72&quot;&gt;-- 
Adam Murdoch
Gradle Developer
&lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;
&lt;/pre&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26534891.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26534820</id>
	<title>Re: conditional artifact publication</title>
	<published>2009-11-26T12:59:40Z</published>
	<updated>2009-11-26T12:59:40Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Ross Black wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there a way to conditionally add an artifact to a configuration, 
&lt;br&gt;&amp;gt; where the condition is evaluated at runtime?
&lt;br&gt;&amp;gt; eg. &amp;nbsp;I only want to add an artifact if a specific directory exists.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I was hoping the following would work (but it does not):
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; project.configurations {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; api
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Task apiTask = project.task('apiJar', type: Jar, dependsOn: 
&lt;br&gt;&amp;gt; 'classes') {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileSet(dir: project.apiClassesDir)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; apiTask.onlyIf {project.apiClassesDir.exists()}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; project.artifacts {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; api apiTask
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; ---
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The apiJar task correctly only generates the jar if the directory 
&lt;br&gt;&amp;gt; exists, but the artifact handler always expects that the file 
&lt;br&gt;&amp;gt; specified by the apiJar task exists even if the task has not run.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there some other way to achieve this?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Not really. Could you add a JIRA issue for this?
&lt;br&gt;&lt;br&gt;I can't think of a good work-around, either. Is it possible to figure 
&lt;br&gt;out at configuration time whether the api jar is needed?
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/conditional-artifact-publication-tp26494888p26534820.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26532777</id>
	<title>Re: Java heap space during uploadArchives execution</title>
	<published>2009-11-26T09:39:08Z</published>
	<updated>2009-11-26T09:39:08Z</updated>
	<author>
		<name>Robert Fischer</name>
	</author>
	<content type="html">Change your max heap size via GRADLE_OPTS
&lt;br&gt;&lt;br&gt;~~ Robert.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26532777&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Erwan.LACOSTE@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm facing a Java heap space during the upload of my files to Maven. 
&lt;br&gt;&amp;gt; I've looked into the mailing list, but the only matching problems 
&lt;br&gt;&amp;gt; actually come from the compiler. Here the execution of the task is in 
&lt;br&gt;&amp;gt; error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Caused by: org.gradle.api.GradleException: Could not publish 
&lt;br&gt;&amp;gt; configurations [configuration 'archives'].
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:44)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.publish(DefaultConfiguration.java:194) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.gradle.api.tasks.Upload.upload(Upload.java:57)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.gradle.api.DefaultTask.invokeMethod(DefaultTask.groovy)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:125)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:123)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 11 common frames omitted
&lt;br&gt;&amp;gt; Caused by: java.lang.OutOfMemoryError: Java heap space
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:338)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:305)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:267)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:238)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:143)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.wagon.providers.http.LightweightHttpWagon.put(LightweightHttpWagon.java:148) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:244) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:160) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:80) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.artifact.ant.DeployTask.doExecute(DeployTask.java:117)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.publish.maven.deploy.CustomDeployTask.doExecute(CustomDeployTask.java:42) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:665) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.execute(AbstractMavenResolver.java:186)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.commitPublishTransaction(AbstractMavenResolver.java:178)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:263)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.ivyservice.DefaultIvyDependencyPublisher.publish(DefaultIvyDependencyPublisher.java:62)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.ivyservice.DefaultIvyService.publish(DefaultIvyService.java:127) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsIvyService.publish(ShortcircuitEmptyConfigsIvyService.java:61)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:42)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at 
&lt;br&gt;&amp;gt; org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.publish(DefaultConfiguration.java:194) 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.gradle.api.tasks.Upload.upload(Upload.java:57)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any ideas? Trying :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; uploadArchives {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; (…)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; options.fork(memoryMaximumSize: '512m')
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Didn't work for me…
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks in advance.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Java-heap-space-during-uploadArchives-execution-tp26532758p26532777.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26532758</id>
	<title>Java heap space during uploadArchives execution</title>
	<published>2009-11-26T09:37:54Z</published>
	<updated>2009-11-26T09:37:54Z</updated>
	<author>
		<name>Rwanou</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=utf-8&quot;&gt;
&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;MS Exchange Server version 6.5.7655.2&quot;&gt;
&lt;TITLE&gt;Java heap space during uploadArchives execution&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;!-- Converted from text/rtf format --&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Hi all,&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;I'm facing a Java heap space during the upload of my files to Maven. I've looked into the mailing list, but the only matching problems actually come from the compiler. Here the execution of the task is in error:&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Caused by: org.gradle.api.GradleException: Could not publish configurations [configuration 'archives'].&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:44)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.publish(DefaultConfiguration.java:194)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.tasks.Upload.upload(Upload.java:57)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.DefaultTask.invokeMethod(DefaultTask.groovy)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:125)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.project.AnnotationProcessingTaskFactory$2.execute(AnnotationProcessingTaskFactory.java:123)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.AbstractTask.doExecute(AbstractTask.java:257)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:222)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... 11 common frames omitted&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Caused by: java.lang.OutOfMemoryError: Java heap space&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:338)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:305)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:267)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.AbstractWagon.putTransfer(AbstractWagon.java:238)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.StreamWagon.put(StreamWagon.java:143)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.wagon.providers.http.LightweightHttpWagon.put(LightweightHttpWagon.java:148)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:244)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:160)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:80)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.artifact.ant.DeployTask.doExecute(DeployTask.java:117)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.publish.maven.deploy.CustomDeployTask.doExecute(CustomDeployTask.java:42)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:665)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.execute(AbstractMavenResolver.java:186)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.publish.maven.deploy.AbstractMavenResolver.commitPublishTransaction(AbstractMavenResolver.java:178)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:263)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyDependencyPublisher.publish(DefaultIvyDependencyPublisher.java:62)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.ivyservice.DefaultIvyService.publish(DefaultIvyService.java:127)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.ivyservice.ShortcircuitEmptyConfigsIvyService.publish(ShortcircuitEmptyConfigsIvyService.java:61)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingIvyService.publish(ErrorHandlingIvyService.java:42)&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.publish(DefaultConfiguration.java:194)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.gradle.api.tasks.Upload.upload(Upload.java:57)&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Any ideas? Trying :&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;uploadArchives {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (…)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; options.fork(memoryMaximumSize: '512m')&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Didn't work for me…&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Thanks in advance.&lt;/FONT&gt;
&lt;/P&gt;

&lt;/BODY&gt;
&lt;/HTML&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Java-heap-space-during-uploadArchives-execution-tp26532758p26532758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26529227</id>
	<title>Downloading *-sources</title>
	<published>2009-11-26T05:10:29Z</published>
	<updated>2009-11-26T05:10:29Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Is there a way to tell Gradle to download the sources of the jar files as well? I looked at this thread: &lt;a href=&quot;http://old.nabble.com/Dowloading-*-sources.jar-td22064471.html#a22064471&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Dowloading-*-sources.jar-td22064471.html#a22064471&lt;/a&gt;, but it looks like Artifact is no longer there, and wondered if there is a better way to do this.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Shay&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Downloading-*-sources-tp26529227p26529227.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26524443</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T21:10:09Z</published>
	<updated>2009-11-25T21:10:09Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">Just wanted to verify that this works, thanks for the help.
&lt;br&gt;&lt;br&gt;&lt;quote author=&quot;Shay Banon&quot;&gt;&lt;br&gt;My eyes simply glanced over it (its late) ..., sorry.
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Paul Speed-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Quote from the original response: &amp;quot;Gradle will ignore any files it finds 
&lt;br&gt;in the resource dirs which are also included in the java dirs (or groovy 
&lt;br&gt;or scala dirs, if appropriate).&amp;quot;
&lt;br&gt;&lt;br&gt;So you should be covered.
&lt;br&gt;-Paul
&lt;br&gt;&lt;br&gt;Shay Banon wrote:
&lt;br&gt;&amp;gt; Thanks!,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; I will try it, but won't it copy over the java files as well? Can I
&lt;br&gt;&amp;gt; control the inclusion / exclusion for it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Shay
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Adam Murdoch-2 wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Shay Banon wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Add 'src/main/java' and 'src/test/java' as resource directories. Gradle 
&lt;br&gt;&amp;gt;&amp;gt; will ignore any files it finds in the resource dirs which are also 
&lt;br&gt;&amp;gt;&amp;gt; included in the java dirs (or groovy or scala dirs, if appropriate).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To do this, you can do something like:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.main.resources.srcDir 'src/main/java'
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.test.resources.srcDir 'src/test/java'
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; Adam Murdoch
&lt;br&gt;&amp;gt;&amp;gt; Gradle Developer
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;/quote&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26524443.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26524376</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T20:59:16Z</published>
	<updated>2009-11-25T20:59:16Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">My eyes simply glanced over it (its late) ..., sorry.
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Paul Speed-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Quote from the original response: &amp;quot;Gradle will ignore any files it finds 
&lt;br&gt;in the resource dirs which are also included in the java dirs (or groovy 
&lt;br&gt;or scala dirs, if appropriate).&amp;quot;
&lt;br&gt;&lt;br&gt;So you should be covered.
&lt;br&gt;-Paul
&lt;br&gt;&lt;br&gt;Shay Banon wrote:
&lt;br&gt;&amp;gt; Thanks!,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; I will try it, but won't it copy over the java files as well? Can I
&lt;br&gt;&amp;gt; control the inclusion / exclusion for it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Shay
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Adam Murdoch-2 wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Shay Banon wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Add 'src/main/java' and 'src/test/java' as resource directories. Gradle 
&lt;br&gt;&amp;gt;&amp;gt; will ignore any files it finds in the resource dirs which are also 
&lt;br&gt;&amp;gt;&amp;gt; included in the java dirs (or groovy or scala dirs, if appropriate).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To do this, you can do something like:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.main.resources.srcDir 'src/main/java'
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.test.resources.srcDir 'src/test/java'
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; Adam Murdoch
&lt;br&gt;&amp;gt;&amp;gt; Gradle Developer
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26524376.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26522350</id>
	<title>[ANN] SmokejumperIT Gradle-Plugins 0.1</title>
	<published>2009-11-25T15:47:39Z</published>
	<updated>2009-11-25T15:47:39Z</updated>
	<author>
		<name>Robert Fischer</name>
	</author>
	<content type="html">I'm starting to release my plugins, and I've figured out a reasonably 
&lt;br&gt;simple way for people to use them. &amp;nbsp;See my README here:
&lt;br&gt;&lt;a href=&quot;http://github.com/RobertFischer/gradle-plugins/blob/master/README.md&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/RobertFischer/gradle-plugins/blob/master/README.md&lt;/a&gt;&lt;br&gt;&lt;br&gt;Currently, I've released two plugins: ClassLoaders and Exec. &amp;nbsp;They allow 
&lt;br&gt;you to gain access to a classloader based on a configuration and execute 
&lt;br&gt;shell scripts (respectively).
&lt;br&gt;&lt;br&gt;A RunJRuby and a Cucumber plugin are coming presently. &amp;nbsp;The goal will be 
&lt;br&gt;to eat Cuke4Duke's lunch: I've been underwhelmed with Cuke4Duke's 
&lt;br&gt;ease-of-use.
&lt;br&gt;&lt;br&gt;Also thinking about a Conventional plugin, which would add source sets 
&lt;br&gt;based on the existence of directories, use the ~/.m2 repo, and maybe do 
&lt;br&gt;a few other standard stunts. &amp;nbsp;And, finally, I'm considering two 
&lt;br&gt;ease-of-use plugins: com.smokejumperit.gradle.AllPlugins &amp;nbsp;(which simply 
&lt;br&gt;pulls in all the plugins in the com.smokejumperit.gradle suite) and 
&lt;br&gt;com.smokejumperit.gradle.FavoritePlugins (which pulls in all my favorite 
&lt;br&gt;plugins with some pre-configuration).
&lt;br&gt;&lt;br&gt;Just FYI, Gradle is featuring prominently in my book on Polyglot 
&lt;br&gt;Programming. &amp;nbsp;:)
&lt;br&gt;&lt;br&gt;~~ Robert.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ANN--SmokejumperIT-Gradle-Plugins-0.1-tp26522350p26522350.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521746</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T14:53:06Z</published>
	<updated>2009-11-25T14:53:06Z</updated>
	<author>
		<name>Paul Speed-2</name>
	</author>
	<content type="html">Quote from the original response: &amp;quot;Gradle will ignore any files it finds 
&lt;br&gt;in the resource dirs which are also included in the java dirs (or groovy 
&lt;br&gt;or scala dirs, if appropriate).&amp;quot;
&lt;br&gt;&lt;br&gt;So you should be covered.
&lt;br&gt;-Paul
&lt;br&gt;&lt;br&gt;Shay Banon wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks!,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; I will try it, but won't it copy over the java files as well? Can I
&lt;br&gt;&amp;gt; control the inclusion / exclusion for it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Shay
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Adam Murdoch-2 wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Shay Banon wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Add 'src/main/java' and 'src/test/java' as resource directories. Gradle 
&lt;br&gt;&amp;gt;&amp;gt; will ignore any files it finds in the resource dirs which are also 
&lt;br&gt;&amp;gt;&amp;gt; included in the java dirs (or groovy or scala dirs, if appropriate).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; To do this, you can do something like:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.main.resources.srcDir 'src/main/java'
&lt;br&gt;&amp;gt;&amp;gt; sourceSets.test.resources.srcDir 'src/test/java'
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; Adam Murdoch
&lt;br&gt;&amp;gt;&amp;gt; Gradle Developer
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26521746.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521337</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T14:25:27Z</published>
	<updated>2009-11-25T14:25:27Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">Thanks!,
&lt;br&gt;&lt;br&gt;&amp;nbsp; I will try it, but won't it copy over the java files as well? Can I control the inclusion / exclusion for it?
&lt;br&gt;&lt;br&gt;Shay
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Adam Murdoch-2 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;&lt;br&gt;Shay Banon wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files that
&lt;br&gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;Add 'src/main/java' and 'src/test/java' as resource directories. Gradle 
&lt;br&gt;will ignore any files it finds in the resource dirs which are also 
&lt;br&gt;included in the java dirs (or groovy or scala dirs, if appropriate).
&lt;br&gt;&lt;br&gt;To do this, you can do something like:
&lt;br&gt;&lt;br&gt;sourceSets.main.resources.srcDir 'src/main/java'
&lt;br&gt;sourceSets.test.resources.srcDir 'src/test/java'
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26521337.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26521297</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T14:22:02Z</published>
	<updated>2009-11-25T14:22:02Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Shay Banon wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files that
&lt;br&gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;Add 'src/main/java' and 'src/test/java' as resource directories. Gradle 
&lt;br&gt;will ignore any files it finds in the resource dirs which are also 
&lt;br&gt;included in the java dirs (or groovy or scala dirs, if appropriate).
&lt;br&gt;&lt;br&gt;To do this, you can do something like:
&lt;br&gt;&lt;br&gt;sourceSets.main.resources.srcDir 'src/main/java'
&lt;br&gt;sourceSets.test.resources.srcDir 'src/test/java'
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26521297.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520723</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T13:37:28Z</published>
	<updated>2009-11-25T13:37:28Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">Yea, I know that this is a possibility. I simply don't like that structure. Is there a way to solve what I asked?
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Philip Crotwell wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;If you put them in src/main/resources instead, then they are copied
&lt;br&gt;automatically. Just make a parallel directory structure to reflect the
&lt;br&gt;java packages they are now in.
&lt;br&gt;&lt;br&gt;Philip
&lt;br&gt;&lt;br&gt;On Wed, Nov 25, 2009 at 4:27 PM, Shay Banon &amp;lt;kimchy@gmail.com&amp;gt; wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   What is the simplest way to configure gradle to copy non java files that
&lt;br&gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Shay
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520594.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520594.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the gradle-user mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520723.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520643</id>
	<title>Re: Copy non java files into the target directory</title>
	<published>2009-11-25T13:30:36Z</published>
	<updated>2009-11-25T13:30:36Z</updated>
	<author>
		<name>Philip Crotwell</name>
	</author>
	<content type="html">If you put them in src/main/resources instead, then they are copied
&lt;br&gt;automatically. Just make a parallel directory structure to reflect the
&lt;br&gt;java packages they are now in.
&lt;br&gt;&lt;br&gt;Philip
&lt;br&gt;&lt;br&gt;On Wed, Nov 25, 2009 at 4:27 PM, Shay Banon &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26520643&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kimchy@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;   What is the simplest way to configure gradle to copy non java files that
&lt;br&gt;&amp;gt; exists within src/main/java or src/test/java into their respective target
&lt;br&gt;&amp;gt; classes directory?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Shay
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520594.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520594.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the gradle-user mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520643.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26520594</id>
	<title>Copy non java files into the target directory</title>
	<published>2009-11-25T13:27:46Z</published>
	<updated>2009-11-25T13:27:46Z</updated>
	<author>
		<name>Shay Banon</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;What is the simplest way to configure gradle to copy non java files that exists within src/main/java or src/test/java into their respective target classes directory?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Shay&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Copy-non-java-files-into-the-target-directory-tp26520594p26520594.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26515646</id>
	<title>Re: Creating multiple jars</title>
	<published>2009-11-25T08:20:10Z</published>
	<updated>2009-11-25T08:20:10Z</updated>
	<author>
		<name>tog</name>
	</author>
	<content type="html">Thanks Adam, 2 more questions:&lt;br&gt;&lt;br&gt; - Is there a way to merge a signed jar - I would need either to remove the signatures or recompute them ?&lt;br&gt; - How can I have this jar (with the modified classifier) uploaded together with the &amp;quot;regular&amp;quot; one ?&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 24, 2009 at 4:08 AM, Adam Murdoch &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26515646&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&lt;br&gt;
tog wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi folks,&lt;br&gt;
&lt;br&gt;
In my project I would like to create multiple jars:&lt;br&gt;
  - one containing only the classes of my project (classic targer)&lt;br&gt;
  - a second one containing all dependencies,&lt;br&gt;
&lt;br&gt;
In the cookbook, it is said that I can do this:&lt;br&gt;
&lt;br&gt;
jar.doFirst {&lt;br&gt;
    for(file in configurations.compile) {&lt;br&gt;
        jar.merge(file)&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
What is the best way to achieve this ?&lt;br&gt;
  &lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;&lt;/div&gt;
You can add another jar task to build the fat jar:&lt;br&gt;
&lt;br&gt;
task fatJar(type: Jar) {&lt;br&gt;
   dependsOn classes&lt;br&gt;
   from sourceSet.main.classesDir&lt;br&gt;
   classifier = &amp;#39;all&amp;#39;  // Give the jar a different name&lt;br&gt;
   doFirst { task-&amp;gt;&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
       for(file in configurations.compile) {&lt;br&gt;&lt;/div&gt;
           task.merge(file)&lt;br&gt;
       }&lt;br&gt;
   }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div class=&quot;im&quot;&gt;
Clone the jar task ?&lt;br&gt;
&lt;br&gt;
Do something like a :&lt;br&gt;
jar.doLast{&lt;br&gt;
    jar.copy(jar-minimal.jar)&lt;br&gt;
    for(file in configurations.compile) {&lt;br&gt;
        jar.merge(file)&lt;br&gt;
    }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Thanks for your help&lt;br&gt;
&lt;br&gt;
Guillaume&lt;br&gt;
&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;im&quot;&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;br&gt;
&lt;/div&gt;&lt;/blockquote&gt;&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;
-- &lt;br&gt;
Adam Murdoch&lt;br&gt;
Gradle Developer&lt;br&gt;
&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe from this list, please visit:&lt;br&gt;
&lt;br&gt;
   &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;PGP KeyID: 1024D/69B00854  &lt;a href=&quot;http://subkeys.pgp.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;subkeys.pgp.net&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://cheztog.blogspot.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cheztog.blogspot.com&lt;/a&gt;&lt;br&gt;

&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Creating-multiple-jars-tp26467182p26515646.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26513518</id>
	<title>RE: Deploying to Maven</title>
	<published>2009-11-25T06:24:50Z</published>
	<updated>2009-11-25T06:24:50Z</updated>
	<author>
		<name>Rwanou</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.3627&quot; name=GENERATOR&gt;&lt;/HEAD&gt;
&lt;BODY style=&quot;WORD-WRAP: break-word; webkit-nbsp-mode: space; webkit-line-break: after-white-space&quot;&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;Thanks for the answers Hans.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;As promissed, I created a page inside the examples section 
of Gradle's Confluence. I cover there not only the Maven deploy part, but also 
environment configuration, which I started to speak about earlier this 
year.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;For all of you who are interested in the problems raised by 
this topic, please have a look here for some answers:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;A href=&quot;http://docs.codehaus.org/display/GRADLE/complete+example+-+environment+managment+and+maven+deploy&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://docs.codehaus.org/display/GRADLE/complete+example+-+environment+managment+and+maven+deploy&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;But of course you're not gonna get out of here so easily as 
I have some other questions :) (most of them raised as TODOs in the previous 
link). I'll try to ask only the ones that would take me too long dig for, and 
I'll update the WIKI with the answer I get from myself 
eventually.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;1) any SVN plugin? Anyway to Gradelly commit, tag or even 
branch something?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;2) Anyway to change the project version number from the 
command line?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;3) disable the disabling of tests. Meaning that skipping 
the tests&amp;nbsp;would NOT be&amp;nbsp;possible when running some definite 
tasks?&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;4) I noticed some behaviour with my multiproject 
tasks.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;Here's roughly the structure:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;ROOT/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SERVICE/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WEB-LAYER/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
WAR-PROJECT/&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;WEB-LAYER is not a project, just a folder containing 
projects. When I run at the root &quot;$gradle release&quot;, then the output would 
be:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;:RASFF-core:compileJava&lt;BR&gt;:RASFF-core:bind&lt;BR&gt;[ant:echo] 
Binding with 
jibx...&lt;BR&gt;:RASFF-core:processResources&lt;BR&gt;:RASFF-core:classes&lt;BR&gt;:RASFF-core:jar&lt;BR&gt;:RASFF-core:uploadDefaultInternal&lt;BR&gt;:RASFF-core:uploadArchives&lt;BR&gt;:RASFF-core:release&lt;BR&gt;:RASFF-web:compileJava&amp;nbsp; 
???????&lt;BR&gt;:RASFF-web:processResources&amp;nbsp; 
????????&lt;BR&gt;:RASFF-web:classes&amp;nbsp; ??????????&lt;BR&gt;:RASFF-web:jar SKIPPED 
?????????&lt;BR&gt;:RASFF-web:uploadArchives SKIPPED ???????&lt;BR&gt;:RASFF-web:release 
?????????&lt;BR&gt;:RASFF-web:RASFF-web:compileJava&lt;BR&gt;:RASFF-web:RASFF-web:processResources&lt;BR&gt;:RASFF-web:RASFF-web:classes&lt;BR&gt;:RASFF-web:RASFF-web:initConfiguration&lt;BR&gt;no 
environment specified, skipping.&lt;BR&gt;:RASFF-web:RASFF-web:war&lt;BR&gt;version is: 
2.2.0.DEV13-BUILD-6-SNAPSHOT&lt;BR&gt;:RASFF-web:RASFF-web:uploadArchives&lt;BR&gt;:RASFF-web:RASFF-web:release&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;As you see, I had to manually disable the 'RASFF-web' 
tasks. Why would Gradle run the tasks though&amp;nbsp;I never declared RASFF-web as 
a project? This is not a blocker since I disabled the tasks, just a question of 
mine.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;Thanks for your help,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr align=left&gt;&lt;SPAN class=324581109-25112009&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;Erwan&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Deploying-to-Maven-tp26492493p26513518.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505602</id>
	<title>Re: Upload via SCP</title>
	<published>2009-11-24T16:19:30Z</published>
	<updated>2009-11-24T16:19:30Z</updated>
	<author>
		<name>Robert Fischer</name>
	</author>
	<content type="html">Okay, sorted it out: needed to set up a configuration and connect the 
&lt;br&gt;configuration a la the docs. &amp;nbsp;Relying on 'classpath' is what was causing 
&lt;br&gt;the issue.
&lt;br&gt;&lt;br&gt;~~ Robert.
&lt;br&gt;&lt;br&gt;Robert Fischer wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The user guide (Table 29.1) says that I need 
&lt;br&gt;&amp;gt; 'org.apache.maven.wagon:wagon-scp:1.0-beta-2' for
&lt;br&gt;&amp;gt; scp upload. &amp;nbsp;But there is no such beast, at least not in the maven 
&lt;br&gt;&amp;gt; central repo. &amp;nbsp;Is there a different repo I should use, or am I missing 
&lt;br&gt;&amp;gt; something?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ~~ Robert.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Upload-via-SCP-tp26504741p26505602.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505243</id>
	<title>Re: Upload via SCP</title>
	<published>2009-11-24T15:37:12Z</published>
	<updated>2009-11-24T15:37:12Z</updated>
	<author>
		<name>Robert Fischer</name>
	</author>
	<content type="html">Okay, I changed to using wagon-ssh (the docs should be fixed), and now 
&lt;br&gt;I'm getting this error when I attempt to upload:
&lt;br&gt;&lt;br&gt;Caused by: 
&lt;br&gt;org.apache.maven.artifact.deployer.ArtifactDeploymentException: Error 
&lt;br&gt;deploying artifact: Unsupported Protocol: 'scp': Cannot find wagon which 
&lt;br&gt;supports the requested protocol: scp
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:94)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.ant.DeployTask.doExecute(DeployTask.java:117)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ... 28 common frames omitted
&lt;br&gt;Caused by: org.apache.maven.wagon.TransferFailedException: Unsupported 
&lt;br&gt;Protocol: 'scp': Cannot find wagon which supports the requested 
&lt;br&gt;protocol: scp
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:191)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:160)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:80)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ... 29 common frames omitted
&lt;br&gt;Caused by: org.apache.maven.wagon.UnsupportedProtocolException: Cannot 
&lt;br&gt;find wagon which supports the requested protocol: scp
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.manager.DefaultWagonManager.getWagon(DefaultWagonManager.java:135)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at 
&lt;br&gt;org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:185)
&lt;br&gt;&amp;nbsp; &amp;nbsp; ... 31 common frames omitted
&lt;br&gt;Caused by: 
&lt;br&gt;org.codehaus.plexus.component.repository.exception.ComponentLookupException: 
&lt;br&gt;Component descriptor cannot be found in the component repository: 
&lt;br&gt;org.apache.maven.wagon.Wagonscp.
&lt;br&gt;&lt;br&gt;Upgrading to the most recent beta (1.0-beta-6) doesn't help.
&lt;br&gt;&lt;br&gt;Is anyone actually successfully uploading using scp? &amp;nbsp;Can I see the 
&lt;br&gt;configuration file?
&lt;br&gt;&lt;br&gt;My build file is at: 
&lt;br&gt;&lt;a href=&quot;http://github.com/RobertFischer/gradle-plugins/blob/master/build.gradle&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/RobertFischer/gradle-plugins/blob/master/build.gradle&lt;/a&gt;&lt;br&gt;&lt;br&gt;~~ Robert.
&lt;br&gt;&lt;br&gt;Robert Fischer wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The user guide (Table 29.1) says that I need 
&lt;br&gt;&amp;gt; 'org.apache.maven.wagon:wagon-scp:1.0-beta-2' for
&lt;br&gt;&amp;gt; scp upload. &amp;nbsp;But there is no such beast, at least not in the maven 
&lt;br&gt;&amp;gt; central repo. &amp;nbsp;Is there a different repo I should use, or am I missing 
&lt;br&gt;&amp;gt; something?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ~~ Robert.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Upload-via-SCP-tp26504741p26505243.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26504741</id>
	<title>Upload via SCP</title>
	<published>2009-11-24T14:54:31Z</published>
	<updated>2009-11-24T14:54:31Z</updated>
	<author>
		<name>Robert Fischer</name>
	</author>
	<content type="html">The user guide (Table 29.1) says that I need 
&lt;br&gt;'org.apache.maven.wagon:wagon-scp:1.0-beta-2' for
&lt;br&gt;scp upload. &amp;nbsp;But there is no such beast, at least not in the maven 
&lt;br&gt;central repo. &amp;nbsp;Is there a different repo I should use, or am I missing 
&lt;br&gt;something?
&lt;br&gt;&lt;br&gt;~~ Robert.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Upload-via-SCP-tp26504741p26504741.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26501901</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-24T08:21:58Z</published>
	<updated>2009-11-24T08:21:58Z</updated>
	<author>
		<name>Russel Winder-4</name>
	</author>
	<content type="html">On Tue, 2009-11-24 at 09:15 -0600, John Murph wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Thanks Tomek! &amp;nbsp;My initial research shows that TestNG is much better in
&lt;br&gt;&amp;gt; this respect than JUnit, so I don't think it'll be a problem.
&lt;br&gt;&amp;gt; 
&lt;br&gt;First let us remove the extraneous words:
&lt;br&gt;&lt;br&gt;&amp;quot; . . . TestNG is much better . . . than JUnit. . . . &amp;quot;
&lt;br&gt;&lt;br&gt;then let us elide the elisions:
&lt;br&gt;&lt;br&gt;&amp;quot;TestNG is much better than JUnit.&amp;quot;
&lt;br&gt;&lt;br&gt;Now as this is a true statement it would be really cool if everyone
&lt;br&gt;thought &amp;quot;How do we do this for TestNG?&amp;quot; and then as a follow up &amp;quot;How do
&lt;br&gt;we do this for JUnit&amp;quot;.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Russel.
&lt;br&gt;=============================================================================
&lt;br&gt;Dr Russel Winder &amp;nbsp; &amp;nbsp; &amp;nbsp;Partner
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmpp: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26501901&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;russel@...&lt;/a&gt;
&lt;br&gt;Concertant LLP &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;t: +44 20 7585 2200, +44 20 7193 9203
&lt;br&gt;41 Buckmaster Road, &amp;nbsp; f: +44 8700 516 084 &amp;nbsp; voip: sip:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26501901&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;russel.winder@...&lt;/a&gt;
&lt;br&gt;London SW11 1EN, UK &amp;nbsp; m: +44 7770 465 077 &amp;nbsp; skype: russel_winder
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (204 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26501901/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26501901.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26497689</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-24T07:15:21Z</published>
	<updated>2009-11-24T07:15:21Z</updated>
	<author>
		<name>John Murph</name>
	</author>
	<content type="html">On Tue, Nov 24, 2009 at 12:22 AM, Tomek Kaczanowski &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26497689&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kaczanowski.tomek@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi John&lt;br&gt;
&lt;br&gt;
TestNG definitely support listeners ! See&lt;br&gt;
&lt;a href=&quot;http://testng.org/doc/documentation-main.html#testng-listeners&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://testng.org/doc/documentation-main.html#testng-listeners&lt;/a&gt;&lt;br&gt;
&lt;br clear=&quot;all&quot;&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Thanks Tomek!  My initial research shows that TestNG is much better in
this respect than JUnit, so I don&amp;#39;t think it&amp;#39;ll be a problem.&lt;br&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;John Murph&lt;br&gt;Automated Logic Research Team&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26497689.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26497647</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-24T07:13:36Z</published>
	<updated>2009-11-24T07:13:36Z</updated>
	<author>
		<name>John Murph</name>
	</author>
	<content type="html">On Mon, Nov 23, 2009 at 4:20 PM, Adam Murdoch &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26497647&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;



  

&lt;div bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;
&lt;br&gt;
&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
BTW, I&amp;#39;m not suggesting you do all this work, as you really only need
the equivalent of configure(object, scriptPath). I&amp;#39;m just trying to
figure out a direction for this stuff.&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;LOL, thanks Adam.  I was worried about 2 seconds, then realized that there was no way you wanted me to do all that.  I think I like the unification of these items, they are obviously very related.  What class would have the configure(*) methods?  This would need to be available to almost everything.  Your unification thoughts almost relegate init/settings/build scripts to different flavors of a single thing.  Maybe a common base class for the delegate objects for these scripts?  Or maybe composition?  I think I prefer composition here, but there are several methods that will need to be delegated.  Maybe a &amp;quot;ConfigurableScript&amp;quot; interface to describe the method signatures, a &amp;quot;ScriptExecutor&amp;quot; class that contains the implementation (and implements the &amp;quot;ConfigurableScript&amp;quot; interface).  Then each of the appropriate classes can implement the interface and delegate those methods to the class.  Seems inelegant, but reasonable.&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;John Murph&lt;br&gt;Automated Logic Research Team&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26497647.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26495080</id>
	<title>Re: Deploying to Maven</title>
	<published>2009-11-24T04:29:55Z</published>
	<updated>2009-11-24T04:29:55Z</updated>
	<author>
		<name>hdockter</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Nov 24, 2009, at 2:54 AM, &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495080&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Erwan.LACOSTE@...&lt;/a&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26495080&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Erwan.LACOSTE@...&lt;/a&gt;&amp;gt; wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;
&lt;div&gt;
&lt;!-- Converted from text/rtf format --&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Hi all,&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;I'm trying to customize my Maven deploying tasks.&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Here's what I would like to do in one task:&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Generate the WAR file, generate the sources of the WAR project (including WEB-INF) and the sources of the depending project sources, upload to maven all 3 jar files (2 sources and WAR file).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Depending on command line arguments, the WAR release (and WAR source) could have a classifier.&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;I wish to block the release, if it's not a SNAPSHOT and the dependencies contains a SNAPSHOT.&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;I can do some of the things, but I'm stuck with others. I'll post all my work, so people can criticize if I'm too far from best practice, and give ideas to people having the same needs.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Root gradle:&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;subprojects {&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usePlugin 'java'&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; version '2.2.0.DEV13-SNAPSHOT'&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; task sourcesJar(type: Jar) {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from sourceSets.main.allSource&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wont work because of GRADLE-704&lt;/font&gt;

&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;GRADLE-704 is fixed in trunk.&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classifier = 'sources'&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;WAR gradle:&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;task initConfiguration &amp;lt;&amp;lt; {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // creates a ConfigSlurper containing all kinds of settings if an environment was set as a command line parameter.&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deployConfig = // whatever&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;war.doFirst {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (project.hasProperty('deployConfig') {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wont work because of GRADLE-704&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; war.classifier = deployconfig.environment&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Do some other things on the war&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;sourcesJar {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // How can I add the default WEB-INF directory to my sources?&lt;/font&gt;

&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; from(projectDir) {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; include &quot;path_to_webinf&quot;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; // simply include &quot;path_to_webinf&quot; should do the job also. But there is a bug that prevents this from working ATM.&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;artifacts {&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; archives war&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; archives sourcesJar&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;uploadArchives {&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; repositories.mavenDeployer {&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configuration = configurations.release // when I will need to deploy using WEB-DAV, configuration called 'release' is declared.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repository(url:&lt;/font&gt; &lt;font color=&quot;#FF00CC&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;'&lt;/font&gt;&lt;a href=&quot;file://d:/erwan-dev/tmp/REPO&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;font color=&quot;#0000FF&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;file://d:/erwan-dev/tmp/REPO&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color=&quot;#FF00CC&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;'&lt;/font&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; snapshotRepository(url:&lt;/font&gt; &lt;font color=&quot;#FF00CC&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;'&lt;/font&gt;&lt;a href=&quot;file://d:/erwan-dev/tmp/REPO-SNAPSHOT&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;u&gt;&lt;font color=&quot;#0000FF&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;file://d:/erwan-dev/tmp/REPO-SNAPSHOT&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font color=&quot;#FF00CC&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;'&lt;/font&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;)&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;

&lt;br&gt;&lt;font color=&quot;#000000&quot; size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;def isSnapshotDependent() {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt; def&lt;/b&gt; containsSnapshot =&lt;b&gt; false&lt;/b&gt;&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO I want to run the following only if i am releasing on the main repo.&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // should I check the presence of the string 'SNAPSHOT' in the projects version? How does the maven plugin knows that I'm uploading a SNAPSHOT or a main version?&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configurations.default.allDependencies.each { dep -&amp;gt;&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dep.version.indexOf('SNAPSHOT') &amp;gt; 0)&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; containsSnapshot = true&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return containsSnapshot&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;We use the Ant Maven tasks under the hood for deploying. The check the full artifact name for the 'SNAPSHOT' pattern and decide based on that whether to deploy to 'repository' or 'snapshotRepository'. But they don't make this information available.&amp;nbsp;&lt;/div&gt;&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;task release(dependsOn: initConfiguration)&amp;nbsp; &amp;lt;&amp;lt; {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // check that i'm not depending on a SNAPSHOT&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isSnapshotDependent()) {&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;b&gt; &lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;throw&lt;/font&gt;&lt;/b&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&lt;/font&gt;&lt;b&gt; &lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;new&lt;/font&gt;&lt;/b&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt; GradleException(&quot;cannot release since dependencies contains a SNAPSHOT&quot;)&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uploadArchives.execute() // is there a bug? Executing the task with the command line runs the 'war' task. Executing the same command from another task will not launch the 'war' task.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // unless a parameter says NO&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uploadSources.execute() // knowing that I would wish for both this project and the &quot;service&quot; project sources to be uploaded. Maybe ServiceProject.uploadSources.execute() ?&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;}&lt;/font&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;What I would do is the following:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;uploadArchives {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; if (gradle.taskGraph.hasTask('release') {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (isSnapshotDependent()) throw ...&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; ...&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;task release{dependsOn: initConfiguration, uploadArchives) {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; // do nothing at the moment.&amp;nbsp;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;uploadArchives will upload all artifacts that are only distinguished by the classifier.&lt;/div&gt;&lt;br&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;
&lt;br&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;As you see, I'm a little stuck until issue 704 is fixed (I will DL the latest trunk version soon).&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;My main concern is to create a task that will launch the 'uploadArchives' task. As I explained in a comment, right now launching 'uploadArchives' from another task wont trigger the 'war' task. Maybe this is a bug. &lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;I don't think this is a bug. There are other, cleaner, ways to achieve this I think. Usually you shouldn't be forced to use the execute method at all.&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;I could get away from that by including the dependency manually of my custom task on 'war' and 'sourcesJar' tasks.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;I wish there was an easy way to detect that a library version is a SNAPSHOT, including my own project.&lt;/font&gt;
&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;I guess the Maven plugin could provide such a functionality. Could you file a Jira?&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;The documentation on Maven plugin is, how to say, evasive. Maybe I could post this draft on the wiki, so the community can bring their experience to it?&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;That would be excellent.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;- Hans&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;--&lt;/div&gt;&lt;div&gt;Hans Dockter&lt;/div&gt;&lt;div&gt;Gradle Project Manager&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;p&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Thanks in advance for the community help,&lt;/font&gt;

&lt;br&gt;&lt;font size=&quot;2&quot; face=&quot;Arial&quot;&gt;Erwan&lt;/font&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/body&gt;&lt;/html&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Deploying-to-Maven-tp26492493p26495080.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26494888</id>
	<title>conditional artifact publication</title>
	<published>2009-11-24T04:14:07Z</published>
	<updated>2009-11-24T04:14:07Z</updated>
	<author>
		<name>Ross Black-2</name>
	</author>
	<content type="html">Hi,&lt;br&gt;&lt;br&gt;Is there a way to conditionally add an artifact to a configuration, where the condition is evaluated at runtime?&lt;br&gt;eg.  I only want to add an artifact if a specific directory exists.&lt;br&gt;&lt;br&gt;I was hoping the following would work (but it does not):&lt;br&gt;
---&lt;br&gt;        project.configurations {&lt;br&gt;            api&lt;br&gt;        }&lt;br&gt;&lt;br&gt;        Task apiTask = project.task(&amp;#39;apiJar&amp;#39;, type: Jar, dependsOn: &amp;#39;classes&amp;#39;) {&lt;br&gt;            fileSet(dir: project.apiClassesDir)&lt;br&gt;
        }&lt;br&gt;        apiTask.onlyIf {project.apiClassesDir.exists()}&lt;br&gt;&lt;br&gt;        project.artifacts {&lt;br&gt;            api apiTask&lt;br&gt;        }&lt;br&gt;---&lt;br&gt;&lt;br&gt;The apiJar task correctly only generates the jar if the directory exists, but the artifact handler always expects that the file specified by the apiJar task exists even if the task has not run.&lt;br&gt;
&lt;br&gt;Is there some other way to achieve this?&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Ross&lt;br&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/conditional-artifact-publication-tp26494888p26494888.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26492493</id>
	<title>Deploying to Maven</title>
	<published>2009-11-24T00:54:54Z</published>
	<updated>2009-11-24T00:54:54Z</updated>
	<author>
		<name>Rwanou</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=utf-8&quot;&gt;
&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;MS Exchange Server version 6.5.7655.2&quot;&gt;
&lt;TITLE&gt;Deploying to Maven&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;!-- Converted from text/rtf format --&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Hi all,&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;I'm trying to customize my Maven deploying tasks.&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Here's what I would like to do in one task:&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Generate the WAR file, generate the sources of the WAR project (including WEB-INF) and the sources of the depending project sources, upload to maven all 3 jar files (2 sources and WAR file).&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Depending on command line arguments, the WAR release (and WAR source) could have a classifier.&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;I wish to block the release, if it's not a SNAPSHOT and the dependencies contains a SNAPSHOT.&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;I can do some of the things, but I'm stuck with others. I'll post all my work, so people can criticize if I'm too far from best practice, and give ideas to people having the same needs.&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Root gradle:&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;subprojects {&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usePlugin 'java'&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; version '2.2.0.DEV13-SNAPSHOT'&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; task sourcesJar(type: Jar) {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from sourceSets.main.allSource&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wont work because of GRADLE-704&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; classifier = 'sources'&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;WAR gradle:&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;task initConfiguration &amp;lt;&amp;lt; {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // creates a ConfigSlurper containing all kinds of settings if an environment was set as a command line parameter.&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; deployConfig = // whatever&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;war.doFirst {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (project.hasProperty('deployConfig') {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // wont work because of GRADLE-704&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; war.classifier = deployconfig.environment&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Do some other things on the war&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;sourcesJar {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // How can I add the default WEB-INF directory to my sources?&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;artifacts {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; archives war&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; archives sourcesJar&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;uploadArchives {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; repositories.mavenDeployer {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; configuration = configurations.release // when I will need to deploy using WEB-DAV, configuration called 'release' is declared.&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; repository(url:&lt;/FONT&gt; &lt;FONT COLOR=&quot;#FF00CC&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;'&lt;/FONT&gt;&lt;A HREF=&quot;file://d:/erwan-dev/tmp/REPO&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;U&gt;&lt;/U&gt;&lt;U&gt;&lt;FONT COLOR=&quot;#0000FF&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;file://d:/erwan-dev/tmp/REPO&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT COLOR=&quot;#FF00CC&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;'&lt;/FONT&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; snapshotRepository(url:&lt;/FONT&gt; &lt;FONT COLOR=&quot;#FF00CC&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;'&lt;/FONT&gt;&lt;A HREF=&quot;file://d:/erwan-dev/tmp/REPO-SNAPSHOT&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;U&gt;&lt;/U&gt;&lt;U&gt;&lt;FONT COLOR=&quot;#0000FF&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;file://d:/erwan-dev/tmp/REPO-SNAPSHOT&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT COLOR=&quot;#FF00CC&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;'&lt;/FONT&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT COLOR=&quot;#000000&quot; SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;def isSnapshotDependent() {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;B&gt; def&lt;/B&gt; containsSnapshot =&lt;B&gt; false&lt;/B&gt;&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO I want to run the following only if i am releasing on the main repo.&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // should I check the presence of the string 'SNAPSHOT' in the projects version? How does the maven plugin knows that I'm uploading a SNAPSHOT or a main version?&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; configurations.default.allDependencies.each { dep -&amp;gt;&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (dep.version.indexOf('SNAPSHOT') &amp;gt; 0)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; containsSnapshot = true&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return containsSnapshot&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;task release(dependsOn: initConfiguration)&amp;nbsp; &amp;lt;&amp;lt; {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // check that i'm not depending on a SNAPSHOT&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isSnapshotDependent()) {&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;B&gt; &lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;throw&lt;/FONT&gt;&lt;/B&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&lt;/FONT&gt;&lt;B&gt; &lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;new&lt;/FONT&gt;&lt;/B&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt; GradleException(&amp;quot;cannot release since dependencies contains a SNAPSHOT&amp;quot;)&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uploadArchives.execute() // is there a bug? Executing the task with the command line runs the 'war' task. Executing the same command from another task will not launch the 'war' task.&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // unless a parameter says NO&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uploadSources.execute() // knowing that I would wish for both this project and the &amp;quot;service&amp;quot; project sources to be uploaded. Maybe ServiceProject.uploadSources.execute() ?&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;}&lt;/FONT&gt;
&lt;/P&gt;
&lt;BR&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;As you see, I'm a little stuck until issue 704 is fixed (I will DL the latest trunk version soon).&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;My main concern is to create a task that will launch the 'uploadArchives' task. As I explained in a comment, right now launching 'uploadArchives' from another task wont trigger the 'war' task. Maybe this is a bug. I could get away from that by including the dependency manually of my custom task on 'war' and 'sourcesJar' tasks.&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;I wish there was an easy way to detect that a library version is a SNAPSHOT, including my own project.&lt;/FONT&gt;
&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;The documentation on Maven plugin is, how to say, evasive. Maybe I could post this draft on the wiki, so the community can bring their experience to it?&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Thanks in advance for the community help,&lt;/FONT&gt;

&lt;BR&gt;&lt;FONT SIZE=2 FACE=&quot;Arial&quot;&gt;Erwan&lt;/FONT&gt;
&lt;/P&gt;

&lt;/BODY&gt;
&lt;/HTML&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Deploying-to-Maven-tp26492493p26492493.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26490998</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-23T22:22:36Z</published>
	<updated>2009-11-23T22:22:36Z</updated>
	<author>
		<name>Tomek Kaczanowski-3</name>
	</author>
	<content type="html">Hi John
&lt;br&gt;&lt;br&gt;TestNG definitely support listeners ! See
&lt;br&gt;&lt;a href=&quot;http://testng.org/doc/documentation-main.html#testng-listeners&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://testng.org/doc/documentation-main.html#testng-listeners&lt;/a&gt;&lt;br&gt;&lt;br&gt;thanks
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Tomek
&lt;br&gt;&lt;br&gt;2009/11/23 John Murph &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490998&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jmurph.alc@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Mon, Nov 23, 2009 at 12:02 AM, Tomek Kaczanowski
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26490998&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kaczanowski.tomek@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi John and all,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; First is TestListener.  This (if you can recall that far back) was the
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; reason I did the listener manager changes.  We need to have an init
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; script
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; that can register a listener that gets testing feedback from JUnit.
&lt;br&gt;&amp;gt;&amp;gt; I read &amp;quot;JUnit&amp;quot;, and immediately red light bulb started to blink in my
&lt;br&gt;&amp;gt;&amp;gt; head :) - will it also work for TestNG ?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; Tomek
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi Tomek,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am not very familiar with TestNG, but I would assume that it has support
&lt;br&gt;&amp;gt; for listeners.  If so, it would be reasonable to make it work for that as
&lt;br&gt;&amp;gt; well.  I will get JUnit working first, then we can see how difficult TestNG
&lt;br&gt;&amp;gt; might be (I doubt it'll be hard).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is that a good enough non-answer for you?  :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; John Murph
&lt;br&gt;&amp;gt; Automated Logic Research Team
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26490998.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26487403</id>
	<title>Re: Creating multiple jars</title>
	<published>2009-11-23T14:38:42Z</published>
	<updated>2009-11-23T14:38:42Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;tog wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi folks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In my project I would like to create multiple jars:
&lt;br&gt;&amp;gt; &amp;nbsp; - one containing only the classes of my project (classic targer)
&lt;br&gt;&amp;gt; &amp;nbsp; - a second one containing all dependencies,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In the cookbook, it is said that I can do this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; jar.doFirst {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; for(file in configurations.compile) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jar.merge(file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What is the best way to achieve this ?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;You can add another jar task to build the fat jar:
&lt;br&gt;&lt;br&gt;task fatJar(type: Jar) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; dependsOn classes
&lt;br&gt;&amp;nbsp; &amp;nbsp; from sourceSet.main.classesDir
&lt;br&gt;&amp;nbsp; &amp;nbsp; classifier = 'all' &amp;nbsp;// Give the jar a different name
&lt;br&gt;&amp;nbsp; &amp;nbsp; doFirst { task-&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(file in configurations.compile) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; task.merge(file)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Clone the jar task ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do something like a :
&lt;br&gt;&amp;gt; jar.doLast{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; jar.copy(jar-minimal.jar)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; for(file in configurations.compile) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jar.merge(file)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for your help
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Guillaume
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-user-f31415.html&quot; embed=&quot;fixTarget[31415]&quot; target=&quot;_top&quot; &gt;gradle-user&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Creating-multiple-jars-tp26467182p26487403.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26487083</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-23T14:20:50Z</published>
	<updated>2009-11-23T14:20:50Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
&lt;br&gt;
&lt;br&gt;
Adam Murdoch wrote:
&lt;blockquote cite=&quot;mid:4B0A24C2.8070401@rubygrapefruit.net&quot; type=&quot;cite&quot;&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
  &lt;br&gt;
  &lt;br&gt;
John Murph wrote:
  &lt;blockquote cite=&quot;mid:efed17330911201320t20b7b00fp70ab64fbd0f962d7@mail.gmail.com&quot; type=&quot;cite&quot;&gt;On Fri, Nov 20, 2009 at 3:53 PM, Adam Murdoch &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26487083&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;a@...&lt;/a&gt;&amp;gt;&lt;/span&gt;
wrote:&lt;br&gt;
    &lt;div class=&quot;gmail_quote&quot;&gt;
    &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
      &lt;div class=&quot;im&quot;&gt;
      &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;
        &lt;br&gt;
First is TestListener. &amp;nbsp;This (if you can recall that far back) was the
reason I did the listener manager changes. &amp;nbsp;We need to have an init
script that can register a listener that gets testing feedback from
JUnit. &amp;nbsp;This will allow us to improve our Gradle TeamCity runner so
that it gets better (and real time) test results. &amp;nbsp;I'm thinking along
the lines of &quot;if a listener of a certain type is registered with the
listener manager, then give a remoting listener to JUnit that sends
messages to an in-process peer that forwards the messages on to the
registered listener.&quot; &amp;nbsp;Do that make sense?&lt;br&gt;
      &lt;/blockquote&gt;
      &lt;br&gt;
      &lt;/div&gt;
This would be nice to have.&lt;br&gt;
      &lt;br&gt;
I suspect most of the work has been done already in the NativeTest
task, so that the events are available just below the surface of the
NativeTest task. We'd need to add some methods for adding a
TestListener to NativeTest, with an impl of that used a ListenerManager
to create its broadcaster. Then, the TestListener events would be
available in the init script.&lt;br&gt;
      &lt;br&gt;
I don't think we should bother with trying to fit this into the AntTest
task as well, and should instead focus on getting the NativeTest stuff
ready.
      &lt;div&gt;&lt;br&gt;
      &lt;/div&gt;
    &lt;/blockquote&gt;
    &lt;div&gt;&lt;br&gt;
OK, I'll have a look at the NativeTest stuff and see what I can figure
out.&amp;nbsp; This is the change that is most pressing for us as we currently
don't have a workaround, so hopefully I can figure something out.&lt;br&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
  &lt;br&gt;
If you need something really soon, it might be better to try this with
AntTest. Will be a little while before we make NativeTest the official
test task. It's up to you. We can figure a way to merge the two
implementations if you decide to go with AntTest.&lt;br&gt;
  &lt;br&gt;
  &lt;blockquote cite=&quot;mid:efed17330911201320t20b7b00fp70ab64fbd0f962d7@mail.gmail.com&quot; type=&quot;cite&quot;&gt;
    &lt;div class=&quot;gmail_quote&quot;&gt;
    &lt;div&gt;&amp;nbsp;&lt;/div&gt;
    &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
      &lt;div&gt;&amp;nbsp; &lt;br&gt;
      &lt;/div&gt;
    &lt;/blockquote&gt;
    &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
      &lt;div class=&quot;im&quot;&gt;
      &lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;
Second is extension support. &amp;nbsp;This is the idea that a script can ask
for some external script to be executed against a given delegate
object. &amp;nbsp;Doing this through Gradle would allow for all the normal
caching stuff to be reused. &amp;nbsp;We need to be able to run such scripts
from the settings.gradle (and from inside build scripts, but that is
obvious). &amp;nbsp;We would use this feature to define our own custom domain
objects that are configured via external script files. &amp;nbsp;I'm not sure
what the interface to Gradle should be, a method on Gradle called
&quot;executeExtension&quot; that takes a file and a delegate object? &amp;nbsp;Or maybe a
&quot;getExtensionSupport&quot; method that returns an ExtensionSupport class
that provides an execute method? &amp;nbsp;What stateful information could
ExtensionSupport have that justifies a separate class? &amp;nbsp;Or maybe the
justification is that it provides more than one method, like what? &amp;nbsp;I'm
not sure what you guys might be thinking about this feature as we have
not discussed it much before.&lt;br&gt;
        &lt;br&gt;
      &lt;/blockquote&gt;
      &lt;br&gt;
      &lt;/div&gt;
Why do you need to do the configuration using external scripts? What do
they configure? I want to get a feel for the use case before we discuss
a solution.&lt;br&gt;
      &lt;br&gt;
    &lt;/blockquote&gt;
    &lt;div&gt;&amp;nbsp;&lt;/div&gt;
We showed and explained this to Hans when he was here.&amp;nbsp; It's a bit
difficult to explain in an email, but let me try.&amp;nbsp; We have the concept
of multiple modules being put together to form products, and multiple
products forming installs and multiple installs forming distributions.&amp;nbsp;
Each of these three levels (products, install, dists) have logic and
therefore need configuration of that logic.&amp;nbsp; For example, what modules
does this product need?&amp;nbsp; What is the name of the product?&amp;nbsp; What native
launchers does the product need, and what are it's settings (Xmx,
etc.)?&amp;nbsp; Similarly, installs and distributions have configurations as
well.&lt;br&gt;
    &lt;br&gt;
To support this, we have three domain objects in our buildSrc that hold
this information.&amp;nbsp; We also have various &quot;xxx_product.gradle&quot; and
&quot;xxx_install.gradle&quot; and &quot;xxx_dist.gradle&quot; files in our project that
are used depending on what is being built.&amp;nbsp; These special .gradle files
are executed on the associated domain object by our settings.gradle.&amp;nbsp;
This allows our developers to only say what's important to them, and
not have to see our giant build.gradle scripts (or our buildSrc
module).&amp;nbsp; What our developers actually think is Gradle is all these
special scripts, they never see &quot;true&quot; Gradle.&lt;br&gt;
    &lt;br&gt;
The thing is that I want these special Gradle files to be very similar
in treatment to normal Gradle files.&amp;nbsp; All I'm really doing is extending
the concepts that Gradle knows about into my own custom domain.&amp;nbsp; (This
ability is at the heart of what we love so much about Gradle.)&amp;nbsp;
Unfortunately, to do this right now I had to copy-paste some Gradle
implementation code into our buildSrc (the stuff than runs a script,
knows when/where to cache it, knows when to ignore the cache and
rebuild it, knows how to &quot;delegate&quot; to an object, etc.)&amp;nbsp; Every time you
guys touch that stuff it breaks us, because we are using internal APIs
of Gradle.&amp;nbsp; The idea of this feature is to make an easy to use public
API so that we don't get broken so much.&amp;nbsp; It will also make it easier
for others to do this same thing.&lt;br&gt;
    &lt;br&gt;
As a matter of fact, we've talked to Hans about our idea that large
projects should generally be structured this way.&amp;nbsp; I don't want to go
into details right now (I intended to write up something more complete
eventually), but most large projects have lots of concepts centered
around what they are doing and the way they work.&amp;nbsp; Formalizing those
concepts into &quot;extensions&quot; to Gradle can product a much easier to use
build engine that is designed for them.&amp;nbsp; It's why I've always agreed
that Gradle should be a toolkit.&amp;nbsp; One that works out-of-the-box for
simple projects, and one that lets large projects implement their own
custom build engine on top of it.&amp;nbsp; Part of the power of Gradle is that
it can be both.&lt;br&gt;
    &lt;/div&gt;
    &lt;br clear=&quot;all&quot;&gt;
  &lt;/blockquote&gt;
  &lt;br&gt;
Thanks for writing this up. I agree 100% with you on the goal. I think
this is an excellent pattern for large builds, where the 'build
scripts' describe what to build in some high-level build language
(custom or otherwise), and some build logic in the root
script/buildSrc/some plugin takes care of how to build those things.&lt;br&gt;
  &lt;br&gt;
I have a different suggestion for how we solve this problem. To me, it
feels like we want some unified theory of build logic composition. That
is, these all feel like the same thing:&lt;br&gt;
  &lt;br&gt;
Things we do now:&lt;br&gt;
- configure a Project using a plugin&lt;br&gt;
- configure a Project using a build script&lt;br&gt;
- configure a Gradle instance using an init script&lt;br&gt;
- configure a Settings instance using a settings script&lt;br&gt;
  &lt;br&gt;
Things we want to be able to do:&lt;br&gt;
- implement a plugin using a script&lt;br&gt;
- configure a Project using an arbitrary script&lt;br&gt;
- configure a Gradle instance using a plugin&lt;br&gt;
- configure a SourceSet/Configuration/RepositoryContainer/etc using a
plugin/extension&lt;br&gt;
- configure an arbitrary domain object using an arbitrary script&lt;br&gt;
- auto-configure a Project using scripts or plugins or java source in a
well-know location (such as buildSrc)&lt;br&gt;
- ...&lt;br&gt;
  &lt;br&gt;
So, I think we could get rid of Project.usePlugin(), and replace it
with a general method. Let's call it 'configure' for now. In any script
you would be able to do:&lt;br&gt;
  &lt;br&gt;
configure(object) { a closure }&lt;br&gt;
&amp;nbsp; - this is a generalisation of Project.configure(), available from any
script&lt;br&gt;
  &lt;br&gt;
configure(object, 'path/to/a/script.gradle')&lt;br&gt;
&amp;nbsp; - executes the given script with the given object as its delegate&lt;br&gt;
  &lt;br&gt;
configure(object, SomePluginClass)&lt;br&gt;
&amp;nbsp; - configures the given object using the given plugin, i.e. a
generalisation of Project.usePlugin()&lt;br&gt;
  &lt;br&gt;
The target object would default to the delegate of the current script,
ie in a build script the target object is a Project:&lt;br&gt;
  &lt;br&gt;
configure('path/to/a/script.gradle')&lt;br&gt;
configure(SomePluginClass) &lt;br&gt;
  &lt;br&gt;
We could also add some additional ways to locate the build logic
artifact:&lt;br&gt;
  &lt;br&gt;
configure(object, 'path/to/a/plugin.jar')&lt;br&gt;
&amp;nbsp; - locates the plugin(s) in the provided jar and applies them to the
given object&lt;br&gt;
  &lt;br&gt;
configure(object, '&lt;a moz-do-not-send=&quot;true&quot; class=&quot;moz-txt-link-freetext&quot; href=&quot;http://some.corporate.server/global-config.gradle&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://some.corporate.server/global-config.gradle&lt;/a&gt;')&lt;br&gt;
&amp;nbsp; - uses the artifact (script or jar) from the given url&lt;br&gt;
  &lt;br&gt;
configure(object, 'path/to/some/directory')&lt;br&gt;
&amp;nbsp; - treats the directory as a Gradle project which produces a plugin
jar, ie exactly the same as buildSrc&lt;br&gt;
  &lt;br&gt;
configure(object) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dependency 'some.org:sharedConfig:1.4+'&lt;br&gt;
}&lt;br&gt;
&amp;nbsp;- uses the artifacts (scripts or jars) from the given dependency.&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
Then, our existing behaviours can be implemented in terms of configure()&lt;br&gt;
  &lt;br&gt;
- init script -&amp;gt; configure(gradle, initScriptPath)&lt;br&gt;
- settings script -&amp;gt; configure(settings, settingsScriptPath)&lt;br&gt;
- build script -&amp;gt; configure(project, buildScriptPath)&lt;br&gt;
- buildSrc -&amp;gt; configure(gradle, &quot;$rootDir/buildSrc&quot;)&lt;br&gt;
- usePlugin('name') -&amp;gt; configure(project, getClassForName('name'))&lt;br&gt;
- usePlugin(pluginClass) -&amp;gt; configure(project, pluginClass)&lt;br&gt;
  &lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
BTW, I'm not suggesting you do all this work, as you really only need
the equivalent of configure(object, scriptPath). I'm just trying to
figure out a direction for this stuff.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;pre class=&quot;moz-signature&quot; cols=&quot;72&quot;&gt;-- 
Adam Murdoch
Gradle Developer
&lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;
&lt;/pre&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26487083.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26487046</id>
	<title>Re: Re: detecting if usePlugin &quot;xyz&quot; for a project</title>
	<published>2009-11-23T14:18:25Z</published>
	<updated>2009-11-23T14:18:25Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Philip Crotwell wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Just realized that the problem was that the code was running in the
&lt;br&gt;&amp;gt; plugin init instead of the task execution so the project was not be
&lt;br&gt;&amp;gt; completely set up at that point. I had the usePlugin &amp;quot;eclipse&amp;quot; before
&lt;br&gt;&amp;gt; the usePlugin &amp;quot;scala&amp;quot; in the build file, so the order was backwards.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So, I guess it almost works. However, because the eclipse plugin seems
&lt;br&gt;&amp;gt; to do its checking at init time instead of task execution time, it can
&lt;br&gt;&amp;gt; fail to properly detect the scala plugin if usePlugin &amp;quot;eclipse&amp;quot; comes
&lt;br&gt;&amp;gt; before usePlugin &amp;quot;scala&amp;quot;.
&lt;/div&gt;&lt;br&gt;The eclipse plugins uses this kind of construct to detect whether the 
&lt;br&gt;java plugin has been applied:
&lt;br&gt;&lt;br&gt;&lt;br&gt;public void use(final Project project, ProjectPluginsContainer 
&lt;br&gt;projectPluginsHandler) {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; projectPluginsHandler.withType(JavaPlugin.class).allPlugins {... 
&lt;br&gt;some action ... }
&lt;br&gt;&lt;br&gt;}
&lt;br&gt;&lt;br&gt;The action passed to allPlugins() is invoked when the JavaPlugin is 
&lt;br&gt;applied, whether that has already happened, or whether it happens at 
&lt;br&gt;some point in the future.
&lt;br&gt;&lt;br&gt;You should do a similar thing to detect whether the scala plugin has 
&lt;br&gt;been applied.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/detecting-if-usePlugin-%22xyz%22-for-a-project-tp26483883p26487046.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26487033</id>
	<title>Re: Adding two new features to Gradle</title>
	<published>2009-11-23T14:17:42Z</published>
	<updated>2009-11-23T14:17:42Z</updated>
	<author>
		<name>John Murph</name>
	</author>
	<content type="html">On Mon, Nov 23, 2009 at 12:02 AM, Tomek Kaczanowski &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26487033&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kaczanowski.tomek@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi John and all,&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; First is TestListener.  This (if you can recall that far back) was the&lt;br&gt;
&amp;gt; reason I did the listener manager changes.  We need to have an init script&lt;br&gt;
&amp;gt; that can register a listener that gets testing feedback from JUnit.&lt;br&gt;
&lt;/div&gt;I read &amp;quot;JUnit&amp;quot;, and immediately red light bulb started to blink in my&lt;br&gt;
head :) - will it also work for TestNG ?&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;Tomek&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br clear=&quot;all&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;Hi Tomek,&lt;br&gt;
&lt;br&gt;
I am not very familiar with TestNG, but I would assume that it has support
for listeners.  If so, it would be reasonable to make it work for that
as well.  I will get JUnit working first, then we can see how difficult
TestNG might be (I doubt it&amp;#39;ll be hard).&lt;br&gt;
&lt;br&gt;
Is that a good enough non-answer for you?  :)&lt;br&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;John Murph&lt;br&gt;Automated Logic Research Team&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Adding-two-new-features-to-Gradle-tp26449711p26487033.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486984</id>
	<title>Re: eclipse classes in gradle-core and gradle-plugins</title>
	<published>2009-11-23T14:14:30Z</published>
	<updated>2009-11-23T14:14:30Z</updated>
	<author>
		<name>Adam Murdoch-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Philip Crotwell wrote:
&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there a reason that EclipseProject is in gradle-core instead of
&lt;br&gt;&amp;gt; gradle-plugins?
&lt;br&gt;&lt;br&gt;We're halfway through splitting up gradle-core, and there's still some 
&lt;br&gt;stuff left in gradle-core which belongs in gradle-plugins.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;nbsp;This means that EclipseProject can't refer to
&lt;br&gt;&amp;gt; EclipsePlugin due to the compile order of the subprojects.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;Generally, our tasks don't refer to the plugins. The dependency usually 
&lt;br&gt;goes the other way. So, it shouldn't matter that EclipseProject is in 
&lt;br&gt;gradle-core.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Adam Murdoch
&lt;br&gt;Gradle Developer
&lt;br&gt;&lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/eclipse-classes-in-gradle-core-and-gradle-plugins-tp26486581p26486984.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486581</id>
	<title>eclipse classes in gradle-core and gradle-plugins</title>
	<published>2009-11-23T13:49:47Z</published>
	<updated>2009-11-23T13:49:47Z</updated>
	<author>
		<name>Philip Crotwell</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;Is there a reason that EclipseProject is in gradle-core instead of
&lt;br&gt;gradle-plugins? This means that EclipseProject can't refer to
&lt;br&gt;EclipsePlugin due to the compile order of the subprojects.
&lt;br&gt;EclipseProject is, as far as I can tell, only used in EclipsePlugin,
&lt;br&gt;so it would seem like it would be better in the plugin than core, or
&lt;br&gt;is there a larger plan to make ide integration that would require
&lt;br&gt;being in core? This relates to my trying to get the eclipse plugin to
&lt;br&gt;correctly generate eclipse .project files for scala.
&lt;br&gt;&lt;br&gt;thanks,
&lt;br&gt;Philip
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/eclipse-classes-in-gradle-core-and-gradle-plugins-tp26486581p26486581.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486320</id>
	<title>Re: detecting if usePlugin &quot;xyz&quot; for a project</title>
	<published>2009-11-23T13:34:57Z</published>
	<updated>2009-11-23T13:34:57Z</updated>
	<author>
		<name>Philip Crotwell</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;Just realized that the problem was that the code was running in the
&lt;br&gt;plugin init instead of the task execution so the project was not be
&lt;br&gt;completely set up at that point. I had the usePlugin &amp;quot;eclipse&amp;quot; before
&lt;br&gt;the usePlugin &amp;quot;scala&amp;quot; in the build file, so the order was backwards.
&lt;br&gt;&lt;br&gt;So, I guess it almost works. However, because the eclipse plugin seems
&lt;br&gt;to do its checking at init time instead of task execution time, it can
&lt;br&gt;fail to properly detect the scala plugin if usePlugin &amp;quot;eclipse&amp;quot; comes
&lt;br&gt;before usePlugin &amp;quot;scala&amp;quot;. Presumably the scala plugin detection needs
&lt;br&gt;to move from the initialization to the task execution, I suppose
&lt;br&gt;effectively moving the setProjectType from configureEclipseProject()
&lt;br&gt;in EclipsePlugin to generateProject in EclipseProject?
&lt;br&gt;&lt;br&gt;thanks
&lt;br&gt;Philip
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, Nov 23, 2009 at 1:56 PM, Philip Crotwell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26486320&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;crotwell@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there a way to tell if a project uses a plugin?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I tried
&lt;br&gt;&amp;gt; project.getPlugins().hasPlugin(ScalaPlugin.class)
&lt;br&gt;&amp;gt; but get always get false regardless. It is false even if I am inside
&lt;br&gt;&amp;gt; the executing ecplise plugin and do a hasPlugin(EclipsePlugin.class).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Perhaps a related question, why is the plugin container passed as an
&lt;br&gt;&amp;gt; arg to Plugin.use() if it is accessuble via Project.getPlugins()? The
&lt;br&gt;&amp;gt; second argument seems redundant, unless the Project.getPlugins() is
&lt;br&gt;&amp;gt; not functional.
&lt;br&gt;&amp;gt; void use(Project project,
&lt;br&gt;&amp;gt;         ProjectPluginsContainer projectPluginsHandler)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My goal is to modify the EclipsePlugin in order to add the &amp;quot;scala
&lt;br&gt;&amp;gt; nature&amp;quot; to eclipse projects if usePlugin &amp;quot;scala&amp;quot; is in the build file.
&lt;br&gt;&amp;gt; Attached is a patch that shows what I have tried (along with some
&lt;br&gt;&amp;gt; printlns), but this doesn't work as the hasPlugin returns false.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have created a issue for this and will upload my patch if/when I
&lt;br&gt;&amp;gt; figure out the hasPlugin issue.
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://jira.codehaus.org/browse/GRADLE-751&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/browse/GRADLE-751&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Gradle 0.9-20091123133702-0500
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; thanks,
&lt;br&gt;&amp;gt; Philip
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/detecting-if-usePlugin-%22xyz%22-for-a-project-tp26483883p26486320.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26483883</id>
	<title>detecting if usePlugin &quot;xyz&quot; for a project</title>
	<published>2009-11-23T10:56:25Z</published>
	<updated>2009-11-23T10:56:25Z</updated>
	<author>
		<name>Philip Crotwell</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;Is there a way to tell if a project uses a plugin?
&lt;br&gt;&lt;br&gt;I tried
&lt;br&gt;project.getPlugins().hasPlugin(ScalaPlugin.class)
&lt;br&gt;but get always get false regardless. It is false even if I am inside
&lt;br&gt;the executing ecplise plugin and do a hasPlugin(EclipsePlugin.class).
&lt;br&gt;&lt;br&gt;Perhaps a related question, why is the plugin container passed as an
&lt;br&gt;arg to Plugin.use() if it is accessuble via Project.getPlugins()? The
&lt;br&gt;second argument seems redundant, unless the Project.getPlugins() is
&lt;br&gt;not functional.
&lt;br&gt;void use(Project project,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ProjectPluginsContainer projectPluginsHandler)
&lt;br&gt;&lt;br&gt;My goal is to modify the EclipsePlugin in order to add the &amp;quot;scala
&lt;br&gt;nature&amp;quot; to eclipse projects if usePlugin &amp;quot;scala&amp;quot; is in the build file.
&lt;br&gt;Attached is a patch that shows what I have tried (along with some
&lt;br&gt;printlns), but this doesn't work as the hasPlugin returns false.
&lt;br&gt;&lt;br&gt;I have created a issue for this and will upload my patch if/when I
&lt;br&gt;figure out the hasPlugin issue.
&lt;br&gt;&lt;a href=&quot;http://jira.codehaus.org/browse/GRADLE-751&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/browse/GRADLE-751&lt;/a&gt;&lt;br&gt;&lt;br&gt;Gradle 0.9-20091123133702-0500
&lt;br&gt;&lt;br&gt;thanks,
&lt;br&gt;Philip
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe from this list, please visit:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;scala-eclipse.patch&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/26483883/0/scala-eclipse.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/detecting-if-usePlugin-%22xyz%22-for-a-project-tp26483883p26483883.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26481567</id>
	<title>Re: Gradle Repository</title>
	<published>2009-11-23T08:38:44Z</published>
	<updated>2009-11-23T08:38:44Z</updated>
	<author>
		<name>LightGuard</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;On Sun, Nov 22, 2009 at 19:15, Hans Dockter &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481567&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mail@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at the moment the Gradle build has only first level dependencies. We introduced this a while ago because there were some issues with multi-project builds and module dependencies. As module-dependencies have still issues with being published and having flat dependencies being pretty inconvenient, I'd like to switch to a standard repository based approach for dealing with transitive dependencies.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Artifactory is offering free hosting for open source projects. So we would have a nice repository manage for managing our module descriptors.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Hans
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Hans Dockter
&lt;br&gt;&amp;gt; Gradle Project Manager
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.gradle.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gradle.org&lt;/a&gt;&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe from this list, please visit:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    &lt;a href=&quot;http://xircles.codehaus.org/manage_email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xircles.codehaus.org/manage_email&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;I've used artifactory in the past, it's a pretty decent repo manager. &amp;nbsp;Nexus looks really nice, but I'm not sure what Sonatype does for hosting (or how close you'd want to get to them ;) )
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jason Porter
&lt;br&gt;Real Programmers think better when playing Adventure or Rogue.
&lt;br&gt;&lt;br&gt;PGP key id: 926CCFF5
&lt;br&gt;PGP fingerprint: 64C2 C078 13A9 5B23 7738 F7E5 1046 C39B 926C CFF5
&lt;br&gt;PGP key available at: keyserver.net, pgp.mit.edu
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (285 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/26481567/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/gradle-dev-f31413.html&quot; embed=&quot;fixTarget[31413]&quot; target=&quot;_top&quot; &gt;gradle-dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gradle-Repository-tp26471847p26481567.html" />
</entry>

</feed>
