akhikhl / wuff

Gradle plugin for automating assembly of OSGi/Eclipse bundles and applications
MIT License
153 stars 51 forks source link

Eclipse neon: Cannot get property 'name' on null object #115

Closed osklyar closed 5 years ago

osklyar commented 7 years ago

Mac OSX, neon

Running an example from https://github.com/akhikhl/wuff/wiki/Create-first-IDE-app having configured for Neon runs into the following exception "Cannot get property 'name' on null object" after downloading and unpacking all the dependencies.

buildscript {
  repositories {
    mavenLocal()
    jcenter()
  }

  dependencies {
    classpath 'org.akhikhl.wuff:wuff-plugin:+'
  }
}

apply plugin: 'java'
apply plugin: 'org.akhikhl.wuff.eclipse-ide-app'

repositories {
  mavenLocal()
  jcenter()
}

wuff {
  // languagePack 'en'

  eclipseVersion('4.6.1') {

    def suffix_os = [ 'linux': 'linux-gtk', 'macosx': 'macosx-cocoa', 'windows': 'win32' ]
    def suffix_arch = [ 'x86_32': '', 'x86_64': '-x86_64' ]
    def fileExt_os = [ 'linux': 'tar.gz', 'macosx': 'tar.gz', 'windows': 'zip' ]

    def current_os = "macosx" // PlatformConfig.current_os
    def current_arch = "x86_64" // PlatformConfig.current_arch

    eclipseMavenGroup = 'eclipse-neon'

    eclipseMirror = 'http://ftp.gnome.org/mirror/eclipse.org'

    eclipseArchiveMirror = 'http://archive.eclipse.org'

    sources {

      source "${eclipseMirror}/technology/epp/downloads/release/neon/1/eclipse-jee-neon-1-${suffix_os[current_os]}${suffix_arch[current_arch]}.${fileExt_os[current_os]}"
      source "${eclipseMirror}/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-${suffix_os[current_os]}${suffix_arch[current_arch]}.${fileExt_os[current_os]}", sourcesOnly: true

      // languagePackTemplate '${eclipseMirror}/technology/babel/babel_language_packs/R0.14.0/neon/BabelLanguagePack-eclipse-${language}_4.6.0.v20160813060001.zip'
    }
  }
  selectedEclipseVersion = '4.6.1'
}

The full stacktrace:

* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'test'.
  at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
  at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
  at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
  at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:532)
  at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:93)
  at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
  at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
  at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:125)
  at org.gradle.internal.Factories$1.create(Factories.java:22)
  at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
  at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
  at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:122)
  at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
  at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
  at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
  at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
  at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
  at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
  at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
  at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
  at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
  at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
  at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
  at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
  at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
  at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
  at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
  at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
  at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
  at org.gradle.util.Swapper.swap(Swapper.java:38)
  at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
  at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
  at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
  at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
  at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
  at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
  at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.NullPointerException: Cannot get property 'name' on null object
  at org.akhikhl.wuff.EquinoxAppConfigurer$_configureRunTasks_closure4.doCall(EquinoxAppConfigurer.groovy:168)
  at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
  at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
  at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:110)
  at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:488)
  at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:58)
  at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:59)
  at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
  at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
  at org.gradle.api.internal.DefaultNamedDomainObjectCollection$ContainerElementsDynamicObject.invokeMethod(DefaultNamedDomainObjectCollection.java:341)
  at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:150)
  at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:150)
  at org.gradle.api.internal.tasks.DefaultTaskContainer_Decorated.invokeMethod(Unknown Source)
  at org.akhikhl.wuff.EquinoxAppConfigurer.configureRunTasks(EquinoxAppConfigurer.groovy:165)
  at org.akhikhl.wuff.EquinoxAppConfigurer.configureTasks(EquinoxAppConfigurer.groovy:209)
  at org.akhikhl.wuff.Configurer.postConfigure(Configurer.groovy:224)
  at org.akhikhl.wuff.JavaConfigurer.super$2$postConfigure(JavaConfigurer.groovy)
  at org.akhikhl.wuff.JavaConfigurer.postConfigure(JavaConfigurer.groovy:91)
  at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40)
  at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25)
  at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
  at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
  at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:30)
  at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
  at com.sun.proxy.$Proxy10.afterEvaluate(Unknown Source)
  at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
  ... 52 more
srilagit commented 5 years ago

Tried with eclipse neon, gradle 4.10.1 on windows x86_64 OS the sample RCPApp3 in examples. Set wuff plugin version as 0.0.13. Facing same error Cannot get property 'name' on null object. Any update as of today?

osklyar commented 5 years ago

Two years ago when we needed this, we ended up writing our own grade plugin to handle eclipse builds e2e. I will close the bug as it is not going to be addressed.