On 19/01/2011, at 1:17 PM, Adam Murdoch wrote:

> 
> Optional ant tasks are still a bit awkward. You might do something like this:

Oh, and vote for http://jira.codehaus.org/browse/GRADLE-574

> 
> repositories {
>     mavenCentral()
> }
> 
> configurations {
>     mail
> }
> 
> dependencies {
>     mail 'org.apache.ant:ant-javamail:1.8.1'
> }
> 
> task email {
>     doLast {
>         configurations.mail.each {
>             
> org.apache.tools.ant.Project.class.classLoader.addURL(it.toURI().toURL())
>         }
>         ant.mail(...)
>     }
> }
> 
> The only important piece is this:
> 
> someClasspath.each {
>     org.apache.tools.ant.Project.class.classLoader.addURL(it.toURI().toURL()) 
>   
> }
> 
> 
> In the example above, I just happened to use a configuration to fetch the 
> jars from the maven central repository. You can build the classpath however 
> you like - it's just a set of File objects.
> 
> 
> On 19/01/2011, at 12:56 PM, Sean Van Buggenum wrote:
> 
>> Sure;
>> 
>> Here below is both the run using the straight ant style setup that I
>> tested on my own ( doEMail )
>> and the run using an adaption of what Rene showed me  (doMail)
>> in that order.
>> 
>> D:\dev>cd scripts
>> 
>> D:\dev\scripts>gradle -s doEMail
>> do it then!
>> do it now!
>> :doEMail
>> in the do email task
>> [ant:email] Failed to send email: javax.mail.internet.MimeMessage
>> 
>> FAILURE: Build failed with an exception.
>> 
>> * Where:
>> Build file 'D:\dev\scripts\build.gradle' line: 103
>> 
>> * What went wrong:
>> Execution failed for task ':doEMail'.
>> Cause: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
>> 
>> * Try:
>> Run with -d option to get more details. Run with -S option to get the
>> full (very verbose) stacktrace.
>> 
>> * Exception is:
>> org.gradle.api.tasks.LocationAwareTaskExecutionException: Build file
>> 'D:\dev\scripts\build.gradle' line: 103
>> Execution failed for task ':doEMail'.
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.executeActions(DefaultTaskExecuter.java:66)
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:43)
>>        at 
>> org.gradle.api.internal.project.taskfactory.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:32)
>>        at 
>> org.gradle.api.internal.project.taskfactory.ExecutionShortCircuitTaskExecuter.execute(ExecutionShortCircuitTaskExecuter.java:50)
>>        at 
>> org.gradle.api.internal.tasks.SkipTaskExecuter.doExecute(SkipTaskExecuter.java:57)
>>        at 
>> org.gradle.api.internal.tasks.SkipTaskExecuter.execute(SkipTaskExecuter.java:35)
>>        at 
>> org.gradle.api.internal.tasks.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:32)
>>        at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:231)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:167)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:160)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:78)
>>        at 
>> org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:113)
>>        at 
>> org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:153)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
>>        at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:41)
>>        at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:27)
>>        at 
>> org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:209)
>>        at 
>> org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:193)
>>        at org.gradle.launcher.Main.execute(Main.java:55)
>>        at org.gradle.launcher.Main.main(Main.java:40)
>>        at 
>> org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:46)
>>        at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)
>>        at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
>> Caused by: : java.lang.ClassNotFoundException: 
>> javax.mail.internet.MimeMessage
>>        at 
>> org.apache.tools.ant.taskdefs.email.EmailTask.execute(EmailTask.java:586)
>>        at 
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>>        at 
>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>>        at 
>> org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:71)
>>        at 
>> org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:86)
>>        at 
>> org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
>>        at 
>> org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
>>        at 
>> build_gradle_1467b47dd8b3e85829e88798cc56eeb0$_run_closure6.doCall(D:\dev\scripts\build.gradle:103)
>>        at 
>> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:445)
>>        at 
>> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:432)
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.executeActions(DefaultTaskExecuter.java:58)
>>        ... 24 more
>> Caused by: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
>>        at 
>> org.apache.tools.ant.taskdefs.email.EmailTask.execute(EmailTask.java:452)
>>        ... 34 more
>> 
>> 
>> BUILD FAILED
>> 
>> Total time: 8.069 secs
>> 
>> D:\dev\scripts>gradle -s doMail
>> do it then!
>> do it now!
>> :doMail
>> in the domail task
>> [ant:mail] Failed to send email: javax.mail.internet.MimeMessage
>> 
>> FAILURE: Build failed with an exception.
>> 
>> * Where:
>> Build file 'D:\dev\scripts\build.gradle' line: 76
>> 
>> * What went wrong:
>> Execution failed for task ':doMail'.
>> Cause: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
>> 
>> * Try:
>> Run with -d option to get more details. Run with -S option to get the
>> full (very verbose) stacktrace.
>> 
>> * Exception is:
>> org.gradle.api.tasks.LocationAwareTaskExecutionException: Build file
>> 'D:\dev\scripts\build.gradle' line: 76
>> Execution failed for task ':doMail'.
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.executeActions(DefaultTaskExecuter.java:66)
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.execute(DefaultTaskExecuter.java:43)
>>        at 
>> org.gradle.api.internal.project.taskfactory.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:32)
>>        at 
>> org.gradle.api.internal.project.taskfactory.ExecutionShortCircuitTaskExecuter.execute(ExecutionShortCircuitTaskExecuter.java:50)
>>        at 
>> org.gradle.api.internal.tasks.SkipTaskExecuter.doExecute(SkipTaskExecuter.java:57)
>>        at 
>> org.gradle.api.internal.tasks.SkipTaskExecuter.execute(SkipTaskExecuter.java:35)
>>        at 
>> org.gradle.api.internal.tasks.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:32)
>>        at org.gradle.api.internal.AbstractTask.execute(AbstractTask.java:231)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:167)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:160)
>>        at 
>> org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:78)
>>        at 
>> org.gradle.execution.TaskNameResolvingBuildExecuter.execute(TaskNameResolvingBuildExecuter.java:113)
>>        at 
>> org.gradle.execution.DelegatingBuildExecuter.execute(DelegatingBuildExecuter.java:54)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:153)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:107)
>>        at 
>> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:75)
>>        at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:41)
>>        at org.gradle.launcher.RunBuildAction.execute(RunBuildAction.java:27)
>>        at 
>> org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:209)
>>        at 
>> org.gradle.launcher.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:193)
>>        at org.gradle.launcher.Main.execute(Main.java:55)
>>        at org.gradle.launcher.Main.main(Main.java:40)
>>        at 
>> org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:46)
>>        at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:28)
>>        at org.gradle.launcher.GradleMain.main(GradleMain.java:24)
>> Caused by: : java.lang.ClassNotFoundException: 
>> javax.mail.internet.MimeMessage
>>        at 
>> org.apache.tools.ant.taskdefs.email.EmailTask.execute(EmailTask.java:586)
>>        at 
>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>>        at 
>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>>        at 
>> org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:71)
>>        at 
>> org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:86)
>>        at 
>> org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy)
>>        at 
>> org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37)
>>        at 
>> build_gradle_1467b47dd8b3e85829e88798cc56eeb0$_run_closure5_closure20.doCall(D:\dev\scripts\build.gradle:76)
>>        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:61)
>>        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:31)
>>        at 
>> org.gradle.api.internal.project.AbstractProject.ant(AbstractProject.java:877)
>>        at 
>> org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:158)
>>        at 
>> org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:93)
>>        at 
>> org.gradle.api.internal.project.DefaultProject_Decorated.invokeMethod(Unknown
>> Source)
>>        at 
>> org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.groovy:68)
>>        at 
>> build_gradle_1467b47dd8b3e85829e88798cc56eeb0$_run_closure5.doCall(D:\dev\scripts\build.gradle:71)
>>        at 
>> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:445)
>>        at 
>> org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:432)
>>        at 
>> org.gradle.api.internal.tasks.DefaultTaskExecuter.executeActions(DefaultTaskExecuter.java:58)
>>        ... 24 more
>> Caused by: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
>>        at 
>> org.apache.tools.ant.taskdefs.email.EmailTask.execute(EmailTask.java:452)
>>        ... 42 more
>> 
>> 
>> BUILD FAILED
>> 
>> Total time: 4.036 secs
>> 
>> D:\dev\scripts>
>> 
>> 
>> 
>> 
>> 
>> 
>> On 19 January 2011 12:33, Adam Murdoch <[email protected]> wrote:
>>> 
>>> On 19/01/2011, at 12:26 PM, Sean Van Buggenum wrote:
>>> 
>>> Not really making much progress:
>>> 
>>> the task I want to use is in the ant-1.8.1.jar file that is available
>>> in the lib folder of GRADLE_HOME.
>>> It is called 'EmailTask' and resides at:
>>> org.apache.tools.ant.taskdefs.email.EmailTask
>>> 
>>> Its dependencies are found in the jar files I have:
>>> 
>>> mail.jar
>>> activation.jar
>>> and maybe
>>> java-mail.jar, which comes with the ant installation.
>>> 
>>> I still get the same exception no matter how I do this:
>>> 
>>> java.lang.ClassNotFoundException.
>>> Execution failed for task ':doEMail'.
>>> Cause: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
>>> 
>>> Can you run with -s, and send in the stack trace for this exception?
>>> 
>>> --
>>> Adam Murdoch
>>> Gradle Developer
>>> http://www.gradle.org
>>> CTO, Gradle Inc. - Gradle Training, Support, Consulting
>>> http://www.gradle.biz
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>> 
>>    http://xircles.codehaus.org/manage_email
>> 
>> 
> 
> 
> --
> Adam Murdoch
> Gradle Developer
> http://www.gradle.org
> CTO, Gradle Inc. - Gradle Training, Support, Consulting
> http://www.gradle.biz
> 


--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz

Reply via email to