TrigonicSolutions / gradle-rpm-plugin

Gradle plugin for constructing RPM packages.
Apache License 2.0
38 stars 19 forks source link

Plugin can't be run with gradle 1.0 milestone 8 nightlies #12

Closed david-resnick closed 12 years ago

david-resnick commented 12 years ago

This is more of a heads up than an issue. I've tried running a build that uses the gradle-rpm-plugin with a gradle 1.0 milestone 8 nightly (http://repo.gradle.org/gradle/distributions-snapshots/gradle-1.0-milestone-8-20120122000008+0100-bin.zip).

The build fails during the configuration phase with the below stack trace. I've seen that the plugin code uses a few api.internal classes (though not org.gradle.api.internal.project.ServiceRegistry).

See also http://forums.gradle.org/gradle/topics/nightly_fails_to_initialize_with_java_lang_classnotfoundexception_org_gradle_api_internal_project_serviceregistry#reply_7791148

Caused by: org.gradle.api.GradleException: Could not generate a proxy class for class com.trigonic.gradle.plugins.rpm.Rpm.
        at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.java:188)
        at org.gradle.api.internal.project.taskfactory.TaskFactory.createTaskObject(TaskFactory.java:90)
        at org.gradle.api.internal.project.taskfactory.TaskFactory.createTask(TaskFactory.java:55)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.createTask(AnnotationProcessingTaskFactory.java:64)
        at org.gradle.api.internal.project.taskfactory.DependencyAutoWireTaskFactory.createTask(DependencyAutoWireTaskFactory.java:39)
        at org.gradle.api.internal.tasks.DefaultTaskContainer.add(DefaultTaskContainer.java:49)
        at org.gradle.api.internal.project.AbstractProject.task(AbstractProject.java:929)
        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:73)
        at active_collector_1ccg4k6hln617n5vv6bss0oeu9.run(/usr/proj/inception/active-collector/active-collector.gradle:61)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
        ... 52 more
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/internal/project/ServiceRegistry
        at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.java:95)
        ... 64 more
Caused by: java.lang.ClassNotFoundException: org.gradle.api.internal.project.ServiceRegistry
        ... 65 more
AlanKrueger commented 12 years ago

Looks like we'll just need to release a version built using milestone 8. They moved the ServiceRegistry interface from the org.gradle.api.internal.project package to org.gradle.internal.service in one milestone release. This has the effect of putting a hard break in compatibility before and after that milestone.

My tests suggest that when milestone 8 comes out, I'll just have to build a version using that milestone to make it work correctly.

david-resnick commented 12 years ago

OK, good to know that it is a straightforward fix.

david-resnick commented 12 years ago

False alarm. No problem using the latest rpm plugin with the released gradle milestone 8.

AlanKrueger commented 12 years ago

Thanks for checking on that.