So it's the plugin author's problem, and that's it?

I'm fine with that if that's really the case, but if so, is it possible for
Gradle to emit (suitably grave) warnings if a plugin author uses the
internal api at all? I don't want to use gradle plugins that drastically
fail when I upgrade to a new version of gradle.

And if that's not the case, and using the internal API is sometimes ok, is
it possible to write a plugin that works with gradle 1.6 and 1.7 without
using resorting to reflection?

Cheers,

Sean


On Thu, Aug 8, 2013 at 12:08 PM, Luke Daley <luke.da...@gradleware.com>wrote:

> Hi Sean,
>
> The RPM plugin is using internal API, which changed in this release.
>
> The RPM plugin will need to be updated.
>
> On 08/08/2013, at 11:52 AM, Sean Reilly <seanjrei...@gmail.com> wrote:
>
> > Hi All,
> >
> > I'm attempting to upgrade from gradle 1.6 to gradle 1.7, and I think
> I've encountered a potential backwards compatibility issue.
> >
> > I'm using the RPM plugin as follows:
> >
> > buildscript {
> >     repositories {
> >         mavenCentral()
> >     }
> >     dependencies {
> >         classpath 'com.trigonic:gradle-rpm-plugin:1.3'
> >     }
> > }
> >
> > apply plugin: 'war'
> > apply plugin: 'rpm'
> >
> > task rpm(type: Rpm, dependsOn: war) {
> >     packageName = "blah-${project.name}"
> >     version = "1.0.1"
> >     release = revision
> >     arch = NOARCH
> >     os = LINUX
> >    //more configuration, etc
> > }
> >
> > Under gradle 1.6, this works fine, but if I run the same script with
> gradle 1.7, the build fails.
> >
> >
> > I've included the stack trace below. At first glance it looks like a
> method has been removed from a gradle api class.
> >
> > Cheers,
> >
> > Sean
> >
> >
> > FAILURE: Build failed with an exception.
> >
> > * Where:
> > Script '/Users/sreilly/Projects/XXX/build.gradle' line: XXX
> >
> > * What went wrong:
> > A problem occurred evaluating script.
> > > Could not create task of type 'Rpm'.
> >
> > * Try:
> > Run with --info or --debug option to get more log output.
> >
> > * Exception is:
> > org.gradle.api.GradleScriptException: A problem occurred evaluating
> script.
> >       at
> org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
> >       at
> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:131)
> >       at
> org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyScript(DefaultObjectConfigurationAction.java:82)
> >       at
> org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$000(DefaultObjectConfigurationAction.java:32)
> >       at
> org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$1.run(DefaultObjectConfigurationAction.java:54)
> >       at
> org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114)
> >       at
> org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:39)
> >       at
> org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:248)
> >       at
> org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:136)
> >       at
> org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
> >       at
> org.gradle.api.internal.project.DefaultProject_Decorated.invokeMethod(Unknown
> Source)
> >       at
> org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
> >       at org.gradle.api.Script$apply.callCurrent(Unknown Source)
> >       at
> build_3ouab9f94ai0o2vmdevnmfcojb.run(/Users/sreilly/Projects/TelefonicaInsightServices/smartsteps/rest/build.gradle:4)
> >       at
> org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
> >       at
> org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:131)
> >       at
> org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38)
> >       at
> org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25)
> >       at
> org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
> >       at
> org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
> >       at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:469)
> >       at
> org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:77)
> >       at
> org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
> >       at
> org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
> >       at
> org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
> >       at
> org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
> >       at
> org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
> >       at
> org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
> >       at
> org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
> >       at
> org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
> >       at
> org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
> >       at
> org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
> >       at
> org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
> >       at
> org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
> >       at
> org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
> >       at
> org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
> >       at
> org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
> >       at
> org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
> >       at
> org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
> >       at org.gradle.launcher.Main.doAction(Main.java:48)
> >       at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
> >       at org.gradle.launcher.Main.main(Main.java:39)
> >       at
> org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
> >       at
> org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
> >       at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
> > Caused by: org.gradle.api.tasks.TaskInstantiationException: Could not
> create task of type 'Rpm'.
> >       at
> org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:115)
> >       at
> org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:110)
> >       at
> org.gradle.api.internal.AbstractTask.injectIntoNewInstance(AbstractTask.java:145)
> >       at
> org.gradle.api.internal.project.taskfactory.TaskFactory.createTaskObject(TaskFactory.java:110)
> >       at
> org.gradle.api.internal.project.taskfactory.TaskFactory.createTask(TaskFactory.java:70)
> >       at
> org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.createTask(AnnotationProcessingTaskFactory.java:100)
> >       at
> org.gradle.api.internal.project.taskfactory.DependencyAutoWireTaskFactory.createTask(DependencyAutoWireTaskFactory.java:39)
> >       at
> org.gradle.api.internal.tasks.DefaultTaskContainer.create(DefaultTaskContainer.java:55)
> >       at
> org.gradle.api.internal.project.AbstractProject.task(AbstractProject.java:912)
> >       at
> org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:248)
> >       at
> org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:136)
> >       at
> org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
> >       at
> org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:83)
> >       at
> rpm_support_4gv6ia50cgflj085708i87sqoi.run(/Users/sreilly/Projects/TelefonicaInsightServices/smartsteps/rpm-support.gradle:3)
> >       at
> org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
> >       ... 44 more
> > Caused by: java.lang.NoSuchMethodError:
> org.gradle.api.internal.file.copy.CopyActionImpl.<init>(Lorg/gradle/api/internal/file/FileResolver;Lorg/gradle/api/internal/file/copy/CopySpecVisitor;)V
> >       at
> com.trigonic.gradle.plugins.rpm.Rpm$RpmCopyAction.<init>(Rpm.groovy:154)
> >       at com.trigonic.gradle.plugins.rpm.Rpm.<init>(Rpm.groovy:62)
> >       at com.trigonic.gradle.plugins.rpm.Rpm_Decorated.<init>(Unknown
> Source)
> >       at
> org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:62)
> >       at
> org.gradle.api.internal.ClassGeneratorBackedInstantiator.newInstance(ClassGeneratorBackedInstantiator.java:36)
> >       at
> org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:113)
> >       ... 58 more
> >
> >
> > BUILD FAILED
> >
>
> --
> Luke Daley
> Principal Engineer, Gradleware
> http://gradleware.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>
>

Reply via email to