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
