xtext / xtext-gradle-plugin Goto Github PK
View Code? Open in Web Editor NEWGradle plugins for using Xtext and Xtend
License: Eclipse Public License 1.0
Gradle plugins for using Xtext and Xtend
License: Eclipse Public License 1.0
There was a breaking change in the StandaloneBuilder in Xtext 2.7. There is a new method setJavaSourceRoots that needs to be called.
The gradle build throws NullPointerException when the generateXtext and compileJava are called from two different build invocations
e,g in a same project with xtext gradle plugin version 1.0.x , do the following
$> gradle generateXtext
$> gradle compileJava
This should throw a NullPointerException
Using 'org.xtext:xtext-gradle-plugin:1.0.5'
I got the exception below after applying a Git patch to my repository and doing ./gradlew clean build
. Restarting the Gradle daemon solved the problem. The repository is TypeFox/ls-api.
java.lang.IllegalArgumentException: The 'no null' constraint is violated
at org.eclipse.emf.common.util.AbstractEList.validate(AbstractEList.java:97)
at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:418)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:325)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:309)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)
at org.eclipse.xtext.java.resource.JavaDerivedStateComputer$3.acceptResult(JavaDerivedStateComputer.java:236)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:480)
at org.eclipse.xtext.java.resource.JavaDerivedStateComputer.installFull(JavaDerivedStateComputer.java:244)
at org.eclipse.xtext.java.resource.JavaResource$4.apply(JavaResource.java:140)
at org.eclipse.xtext.java.resource.JavaResource.initializing(JavaResource.java:150)
at org.eclipse.xtext.java.resource.JavaResource.installFull(JavaResource.java:144)
at org.eclipse.xtext.java.resource.JavaResource.getContents(JavaResource.java:113)
at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder$5.apply(IncrementalBuilder.java:242)
at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder$5.apply(IncrementalBuilder.java:1)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader$2.apply(ClusteringStorageAwareResourceLoader.java:91)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader$2.apply(ClusteringStorageAwareResourceLoader.java:1)
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:640)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at java.util.AbstractCollection.toArray(AbstractCollection.java:141)
at java.util.ArrayList.addAll(ArrayList.java:577)
at com.google.common.collect.Iterables.addAll(Iterables.java:350)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader.executeClustered(ClusteringStorageAwareResourceLoader.java:95)
at org.eclipse.xtext.build.BuildContext.executeClustered(BuildContext.java:62)
at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder.launch(IncrementalBuilder.java:268)
at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:468)
at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:449)
at org.xtext.gradle.builder.XtextGradleBuilder.doBuild(XtextGradleBuilder.java:344)
at org.xtext.gradle.builder.XtextGradleBuilder.access$400(XtextGradleBuilder.java:70)
at org.xtext.gradle.builder.XtextGradleBuilder$3.apply(XtextGradleBuilder.java:289)
at org.xtext.gradle.builder.XtextGradleBuilder$3.apply(XtextGradleBuilder.java:252)
at org.eclipse.xtext.xbase.lib.IteratorExtensions.forEach(IteratorExtensions.java:363)
at org.eclipse.xtext.xbase.lib.IterableExtensions.forEach(IterableExtensions.java:333)
at org.xtext.gradle.builder.XtextGradleBuilder.indexChangedClasspathEntries(XtextGradleBuilder.java:295)
at org.xtext.gradle.builder.XtextGradleBuilder.build(XtextGradleBuilder.java:138)
at org.xtext.gradle.tasks.XtextGenerate.build(XtextGenerate.java:367)
at org.xtext.gradle.tasks.XtextGenerate.generate(XtextGenerate.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)
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:48)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)
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:60)
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:237)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Right now, the way to build an android project with data binding on this branch, requires multiple steps.
./gradlew :Quotes:build
./gradlew :Quotes:build
For every build, you need to repeat these four steps then ./gradlew :Quotes:clean
.
Yes, this is a pain in the ass.
If I attempt to build again, after those steps I mentioned without cleaning (e.g. ./gradlew :Quotes:clean
), I get this gradle NPE:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Quotes:compileDebugJavaWithJavac'.
> java.lang.NullPointerException (no error message)
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':Quotes:compileDebugJavaWithJavac'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
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
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:210)
at com.google.common.collect.Iterables.filter(Iterables.java:584)
at org.eclipse.xtext.xbase.lib.IterableExtensions.filter(IterableExtensions.java:253)
at org.xtext.gradle.tasks.XtextGenerate$4.apply(XtextGenerate.java:376)
at org.xtext.gradle.tasks.XtextGenerate$4.apply(XtextGenerate.java:366)
at org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:139)
at org.xtext.gradle.tasks.XtextGenerate.installDebugInfo(XtextGenerate.java:409)
at org.xtext.gradle.android.XtextAndroidBuilderPlugin$6$2.execute(XtextAndroidBuilderPlugin.java:188)
at org.xtext.gradle.android.XtextAndroidBuilderPlugin$6$2.execute(XtextAndroidBuilderPlugin.java:185)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 14 more
I think we should move the data binding code generation ahead of the Xtend transpilation process.
I tried to study how Kotlin does it, but I haven't found anything yet.
... Looks like an issue to me - see Google Groups thread https://groups.google.com/forum/#!topic/xtend-lang/5U5JQM1EVks.
Denis
Like groovy, gradle etc.
The Idea Plugin only has a few unit tests at the moment. We need at least one end-to-end that builds an IntelliJ plugin and runs a simple test on it. This test will be pretty long-running, but worth the security it gives us.
Jetbrains has created their own Gradle Plugin for building Idea Plugins. We should merge most of our logic in there.
We no longer have an external builder
Hi,
I need the org.eclipse.core.resources.ResourcesPlugin in my DslValidator for checking files existing on the filesystem.
But I get an NoClassDefFoundError.
I already use the
xtext 'org.eclipse.birt.runtime:org.eclipse.core.resources:3.9.1.v20140825-1431'
in my build.gradle. But nothing changes. The exception is thrown.
how can I fix it? Or where can I define more deps for xtext build? The documentation of this plugin is very small.
thx.
Something I already noticed in this issue oehme/xtend-contrib#34 : There seems to be a confusion in how the xtend plugin registers its xtend-gen folder as source folders in eclipse.
I have a small toy project using xtend where this can be reproduced: https://github.com/otrosien/spring-boot-xtend-demo
context:
Observed behaviour:
Desired behaviour:
Please let me know if bug reports for this Gradle plugin belong elsewhere - apologies if so.
Java: jdk1.6.0_45 (64bit)
Gradle: 2.10
Buildscript dependency: 'org.xtext:xtext-gradle-plugin:1.0.3'
Plugin: 'org.xtext.xtend'
:generateXtext step fails. Ran with -S for stacktrace and failure information:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':generateXtext'.
> java.net.URLClassLoader.close()V
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':generateXtext'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
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:151)
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:78)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
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:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: java.lang.NoSuchMethodError: java.net.URLClassLoader.close()V
at org.xtext.gradle.builder.XtextGradleBuilder.cleanup(XtextGradleBuilder.java:396)
at org.xtext.gradle.builder.XtextGradleBuilder.doBuild(XtextGradleBuilder.java:347)
at org.xtext.gradle.builder.XtextGradleBuilder.access$400(XtextGradleBuilder.java:69)
at org.xtext.gradle.builder.XtextGradleBuilder$3.apply(XtextGradleBuilder.java:288)
at org.xtext.gradle.builder.XtextGradleBuilder$3.apply(XtextGradleBuilder.java:251)
at org.eclipse.xtext.xbase.lib.IteratorExtensions.forEach(IteratorExtensions.java:363)
at org.eclipse.xtext.xbase.lib.IterableExtensions.forEach(IterableExtensions.java:333)
at org.xtext.gradle.builder.XtextGradleBuilder.indexChangedClasspathEntries(XtextGradleBuilder.java:294)
at org.xtext.gradle.builder.XtextGradleBuilder.build(XtextGradleBuilder.java:137)
at org.xtext.gradle.tasks.XtextGenerate.build(XtextGenerate.java:344)
at org.xtext.gradle.tasks.XtextGenerate.generate(XtextGenerate.java:209)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 61 more
I'd like to add my thanks for what has been awesome software so far - I've been using it a lot and Google has solved all my issues so far except this. Is this plugin supposed to support Java 6?
I'm currently try to integrate your wonderful plugin into my build and it works as expected... as long I have just one xcore file. With two of them, one referencing classes of the other, there are problems:
ERROR:PipeType cannot be resolved. (file:/home/palador/dev/pipeman/src/models/src/main/xtext/document.xcore line : 12 column : 12) ERROR:de.sc.pipeman.model.material cannot be resolved. (file:/home/palador/dev/pipeman/src/models/src/main/xtext/document.xcore line : 8 column : 8) ERROR:A generic type in this context must refer to a classifier or a type parameter (file:/home/palador/dev/pipeman/src/models/src/main/xtext/document.xcore line : 12 column : null)
I tried to fix it myself, but I'm not that much into codegeneration configurations. Here are some snipets of my sources:
build.gradle
``
...
apply plugin: 'org.xtext.builder'
apply plugin: 'org.xtext.xtend'
apply plugin: 'java'
apply plugin: 'base'
xtext {
version = "$xtext_version"
sourceSets {
main {
srcDir 'src/main/xtext'
}
}
languages {
ecore {
setup = 'org.eclipse.xtext.ecore.EcoreSupport'
}
codegen {
setup = 'org.eclipse.emf.codegen.ecore.xtext.GenModelSupport'
}
xcore {
setup = 'org.eclipse.emf.ecore.xcore.XcoreStandaloneSetup'
generator.outlet.producesJava = true
generator.javaSourceLevel = '1.8'
}
}
}
sourceSets {
main {
output.dir("$buildDir/xcore/main", buildBy: "generateXtext")
}
}
...
``
document.xcore:
``
@genmodel(
modelDirectory="./build/xcore",
complianceLevel="8.0"
)
package de.sc.pipeman.model.document
import de.sc.pipeman.model.material
class PipemanDocument {
String title
refers PipeType defaultPipeType
}
``
material.xcore:
``
@genmodel(
modelDirectory="./build/xcore",
complianceLevel="8.0"
)
package de.sc.pipeman.model.material
class PipeType {
String name
}
``
If I understand correct, this is a gradle plugin for using the language. But is there any plans or examples to build the language (jar-files) with gradle? So its possible to use it in a subproject for example.
Thank you
Hopefully I haven't missed something obvious here... sorry if I have!
Versions:
Java 8
com.android.tools.build:gradle:2.0.0-rc1
org.xtext:xtext-android-gradle-plugin:1.0.4
The part where I use these plugins looks like this:
apply plugin: 'android'
apply plugin: 'org.xtext.android.xtend'
tasks.withType(JavaCompile) { options.encoding = 'UTF-8' }
eclipseJdt << { file('.settings/org.eclipse.core.resources.prefs').write('eclipse.preferences.version=1\nencoding/<project>=utf-8') }
I run 'gradle eclipse' and import the project into Eclipse, but Eclipse never compiles my xtend code. org.eclipse.xtext.ui.shared.xtextBuilder is missing from the .project created.
My current work-around is this:
eclipseJdt << { eclipse.project.buildCommand 'org.eclipse.xtext.ui.shared.xtextBuilder'; eclipse.project.buildCommands.with { swap(size - 1, size - 2) } }
The swap is to get the new command in before the com.android.ide.eclipse.adt.ApkBuilder buildCommand.
I tried to create a stripped down demo gradle script, but it gave me the opposite behavior - the 'com.android.ide.eclipse.adt.ApkBuilder' buildCommand was missing.
I'm presuming there's some sort of incompatibility going on here?
the tests reuse some configuration data from disk, which could have bad sideeffects. We need to be able to clean that data
We need to integration-test the plugin against a typical Android project. Unfortunately, that requires an Android SDK on the machine running the tests. Travis has Android support in beta. For local builds, we might ignore the tests if Android is not available.
Currently if there are 10 source sets in a build and each of them depends on Guava (a common scenario), the Guava.jar will be indexed 10 times on a full build.
We should cache jar indexes to make this much faster.
@akosyakov: Since you wanted to look into this, here's where you'd have to put that cache.
(I'm not sure if this is a bug in this plugin, but the same code compiles in Eclipse and compiled in the old gradle plugin.)
When a Xtend class implements a (java) interface that contains a default method which is not overridden by the class, the build aborts with an error
ERROR:The class TestClass must be defined abstract because it does not implement testMethod()
I thought this might be related to #52, but explicitly setting the javaSourceLevel and/or sourceCompatibilityLevel to 1.8 does not help.
Attached is a minimal example which triggers the issue: xtend-default-method-issue.zip
@oehme I'm currently struggling to get xtext-gradle-plugin to work on a sample Xtext language which I've just switched from Xtext 2.8.4 to Xtext 2.9.0 due to dependency errors, and feel some documentation (or perhaps better automation of the required classpath by the xtext-gradle-plugin?) would be of value to end users.
Specifically, I'm trying to cobble this together from https://eclipse.org/Xtext/documentation/350_continuous_integration.html + http://xtext.github.io/xtext-gradle-plugin/xtext-builder.html, and feel something is missing somewhere.
First off, can you confirm that my assumption that the idea here is that until it's possible to build an Xtext lang completely with Gradle (which I understand is not the case as of now), one continues to build the "language" using Tycho as always, but can then use the xtext-gradle-plugin for code generation in the build of runtime projects? So the xtext-gradle-plugin effectively is an alternative for (only) the chapter "Integration in Standard Maven Builds" in the Xtext documentation - right? To test out such a setup, one has to go from mvn install
in the dir of the lang to gradlew generateXtext
in the project with repositories { mavenLocal()
- there is no "smoother" way, right?
Now, where does it get the exact dependencies required to run the code generation from - must a language declare that in the pom.xml (as still Tycho..) of the standalone (non-*.ui) core language bundle, or would you advise to declare it in the build.gradle using the language? Or do you intend the xtext-gradle-plugin to implicitly grab what it needs, based on the Xtext version tag?
I had started out by declaring nothing, then also tried a xtext { version = '2.9.0'
in the build.gradle, but first hit:
Execution failed for task ':examples/ch.vorburger.examples.xeemim.pizzas:generateXtext'.
> com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/OperationCanceledException```
Then I've added this to the lang's pom.xml:
<dependencies>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xtext</artifactId>
<version>${xtext.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase</artifactId>
<version>${xtext.version}</version>
</dependency>
</dependencies>```
only to be greeted by:
Execution failed for task ':examples/ch.vorburger.examples.xeemim.pizzas:generateXtext'.
> com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Lorg/eclipse/jdt/internal/compiler/batch/CompilationUnit;```
That gets solved by this in the pom.xml:
<dependency>
<groupId>org.eclipse.jdt</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
<version>3.10.0</version>
</dependency>
only to be greeted from by:
Execution failed for task ':examples/ch.vorburger.examples.xeemim.pizzas:generateXtext'.
ISerializationContext
Now this ISerializationContext, which appears to be org.eclipse.xtext.serializer.ISerializationContext (it's funny that the Gradle error does not show the package name?), it cannot find anywhere anymore... I've noticed that there is both a org.eclipse.xtext.xtext:2.9.0 (note the double xtext.xtext) as well as a org.eclipse.xtext:2.9.0 (huh?!), and when I check these JARs in ~/.m2/repository, both appear to contain the .class for org.eclipse.xtext.serializer.ISerializationContext, Gradle does not seem to find it?!
There is also this error:
Type org.eclipse.xtext.xbase.file.AbstractFileSystemSupport not present
which is also causing me a test failure in standalone test module, separate from the code generation; it looks like org.eclipse.xtext.xbase.file.AbstractFileSystemSupport was there in 2.8.4 but disappeared in 2.9.0? Not sure what still depends on it...
My Q is: Is this PITA ;-) "normal" and "intended by design" ? Then just close this issue... ;-) But if you meant for this to go a lot smoother, then perhaps some documentation, or more smartness in the gradle plugin, about how to manage dependencies in such a scenario, would be useful to others?
Or maybe you (we?) could extend the https://github.com/xtext/maven-xtext-example to have an example-project-gradle? Let me try that... ;-)
The fix right now for the DuplicateFileException is this, this happens when dexing the class files:
android {
packagingOptions {
// from xtendlib >=2.9.2
exclude 'META-INF/ECLIPSE_.RSA'
exclude 'META-INF/ECLIPSE_.SF'
}
}
We need test cases that use at least two different Xtext languages which cross-reference each other.
I've been trying to use this plugin to generate java sources from an Xcore file. You can find the build file
here.
Although it generates the classes (and java source) from the xcore model into the /build folder, I cannot reference these from other java classes from within the project. Would it be doable to copy the generated java files into the current source folder?
My second issue is that the xcore generator does not seem to work when I'm referencing ecore types. Remove the comment here and the following error will happen:
ERROR:A generic type in this context must refer to a classifier or a type parameter (file:/Users/guillaume/Experimental/xcore-gradle-example/src/main/resources/model.xcore line : 4)
Last issue is that modifying the DEFAULT_OUTPUT.dir
value in the build file does not seem to have any effect.
I have a language using a custom _OutputConfigurationProvider _ that was previously generated by the < 1.x version auf the xtext-gradle-plugin.
I'm in the transition process to 1.x and have problems understanding the relation between the sourceset and outlets that are assumend by the plugin.
The documentation states
If you apply the Java plugin, an Xtext Generator task is created for every Java SourceSet
I assumed that I needed to create a sourceset for every outlet that is defined in my _OutputConfigurationProvider _ but the build fails due to missing outlet.
When I manually create the outlet everything works.
Do I need to create the outlets manually or is there some magic that is missing?
What is the generateXXX Task ment for that is created for each sourceset?
When trying to switch a large multi-project setup from the old xtend-gradle-plugin to the new xtext-gradle-plugin, I'm getting the following NullPointerException during the generateXtext
task:
Caused by: java.lang.NullPointerException
at org.eclipse.xtext.java.resource.JavaDerivedStateComputer.installStubs(JavaDerivedStateComputer.java:91)
at org.eclipse.xtext.java.resource.JavaResource$1.apply(JavaResource.java:125)
at org.eclipse.xtext.java.resource.JavaResource.initializing(JavaResource.java:146)
at org.eclipse.xtext.java.resource.JavaResource.installStubs(JavaResource.java:129)
at org.eclipse.xtext.java.resource.JavaResourceDescriptionManager.getResourceDescription(JavaResourceDescriptionManager.java:47)
at org.eclipse.xtext.build.Indexer.addToIndex(Indexer.java:356)
at org.eclipse.xtext.build.Indexer$6.apply(Indexer.java:339)
at org.eclipse.xtext.build.Indexer$6.apply(Indexer.java:1)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader$2.apply(ClusteringStorageAwareResourceLoader.java:91)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader$2.apply(ClusteringStorageAwareResourceLoader.java:1)
at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:582)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterables.addAll(Iterables.java:348)
at org.eclipse.xtext.build.ClusteringStorageAwareResourceLoader.executeClustered(ClusteringStorageAwareResourceLoader.java:95)
at org.eclipse.xtext.build.BuildContext.executeClustered(BuildContext.java:62)
at org.eclipse.xtext.build.Indexer.getDeltasForChangedResources(Indexer.java:342)
at org.eclipse.xtext.build.Indexer.computeAndIndexAffected(Indexer.java:238)
at org.eclipse.xtext.build.IncrementalBuilder$InternalStatefulIncrementalBuilder.launch(IncrementalBuilder.java:215)
at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:495)
at org.eclipse.xtext.build.IncrementalBuilder.build(IncrementalBuilder.java:476)
at org.xtext.gradle.builder.XtextGradleBuilder.doBuild(XtextGradleBuilder.java:344)
at org.xtext.gradle.builder.XtextGradleBuilder.build(XtextGradleBuilder.java:228)
at org.xtext.gradle.tasks.XtextGenerate.build(XtextGenerate.java:359)
at org.xtext.gradle.tasks.XtextGenerate.generate(XtextGenerate.java:224)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:244)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:231)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 68 more
Looks like the JDT Parser returns a null result. Unfortunately, I wasn't yet able to find out which files and/or circumstances are causing this problem. I could not find any useful information in the debug output.
Please let me know what information you require.
This was tested with the following versions:
xtext-gradle-plugin version 1.0.4
gradle version 2.11 and 2.12
xtend version 2.9.2
I am getting an issue using the gradle plugin - Configuration with name 'testCompile' not found.
Stacktace
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:91)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:86)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:65)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:504)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:83)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
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:36)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: org.gradle.api.artifacts.UnknownConfigurationException: Configuration with name 'testCompile' not found.
at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.createNotFoundException(DefaultConfigurationContainer.java:79)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection.getByName(DefaultNamedDomainObjectCollection.java:192)
at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.getByName(DefaultConfigurationContainer.java:69)
at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.getByName(DefaultConfigurationContainer.java:33)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection.getAt(DefaultNamedDomainObjectCollection.java:204)
at org.gradle.api.internal.artifacts.configurations.DefaultConfigurationContainer.getAt(DefaultConfigurationContainer.java:33)
at org.xtext.gradle.XtextPlugin$1.execute(XtextPlugin.java:156)
at org.xtext.gradle.XtextPlugin$1.execute(XtextPlugin.java:90)
at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:109)
at org.gradle.listener.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:98)
at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:83)
at org.gradle.listener.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy12.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:79)
... 38 more
The project is an android gradle project, here are my gradle files.
**/build.gradle
buildscript {
repositories {
mavenCentral()
maven {
url uri('mechanoid-gradle-plugin/repo')
}
maven {
url 'http://dl.bintray.com/ghedeon/gradle'
}
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
classpath 'com.robotoworks.mechanoid:mechanoid-gradle-plugin:0.2.2-SNAPSHOT'
classpath 'com.novoda:gradle-android-command-plugin:1.2.1'
classpath 'org.robolectric:robolectric-gradle-plugin:0.13.2'
classpath 'com.novoda:gradle-android-test-plugin:0.10.1'
classpath 'com.vv.testy:testy:0.1'
classpath "org.xtext:xtext-gradle-plugin:0.3.6"
}
}
And then we have another sub project
app/build.gradle
apply plugin: 'com.android.application'
apply plugin: 'mechanoid-gradle-plugin'
apply plugin: 'android-command'
apply plugin: 'testy'
apply plugin: 'org.xtext.xtext'
dependencies {
// Android dependencies
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:palette-v7:21.0.+'
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-maps:6.5.87'
compile 'com.google.android.gms:play-services-appindexing:6.5.87'
// Repository dependencies
compile 'com.squareup:otto:1.3.5'
compile 'javax.inject:javax.inject:1'
compile 'com.squareup.dagger:dagger:1.2.2'
provided 'com.squareup.dagger:dagger-compiler:1.2.2'
compile ('com.github.frankiesardo:icepick:2.0') {
exclude module: 'support-v4'
}
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
compile 'com.squareup.okio:okio:1.0.0'
compile 'com.squareup.picasso:picasso:2.3.3'
compile 'com.jakewharton:butterknife:6.1.0'
compile 'net.hockeyapp.android:HockeySDK:3.0.2'
compile 'com.sothree.slidinguppanel:library:2.0.2'
compile 'com.cocosw:undobar:1.5'
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile 'uk.co.chrisjenx:calligraphy:1.2.0'
compile ('com.justeat:com.justeat.mickeydb.lib:1.0.0-SNAPSHOT') {
exclude module: 'android'
}
// Jar libraries
compile files(
'libs/mechanoid.jar',
'libs/libGoogleAnalyticsServices.jar',
'libs/adxtag3.2.jar')
provided files(
'libs/amazon/home-api.jar',
'libs/amazon/amazonmaps-1.0.2.jar',
'libs/amazon/motiongestures-api.jar',
'libs/javawriter-2.1.1.jar')
// Project dependencies
compile project(':lib-facebook')
androidTestCompile ('com.android.support.test.espresso:espresso-core:2.0') {
exclude group: 'javax.inject'
}
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile 'org.mockito:mockito-core:1.9.5'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
xtextTooling 'com.justeat:com.justeat.mickeydb:1.0.0-SNAPSHOT'
}
xtext {
version = '2.7.3'
sources {
srcDir 'src/main/model'
}
languages {
mickey {
setup = 'com.justeat.mickeydb.MickeyLangStandaloneSetup'
output.dir = 'src/main/java-gen'
}
}
}
I'm having problems using the plugin with gradle 2.12. The build fails with the following error:
An exception occurred applying plugin request [id: 'org.xtext.xtext', version: '1.0.0-RC4']
Failed to apply plugin [id 'org.xtext.xtext']
Could not create an instance of type org.xtext.gradle.tasks.XtextExtension_Decorated.
A look at the stacktrace reveals the following root cause:
[...]
Caused by: java.lang.NoSuchMethodError: org.gradle.api.internal.file.DefaultSourceDirectorySet.(Ljava/lang/String;Lorg/gradle/api/internal/file/FileResolver;)V
at org.xtext.gradle.tasks.XtextExtension.(XtextExtension.java:41)
at org.xtext.gradle.tasks.XtextExtension_Decorated.(Unknown Source)
at org.gradle.internal.reflect.DirectInstantiator.newInstance(DirectInstantiator.java:49)
... 59 more
It seems the constructor of the DefaultSourceSet
class has changed (multiple times) since the 2.11 release (see here).
This might already be fixed in master
, since apparently XtextSourceDirectorySet
is used instead of DefaultSourceSet
, so maybe another release is all that is needed?
Some info on how long downloading idea/plugins will take woud be nice.
Hi,
I'm reporting that the xtext-idea-plugin is broken on android studio >= 2.11.
Is there a version restriction, built-in?
The plugin excludes output folders from beeing a model folder.
thus the xtend plugin wont find anything if the xtext plugin generates to src/main/java
Hi @oehme - how is it going at Gradle? ;-) Thanks a lot for continuing to maintain xtext-gradle-plugin.
Unless I'm stupid, I think there is a bug in org.xtext.builder causing it to ignore changes in xtextLanguage JARs in mavenLocal() when running under Gradle daemon - were you aware of this? I've no idea of course if this is something bad in the xtext Gradle plugin (like does it perhaps 'forget' to "release" some.. "handle" to the xtextLanguages dependencies), or an indication of a more fundamental problem in the implementation of the Gradle daemon cache.
Here's how you should be able to reproduce this problem:
echo "org.gradle.daemon=true" >>~/.gradle/gradle.properties
git clone https://github.com/xtext/maven-xtext-example
cd maven-xtext-example/my.mavenized.herolanguage.releng
mvn install
cd ../example-project-gradle
./gradlew test
cd ../my.mavenized.herolanguage
nano src/my/mavenized/jvmmodel/HeroLanguageJvmModelInferrer.xtend
mvn install
cd ../example-project-gradle
./gradlew test
cat build/herolang/main/my/company/Superman.java
See what I'm trying to show - making some change to the HeroLanguageJvmModelInferrer.xtend which breaks it, say I changed toMethod("hello"
to toMethod("helloXX"
, but whatever - and the next generation should fail because there is a test for the method name, or even just look at the gen. code, but .. nope! It but doesn't - because example-project-gradle is still using the original herolanguage
version from before the change, when running under the Gradle daemon!! Uh uh. :-( Now if you remove the org.gradle.daemon=true
from the ~/.gradle/gradle.properties
and ./gradlew test
again, or use ./gradlew --stop
first, then it will magically fail (resp. gen. diff. new code..), because now (only) the change made to the DSL/Generator is taken into account.
Note that launching it using ./gradlew --no-daemon test
does not seem to help, or not always. Using use ./gradlew --stop
sometimes. Removing remove the org.gradle.daemon=true
from the ~/.gradle/gradle.properties
always does the trick and makes it forget however this is cached wherever. I understand these 3 options should all lead to the same, but I've observed they don't reliably - go figure.
PS: I was originally using mvn 3.3.9 (probably not important), and Gradle 2.9 through the wrapper of the maven-xtext-example/example-project-gradle as seen in https://github.com/xtext/maven-xtext-example/blob/master/example-project-gradle/gradle/wrapper/gradle-wrapper.properties#L6, and org.xtext.builder" version "1.0.0-RC1" as in https://github.com/xtext/maven-xtext-example/blob/master/example-project-gradle/build.gradle#L5. FTR: I'm proposing upgrading both to latest via xtext/maven-xtext-example#37, and have retested the scenario outlined above with both, but that does not help... :-(
PPS: Chapter "6.3.7. What can go wrong with Daemon?" on https://docs.gradle.org/current/userguide/gradle_daemon.html sounds interesting and relevant in this context - in particular "... and third party plugins can destabilize the Daemon process through defects such as memory leaks or global state corruption."
(1) create a new xtext project (2.11-SNAPSHOT) using wizard gives 3 projects
org.xtext.example.mydsl
org.xtext.example.mydsl.ide
org.xtext.example.mydsl.tests
(2) update the xtext gradle plugin version classpath 'org.xtext:xtext-gradle-plugin:1.0.8'
gives
* What went wrong:
Execution failed for task ':org.xtext.example.mydsl.tests:generateTestXtext'.
> java.io.FileNotFoundException: /Users/dietrich/xtext-dev/runtime-EclipseApplicationdxasada/org.xtext.example.mydsl.parent/org.xtext.example.mydsl.tests/build/classes/main (No such file or directory)
seems there was a change in the gradle plugin that make what the wizard generates unusable
going back to
`'org.xtext:xtext-gradle-plugin:1.0.5'
solves the problem
"ERROR:Abstract methods do not specify a body" thrown by org.xtext.xtend plugin when compiling interface like below:
interface X{
def boolean foo() {false }
}
Seems that corresponding .java files are generated, but that error prevents further tasks.
As a follow-up from https://www.eclipse.org/forums/index.php?t=rview&goto=1711227#msg_1711227, I open this issue to detail. I am sorry if I am not entirely clear, as both I and the other members of the IncQuery team have only a very limited experience with gradle.
Basically, the code generator of EMF-IncQuery requires some user-defined EPackages available that are not referenced by class. In case of the maven compiler, we provide a plug-in that reads some configuration information and registers the EPackages accordingly, then simply delegates the delegation phase to the xtext-maven-compiler (see http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/maven/incquery-maven-plugin/src/main/java/org/eclipse/incquery/maven/incquerybuilder/IncqueryBuilderMojo.java for details).
The question is whether (1) it is required to do something like that for the grade plugin, or is it possible to do something with the scripting API? Or if not, (2) what do we need to do to allow the code generation work in case of gradle as well?
Hi,
Is there a way to configure the plugin to clear the DEFAULT_OUTPUT output folders when running a clean? It seems that when I run a gradle clean with a standard xtext-gradle-plugin project it does not clean previous generated source files or is there something I am missing?
In a project that uses gradle xtend plugin, contains test classes implemented in xtend, and successfully compiles with xtend plugin version 1.0.5. If updated to version 1.0.6, 1.0.8, 1.0.9 or 1.0.10, the testing compilation fails with the following error:
Execution failed for task ':generateTestXtext'.
> java.io.FileNotFoundException: /home/rivasdiaz/Projects/Arquillian/helloworld/build/classes/main (Is a directory)
It would be nice if we were able to download artifacts from internal repository (mirror) during "downloadIdea" and "downloadPlugins" tasks.
For example:
archiveUrl = "http://company.com/repos/jetbrains/com/jetbrains/intellij/idea/ideaIC/ideaIC-${ideaVersion}.zip"
explicitPlugins {
plugin('org.eclipse.xtend.idea', "http://company.com/repos/xtext/idea/${xtextVersion}/org.eclipse.xtend.idea-${xtextVersion}.zip")
plugin('org.eclipse.xtext.idea', "http://company.com/repos/xtext/idea/${xtextVersion}/org.eclipse.xtext.idea-${xtextVersion}.zip")
plugin('org.eclipse.xtext.xtext.idea', "http://company.com/repos/xtext/idea/${xtextVersion}/org.eclipse.xtext.xtext.idea-${xtextVersion}.zip")
}
After doing 'gradle eclipse' on an IDEA project, the classpath entries pointing to idea plugins don't contain any sources.
It should by default have the sources attached.
Currently, the plugin does not automatically clean the output folder on an Xtext clean build and also doesn't hook into gradle clean
. This is because some output folders are generate-once and we don't want them to be deleted.
We should add an option to the outlet configuration to specify whether an outlet should be cleaned automatically or not. This should be respected by both the builder and the clean task.
Hey,
Having a problem with the xtext gradle idea plugin in the xtext beta build 2.9.0.v201505220408
โ org.xtext.example.mydsl.idea gradle assemble
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/ian.warwick/Documents/sdev/wspace/xtext_sandbox_2015/org.xtext.example.mydsl.idea/build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'org.xtext.example.mydsl.idea'.
> No signature of method: build_merovsdsjsi6ojbesq3gc9t7h$_run_closure1.id() is applicable for argument types: (java.lang.String) values: [org.xtend.xtend]
Possible solutions: is(java.lang.Object), is(java.lang.Object), find(), find(), find(groovy.lang.Closure), find(groovy.lang.Closure)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Steps to reproduce:
package org.xtext.example.mydsl
import org.xtext.example.mydsl.services.MyDslGrammarAccess
import com.google.inject.Inject
class Foo {
@Inject MyDslGrammarAccess grammarAccess
def foo() {
grammarAccess.greetingAccess.helloKeyword_0
}
}
Run gradle install
Results in
ERROR:The method getGreetingAccess() from the type MyDslGrammarAccess refers to the missing type Object (file:/Users/koehnlein/Documents/devel/ride-master/ws/org.xtext.example.mydsl.parent/org.xtext.example.mydsl/src/main/java/org/xtext/example/mydsl/Foo.xtend line : 10 column : 23)
FAILED
If we know the file extension of each language, we can filter unrelated changes during incremental builds.
Using Xtext 2.10 and Plugin 1.0.5
Having this Grammar
Model:
greetings+=Greeting*;
Greeting:
'Hello' name=ID ('from' from=[Greeting])? '!';
and this formatter
class MyDslFormatter extends AbstractFormatter2 {
@Inject extension MyDslGrammarAccess ga
def dispatch void format(Model model, extension IFormattableDocument document) {
for (Greeting greetings : model.getGreetings()) {
greetings.format;
}
}
def dispatch void format(Greeting model, extension IFormattableDocument document) {
model.prepend[newLines = 2]
model.regionFor.keyword(greetingAccess.fromKeyword_2_0).prepend[newLine]
interior(model.regionFor.keyword(greetingAccess.fromKeyword_2_0).previousSemanticRegion, model.regionFor.keyword(greetingAccess.exclamationMarkKeyword_3))[indent]
}
}
which compiles fine in eclipse i get with gradle
:org.xtext.example.mydsl1:generateXtext
Download https://jcenter.bintray.com/org/eclipse/xtext/org.eclipse.xtext.java/2.10.0/org.eclipse.xtext.java-2.10.0.pom
Download https://jcenter.bintray.com/org/eclipse/xtext/org.eclipse.xtext.java/2.10.0/org.eclipse.xtext.java-2.10.0.jar
ERROR:The method getGreetingAccess() from the type MyDslGrammarAccess refers to the missing type Object (file:/Users/dietrich/Documents/workspaceNeon2/org.xtext.example.mydsl1.parent/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting2/MyDslFormatter.xtend line : 25 column : 27)
ERROR:The method getGreetingAccess() from the type MyDslGrammarAccess refers to the missing type Object (file:/Users/dietrich/Documents/workspaceNeon2/org.xtext.example.mydsl1.parent/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting2/MyDslFormatter.xtend line : 27 column : 36)
ERROR:The method getGreetingAccess() from the type MyDslGrammarAccess refers to the missing type Object (file:/Users/dietrich/Documents/workspaceNeon2/org.xtext.example.mydsl1.parent/org.xtext.example.mydsl1/src/org/xtext/example/mydsl1/formatting2/MyDslFormatter.xtend line : 27 column : 116)
:org.xtext.example.mydsl1:generateXtext FAILED
We need tests for model files in different sourceSets (e.g main and tests), making sure that cross-references are only possible in the direction of dependencies.
Tried the new wizard (eclipse/xtext#570)
Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.
org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:98)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:488)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:86)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:143)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:47)
at org.gradle.initialization.DefaultGradleLauncher.runBuildOperation(DefaultGradleLauncher.java:189)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:140)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:35)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:104)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.runRootBuildOperation(DefaultGradleLauncher.java:184)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:93)
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:27)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:72)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:44)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
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:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Cause 1: java.lang.NullPointerException
at java.io.File.(File.java:360)
at org.xtext.gradle.idea.tasks.GradleExtensions.operator_divide(GradleExtensions.java:36)
at org.xtext.gradle.idea.tasks.IdeaExtension.getIdeaHome(IdeaExtension.java:197)
at org.xtext.gradle.idea.tasks.IdeaExtension_Decorated.getIdeaHome(Unknown Source)
at org.xtext.gradle.idea.IdeaDevelopmentPlugin$2.execute(IdeaDevelopmentPlugin.java:41)
at org.xtext.gradle.idea.IdeaDevelopmentPlugin$2.execute(IdeaDevelopmentPlugin.java:38)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:113)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:102)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:488)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:86)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:143)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:47)
at org.gradle.initialization.DefaultGradleLauncher.runBuildOperation(DefaultGradleLauncher.java:189)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:140)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:35)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:104)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.runRootBuildOperation(DefaultGradleLauncher.java:184)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:93)
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:27)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:72)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:44)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
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:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Cause 2: java.lang.NullPointerException
at java.io.File.(File.java:360)
at org.xtext.gradle.idea.tasks.GradleExtensions.operator_divide(GradleExtensions.java:36)
at org.xtext.gradle.idea.tasks.IdeaExtension.getIdeaHome(IdeaExtension.java:197)
at org.xtext.gradle.idea.tasks.IdeaExtension_Decorated.getIdeaHome(Unknown Source)
at org.xtext.gradle.idea.IdeaComponentPlugin$6.execute(IdeaComponentPlugin.java:242)
at org.xtext.gradle.idea.IdeaComponentPlugin$6.execute(IdeaComponentPlugin.java:237)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:113)
at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:102)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy11.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:67)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:488)
at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:86)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:42)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:143)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:47)
at org.gradle.initialization.DefaultGradleLauncher.runBuildOperation(DefaultGradleLauncher.java:189)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:140)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:35)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:104)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.runRootBuildOperation(DefaultGradleLauncher.java:184)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:93)
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:27)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:72)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:44)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
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:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
In a fresh example project, the final zip files contains asm and cglib, both of which are provided by IntelliJ and this must not be packaged.
The XtextGenerate task currently has a single concept called classpath
which serves two purposes:
We should split this into classpath
and modelpath
for two reasons
classpath
doesn't make any sense for ecosystems like C/C++A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.