Frege / frege-gradle-plugin

Gradle plugin for compiling Frege projects
BSD 3-Clause "New" or "Revised" License
25 stars 10 forks source link

Avoid making external JVM call for builds #18

Open mperry opened 9 years ago

mperry commented 9 years ago

This is particularly slow for multi-module builds.

mperry commented 9 years ago

Hi @Dierk and @Ingo60. I made some progress in the internal-compilation branch towards not spawning a new JVM for each compilation. Now when I run the gradlew build for my Frege example project, https://github.com/mperry/frege-gradle-example, I get a java.util.concurrent.RejectedExecutionException. Any ideas? See below for the stacktrace.

The plugin is now calling the Frege classes directly. To do this I had to duplicate the frege.compiler.Main.main method so there was no System.exit() call. I placed the contents of this method inside the plugin to perform compilation.

I would guess it is using all the threads in a thread pool, but not releasing the thread somehow.

Calling Frege compiler with args: '[-inline, -make, -v, -sp, E:\repositories\frege-gradle-example\frege-java\src\main\frege, -d, E:\repositories\frege-gradle-example\frege-java\build\classes\main, -fp, C:\Users\maperry\.gradle\caches\modules-2\files-2.1\org.frege-lang\frege\3.22.367-g2737683\51cecdc8ad389575d0d3bb80917ec420c9d31af9\frege-3.22.367-g2737683.jar;C:\Users\maperry\.m2\repository\org\functionaljava\functionaljava\4.4\functionaljava-4.4.jar, E:\repositories\frege-gr
adle-example\frege-java\src\main\frege]'
:frege-java:compileFrege FAILED
:frege-java:compileFrege (Thread[Daemon worker Thread 3,5,main]) completed. Took
 0.007 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':frege-java:compileFrege'.
> Task java.util.concurrent.FutureTask@5913b1de rejected from java.util.concurre
nt.ThreadPoolExecutor@2441d7f7[Terminated, pool size = 0, active threads = 0, qu
eued tasks = 0, completed tasks = 14]

* Try:
Run with --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':frege-j
ava:compileFrege'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecuteActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExec
uter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.exec
ute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execut
e(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecu
ter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter
.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execut
e(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter
.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailur
e(AbstractTask.java:310)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW
orker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW
orker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW
orker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(Defaul
tTaskPlanExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(Defau
ltTaskGraphExecuter.java:88)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTask
ExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute
r.java:62)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExec
uter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecu
ter.java:68)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildEx
ecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute
r.java:62)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute
r.java:55)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(Default
GradleLauncher.java:149)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradle
Launcher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaun
cher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildCon
troller.run(InProcessBuildActionExecuter.java:90)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(Exe
cuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildA
ctionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce
ssBuildActionExecuter.java:41)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce
ssBuildActionExecuter.java:28)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBu
ild.java:49)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build
CommandOnly.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(Forw
ardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(Forw
ardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(For
wardClientInput.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(LogToClien
t.java:66)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build
CommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(
DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBu
ild(EstablishBuildEnvironment.java:71)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build
CommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(
DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(Hin
tGCAfterBuild.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(Daemon
StateCoordinator.java:246)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.
onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableE
xecutorImpl.java:40)
Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concu
rrent.FutureTask@5913b1de rejected from java.util.concurrent.ThreadPoolExecutor@
2441d7f7[Terminated, pool size = 0, active threads = 0, queued tasks = 0, comple
ted tasks = 14]
        at frege.java.util.Concurrent$TExecutorService$5.eval(Concurrent.java:58
4)
        at frege.java.util.Concurrent$TExecutorService$5.eval(Concurrent.java:58
1)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:200)
        at frege.runtime.Delayed.forced(Delayed.java:257)
        at frege.compiler.Main$1Fasync_25586$1$1$2.eval(Main.java:6133)
        at frege.compiler.Main$1Fasync_25586$1$1$2.eval(Main.java:6130)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:198)
        at frege.runtime.Delayed.forced(Delayed.java:267)
        at frege.compiler.Main$1Fasync_25586$1$1.eval(Main.java:6155)
        at frege.compiler.Main$1Fasync_25586$1$1.eval(Main.java:6083)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:200)
        at frege.runtime.Delayed.forced(Delayed.java:257)
        at frege.prelude.PreludeBase$TST$1.eval(PreludeBase.java:13919)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:200)
        at frege.runtime.Delayed.forced(Delayed.java:267)
        at frege.compiler.Main$41$2.eval(Main.java:6458)
        at frege.compiler.Main$41$2.eval(Main.java:6455)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:198)
        at frege.runtime.Delayed.forced(Delayed.java:267)
        at frege.compiler.Main$43$2.eval(Main.java:7076)
        at frege.compiler.Main$43$2.eval(Main.java:6988)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:198)
        at frege.runtime.Delayed.forced(Delayed.java:267)
        at frege.compiler.Main$44.eval(Main.java:7193)
        at frege.runtime.Fun1$1.eval(Fun1.java:63)
        at frege.runtime.Delayed.call(Delayed.java:198)
        at frege.runtime.Runtime.runMain(Runtime.java:273)
        at frege.runtime.Runtime$runMain.call(Unknown Source)
        at frege.gradle.CompileTask.compile(CompileTask.groovy:135)
        at frege.gradle.CompileTask$compile$6.callCurrent(Unknown Source)
        at frege.gradle.CompileTask.executeCompile(CompileTask.groovy:124)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF
actory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF
actory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF
actory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(Abstra
ctTask.java:589)
        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(Abstra
ctTask.java:572)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecuteAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex
ecuteActions(ExecuteActionsTaskExecuter.java:61)
        ... 57 more

BUILD FAILED

Total time: 1.353 secs
Stopped 0 compiler daemon(s).
Received result CommandFailure[value=org.gradle.launcher.exec.ReportedException:
 org.gradle.internal.exceptions.LocationAwareException: Execution failed for tas
k ':frege-java:compileFrege'.] from daemon DaemonInfo{pid=10924, address=[14d56d
b2-b08b-413a-a5af-dbcc29f8ec33 port:55398, addresses:[/127.0.0.1, /0:0:0:0:0:0:0
:1]], idle=true, context=DefaultDaemonContext[uid=a6d76149-190a-4ae6-8ab7-5dafcf
3fb023,javaHome=C:\Program Files\Java\jdk1.7.0_79,daemonRegistryDir=C:\Users\map
erry\.gradle\daemon,pid=10924,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=25
6m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser
.country=AU,-Duser.language=en,-Duser.variant]}.

E:\repositories\frege-gradle-example>
Dierk commented 9 years ago

if I'm not mistaken, the changes in the SourceSet branch will also avoid spawning a new process...

Dierk

sent from:mobile

Am 16.09.2015 um 08:11 schrieb Mark Perry notifications@github.com:

Hi @Dierk. I made some progress in the internal-compilation branch towards not spawning a new JVM for each compilation. Now when I run the gradlew build for my Frege example project, https://github.com/mperry/frege-gradle-example, I get a java.util.concurrent.RejectedExecutionException. Any ideas? See below for the stacktrace.

Calling Frege compiler with args: '[-inline, -make, -v, -sp, E:\repositories\frege-gradle-example\frege-java\src\main\frege, -d, E:\repositories\frege-gradle-example\frege-java\build\classes\main, -fp, C:\Users\maperry.gradle\caches\modules-2\files-2.1\org.frege-lang\frege\3.22.367-g2737683\51cecdc8ad389575d0d3bb80917ec420c9d31af9\frege-3.22.367-g2737683.jar;C:\Users\maperry.m2\repository\org\functionaljava\functionaljava\4.4\functionaljava-4.4.jar, E:\repositories\frege-gr adle-example\frege-java\src\main\frege]' :frege-java:compileFrege FAILED :frege-java:compileFrege (Thread[Daemon worker Thread 3,5,main]) completed. Took 0.007 secs.

FAILURE: Build failed with an exception.

What went wrong: Execution failed for task ':frege-java:compileFrege'.

Task java.util.concurrent.FutureTask@5913b1d rejected from java.util.concurre nt.ThreadPoolExecutor@2441d7f[Terminated, pool size = 0, active threads = 0, qu eued tasks = 0, completed tasks = 14]

Try: Run with --debug option to get more log output.

Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':frege-j ava:compileFrege'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex ecuteActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex ecute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExec uter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.exec ute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execut e(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecu ter.execute(SkipEmptySourceFilesTaskExecuter.java:42) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter .execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execut e(SkipOnlyIfTaskExecuter.java:53) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter .execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailur e(AbstractTask.java:310) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW orker.executeTask(AbstractTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW orker.processTask(AbstractTaskPlanExecutor.java:63) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorW orker.run(AbstractTaskPlanExecutor.java:51) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(Defaul tTaskPlanExecutor.java:23) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(Defau ltTaskGraphExecuter.java:88) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTask ExecutionAction.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute r.java:62) at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExec uter.java:23) at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecu ter.java:68) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildEx ecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute r.java:62) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecute r.java:55) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(Default GradleLauncher.java:149) at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradle Launcher.java:106) at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLaun cher.java:86) at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildCon troller.run(InProcessBuildActionExecuter.java:90) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(Exe cuteBuildActionRunner.java:28) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildA ctionRunner.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce ssBuildActionExecuter.java:41) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProce ssBuildActionExecuter.java:28) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBu ild.java:49) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build CommandOnly.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(Forw ardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(Forw ardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(For wardClientInput.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(LogToClien t.java:66) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build CommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBu ild(EstablishBuildEnvironment.java:71) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(Build CommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed( DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(Hin tGCAfterBuild.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(Daemon StateCoordinator.java:246) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures. onExecute(ExecutorPolicy.java:54) at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableE xecutorImpl.java:40) Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concu rrent.FutureTask@5913b1d rejected from java.util.concurrent.ThreadPoolExecutor@ 2441d7f7[Terminated, pool size = 0, active threads = 0, queued tasks = 0, comple ted tasks = 14] at frege.java.util.Concurrent$TExecutorService$5.eval(Concurrent.java:58 4) at frege.java.util.Concurrent$TExecutorService$5.eval(Concurrent.java:58 1) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:200) at frege.runtime.Delayed.forced(Delayed.java:257) at frege.compiler.Main$1Fasync_25586$1$1$2.eval(Main.java:6133) at frege.compiler.Main$1Fasync_25586$1$1$2.eval(Main.java:6130) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:198) at frege.runtime.Delayed.forced(Delayed.java:267) at frege.compiler.Main$1Fasync_25586$1$1.eval(Main.java:6155) at frege.compiler.Main$1Fasync_25586$1$1.eval(Main.java:6083) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:200) at frege.runtime.Delayed.forced(Delayed.java:257) at frege.prelude.PreludeBase$TST$1.eval(PreludeBase.java:13919) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:200) at frege.runtime.Delayed.forced(Delayed.java:267) at frege.compiler.Main$41$2.eval(Main.java:6458) at frege.compiler.Main$41$2.eval(Main.java:6455) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:198) at frege.runtime.Delayed.forced(Delayed.java:267) at frege.compiler.Main$43$2.eval(Main.java:7076) at frege.compiler.Main$43$2.eval(Main.java:6988) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:198) at frege.runtime.Delayed.forced(Delayed.java:267) at frege.compiler.Main$44.eval(Main.java:7193) at frege.runtime.Fun1$1.eval(Fun1.java:63) at frege.runtime.Delayed.call(Delayed.java:198) at frege.runtime.Runtime.runMain(Runtime.java:273) at frege.runtime.Runtime$runMain.call(Unknown Source) at frege.gradle.CompileTask.compile(CompileTask.groovy:135) at frege.gradle.CompileTask$compile$6.callCurrent(Unknown Source) at frege.gradle.CompileTask.executeCompile(CompileTask.groovy:124) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF actory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF actory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskF actory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(Abstra ctTask.java:589) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(Abstra ctTask.java:572) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex ecuteAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.ex ecuteActions(ExecuteActionsTaskExecuter.java:61) ... 57 more

BUILD FAILED

Total time: 1.353 secs Stopped 0 compiler daemon(s). Received result CommandFailure[value=org.gradle.launcher.exec.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for tas k ':frege-java:compileFrege'.] from daemon DaemonInfo{pid=10924, address=[14d56d b2-b08b-413a-a5af-dbcc29f8ec33 port:55398, addresses:[/127.0.0.1, /0:0:0:0:0:0:0 :1]], idle=true, context=DefaultDaemonContext[uid=a6d76149-190a-4ae6-8ab7-5dafcf 3fb023,javaHome=C:\Program Files\Java\jdk1.7.0_79,daemonRegistryDir=C:\Users\map erry.gradle\daemon,pid=10924,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=25 6m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser .country=AU,-Duser.language=en,-Duser.variant]}.

E:\repositories\frege-gradle-example>

— Reply to this email directly or view it on GitHub.

mperry commented 9 years ago

I had a quick look at the SourceSet branch and don't see it.

When do you think those changes will be ready?

Dierk commented 9 years ago

https://github.com/Frege/frege-gradle-plugin/tree/SourceSet looks ok.

It may work already ... It needs some testing and fixing anything that comes up (preparation of the Frege day interrupted me in that work). Since I have no idea what will come up, I cannot give any estimates. Till end of week I will be busy at bedcon conference. So feel free to go ahead and give it a try.

The main idea is to follow the golang plugin to become a good citizen in the gradle plugin world. With proper definition of source sets, the IDEs should also pick those up correctly from the gradle build...

mperry commented 9 years ago

We should also check the eclipse plugin to see how it is done there.