awrichar / gradle-external-build Goto Github PK
View Code? Open in Web Editor NEWA Gradle plugin for seamlessly integrating with other build tools, including GNU make, CMake, qmake, and more.
License: Other
A Gradle plugin for seamlessly integrating with other build tools, including GNU make, CMake, qmake, and more.
License: Other
Exception thrown while executing model rule: ExternalBuildPlugin.Rules#configureExternalBuildTask(Task, ExternalBuildPlugin.ExternalBuildSpec)
> No signature of method: static com.cisco.gradle.externalbuild.tasks.GnuMake.setMakefile() is applicable for argument types: (java.io.File) values: [path/to/file/file.mak]
Possible solutions: setMakefile(java.io.File), getMakefile(), makefile(java.lang.Object)
apply plugin: 'com.cisco.external-build'
import com.cisco.gradle.externalbuild.ExternalNativeLibrarySpec
import com.cisco.gradle.externalbuild.tasks.GnuMake
model {
components {
foo(ExternalNativeLibrarySpec) {
buildConfig(GnuMake) {
makeFile 'path/to/file/file.mak'
targets 'all', 'build', 'debug', 'clean', 'prep'
}
}
}
}
Unable to use plugin successfully, all attempts result in the same error. Attempted to use various methods of setting the make file. I'm unsure if it is operator error, lacking documentation, or a bug. Using version 1.14 of plugin and gradle version 4.10.2.
gradle-external-build
fails with MSVC. In a vcvars shell this is what I see:
C:\Users\foobar\Development\gradle-external-build\examples\cmake>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25019 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
C:\Users\foobar\Development\gradle-external-build\examples\cmake>cmake --version
cmake version 3.8.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
C:\Users\foobar\Development\gradle-external-build\examples\cmake>gradlew.bat --version
------------------------------------------------------------
Gradle 3.3
------------------------------------------------------------
Build time: 2017-01-03 15:31:04 UTC
Revision: 075893a3d0798c0c1f322899b41ceca82e4e134b
Groovy: 2.4.7
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_131 (Oracle Corporation 25.131-b11)
OS: Windows 10 10.0 amd64
C:\Users\foobar\Development\gradle-external-build\examples\cmake>gradlew.bat build
:cmake:externalBuildHelloExecutable
CMake Error at CMakeLists.txt:1 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:1 (project):
No CMAKE_CXX_COMPILER could be found.
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 3.8)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
:cmake:externalBuildHelloExecutable FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':cmake:externalBuildHelloExecutable'.
> Exec failed with code 1.
See the full log at file:///C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/tmp/externalBuildHelloExecutable/cmake-errors.txt
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 1.757 secs
However, building by hand works:
C:\Users\foobar\Development\gradle-external-build\examples\cmake>cd build\external-build\hello\windows_x86
C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86>cmake .
-- The C compiler identification is MSVC 19.0.24218.2
-- The CXX compiler identification is MSVC 19.0.24218.2
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/Shared/14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/Shared/14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/Shared/14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/Shared/14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 3.8)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/external-build/hello/windows_x86
C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86>cmake --build .
Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 7/12/2017 4:42:57 PM.
Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86\ALL_B
UILD.vcxproj" on node 1 (default targets).
Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86\ALL_B
UILD.vcxproj" (1) is building "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\h
ello\windows_x86\ZERO_CHECK.vcxproj" (2) on node 1 (default targets).
PrepareForBuild:
Creating directory "Win32\Debug\ZERO_CHECK\".
Creating directory "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\wind
ows_x86\Debug\".
Creating directory "Win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\".
InitializeBuildStatus:
Creating "Win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Checking Build System
CMake does not need to re-run because C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/externa
l-build/hello/windows_x86/CMakeFiles/generate.stamp is up-to-date.
FinalizeBuildStatus:
Deleting file "Win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
Touching "Win32\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
Done Building Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\win
dows_x86\ZERO_CHECK.vcxproj" (default targets).
Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86\ALL_B
UILD.vcxproj" (1) is building "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\h
ello\windows_x86\hello.vcxproj" (3) on node 1 (default targets).
PrepareForBuild:
Creating directory "hello.dir\Debug\".
Creating directory "hello.dir\Debug\hello.tlog\".
InitializeBuildStatus:
Creating "hello.dir\Debug\hello.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule C:/Users/foobar/Development/gradle-external-build/examples/cmake/CMakeLists.txt
CMake does not need to re-run because C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/externa
l-build/hello/windows_x86/CMakeFiles/generate.stamp is up-to-date.
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin\CL.exe /c /nologo /W1 /WX- /O2 /Oy- /D "CMAKE_INTDI
R=\"Debug\"" /D _MBCS /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"hello.dir\Debug\\" /Fd"hello.d
ir\Debug\vc140.pdb" /Gd /TC /analyze- /errorReport:queue "C:\Users\foobar\Development\gradle-external-build\examples
\cmake\src\hello.c"
hello.c
Link:
C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC\bin\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\foobar\
Development\gradle-external-build\examples\cmake\build\external-build\hello\windows_x86\Debug\hello.exe" /INCREMENTAL
/NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib adva
pi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/Users/foobar/Developme
nt/gradle-external-build/examples/cmake/build/external-build/hello/windows_x86/Debug/hello.pdb" /SUBSYSTEM:CONSOLE /T
LBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/extern
al-build/hello/windows_x86/Debug/hello.lib" /MACHINE:X86 /SAFESEH hello.dir\Debug\hello.obj
hello.vcxproj -> C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\windows
_x86\Debug\hello.exe
FinalizeBuildStatus:
Deleting file "hello.dir\Debug\hello.tlog\unsuccessfulbuild".
Touching "hello.dir\Debug\hello.tlog\hello.lastbuildstate".
Done Building Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\win
dows_x86\hello.vcxproj" (default targets).
PrepareForBuild:
Creating directory "Win32\Debug\ALL_BUILD\".
Creating directory "Win32\Debug\ALL_BUILD\ALL_BUILD.tlog\".
InitializeBuildStatus:
Creating "Win32\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
CustomBuild:
Building Custom Rule C:/Users/foobar/Development/gradle-external-build/examples/cmake/CMakeLists.txt
CMake does not need to re-run because C:/Users/foobar/Development/gradle-external-build/examples/cmake/build/externa
l-build/hello/windows_x86/CMakeFiles/generate.stamp is up-to-date.
FinalizeBuildStatus:
Deleting file "Win32\Debug\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild".
Touching "Win32\Debug\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
Done Building Project "C:\Users\foobar\Development\gradle-external-build\examples\cmake\build\external-build\hello\win
dows_x86\ALL_BUILD.vcxproj" (default targets).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.17```
On Ubuntu 16.04:
> gradle --version
------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------
Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d
Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 1.8.0_212 (Oracle Corporation 25.212-b03)
OS: Linux 4.15.0-48-generic amd64
> git clone https://github.com/awrichar/gradle-external-build.git
> cd gradle-external-build/examples/cmake
> gradle tasks --stacktrace
FAILURE: Build failed with an exception.
* Where:
Build file '/work/gradle-external-build/examples/cmake/build.gradle' line: 19
* What went wrong:
A problem occurred configuring project ':cmake'.
> Exception thrown while executing model rule: hello(com.cisco.gradle.externalbuild.ExternalNativeExecutableSpec) { ... } @ cmake/build.gradle line 18, column 9
> org/gradle/api/internal/ClosureBackedAction
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':cmake'.
at org.gradle.execution.TaskNameResolver.discoverTasks(TaskNameResolver.java:100)
at org.gradle.execution.TaskNameResolver.access$100(TaskNameResolver.java:32)
at org.gradle.execution.TaskNameResolver$MultiProjectTaskSelectionResult.collect(TaskNameResolver.java:171)
at org.gradle.execution.TaskNameResolver$MultiProjectTaskSelectionResult.collectTasks(TaskNameResolver.java:166)
at org.gradle.execution.TaskNameResolver.selectWithName(TaskNameResolver.java:55)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:103)
at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:81)
at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42)
at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:45)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:57)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$200(DefaultBuildConfigurationActionExecuter.java:26)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter$2.proceed(DefaultBuildConfigurationActionExecuter.java:63)
at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:44)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:57)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$200(DefaultBuildConfigurationActionExecuter.java:26)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter$2.proceed(DefaultBuildConfigurationActionExecuter.java:63)
at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:57)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$200(DefaultBuildConfigurationActionExecuter.java:26)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.run(DefaultBuildConfigurationActionExecuter.java:43)
at org.gradle.internal.Factories$1.create(Factories.java:25)
at org.gradle.api.internal.project.DefaultProjectStateRegistry.withLenientState(DefaultProjectStateRegistry.java:132)
at org.gradle.api.internal.project.DefaultProjectStateRegistry.withLenientState(DefaultProjectStateRegistry.java:124)
at org.gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:39)
at org.gradle.initialization.DefaultGradleLauncher$CalculateTaskGraph.run(DefaultGradleLauncher.java:333)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.initialization.DefaultGradleLauncher.constructTaskGraph(DefaultGradleLauncher.java:218)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:155)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:134)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:58)
at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:55)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:82)
at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:75)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:55)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:58)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:49)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
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:104)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:81)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.model.internal.core.ModelRuleExecutionException: Exception thrown while executing model rule: hello(com.cisco.gradle.externalbuild.ExternalNativeExecutableSpec) { ... } @ cmake/build.gradle line 18, column 9
at org.gradle.model.internal.registry.DefaultModelRegistry.fireAction(DefaultModelRegistry.java:490)
at org.gradle.model.internal.registry.DefaultModelRegistry.access$700(DefaultModelRegistry.java:71)
at org.gradle.model.internal.registry.DefaultModelRegistry$RunModelAction.apply(DefaultModelRegistry.java:1184)
at org.gradle.model.internal.registry.DefaultModelRegistry.transitionTo(DefaultModelRegistry.java:390)
at org.gradle.model.internal.registry.DefaultModelRegistry.transition(DefaultModelRegistry.java:469)
at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrMaybeLater(DefaultModelRegistry.java:233)
at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrLater(DefaultModelRegistry.java:220)
at org.gradle.api.internal.tasks.DefaultTaskContainer.discoverTasks(DefaultTaskContainer.java:518)
at org.gradle.execution.TaskNameResolver.discoverTasks(TaskNameResolver.java:98)
... 107 more
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/internal/ClosureBackedAction
at com.cisco.gradle.externalbuild.internal.DefaultExternalNativeExecutableSpec.buildConfig(DefaultExternalNativeExecutableSpec.groovy:42)
at com.cisco.gradle.externalbuild.ExternalNativeExecutableSpec$NodeView$com_cisco_gradle_externalbuild_internal_DefaultExternalNativeExecutableSpec.buildConfig(Unknown Source)
at build_58tcgzzi59vhfpu6zewleaq8k$_run_closure3$_closure4$_closure5.doCall(/work/gradle-external-build/examples/cmake/build.gradle:19)
at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:70)
at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:52)
at org.gradle.model.dsl.internal.transform.ClosureBackedRuleFactory$1$1.execute(ClosureBackedRuleFactory.java:94)
at org.gradle.model.dsl.internal.transform.ClosureBackedRuleFactory$1$1.execute(ClosureBackedRuleFactory.java:88)
at org.gradle.model.internal.core.InputUsingModelAction.execute(InputUsingModelAction.java:48)
at org.gradle.model.internal.core.AbstractModelActionWithView.execute(AbstractModelActionWithView.java:37)
at org.gradle.model.internal.registry.DefaultModelRegistry$4.run(DefaultModelRegistry.java:485)
at org.gradle.model.internal.registry.RuleContext.run(RuleContext.java:42)
at org.gradle.model.internal.registry.DefaultModelRegistry.fireAction(DefaultModelRegistry.java:482)
... 115 more
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
A more complete example would help here. I'm still unable to figure out how this plugs into my broader build.
apply plugin: 'com.cisco.external-build'
model {
components {
mylib(ExternalNativeLibrarySpec) {
buildConfig(CMake) { ... }
buildOutput { ... }
}
}
}
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
if I run gradle assemble, it does not attempt to build my JNI library at all. Any hints would be greatly appreciated! Thanks!
This looks neat! One thing I wish was clear in the README doc however: Recently cmake support was added to gradle. How does using this plugin differ from gradle's inbuilt cmake support?
For example, does this plugin make it possible to use ndkbuild and cmake in the same app (this is not possible with gradle's inbuilt support)?
The plugin was working fine until today, and now even on previous commits I am having this error on MacOS:
Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'cmake'
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:67)
... 4 more
Caused by: java.io.IOException: Cannot run program "cmake" (in directory "xxx/build/external-build/parsing_native/osx_x86-64"): error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 6 more
Caused by: java.io.IOException: error=2, No such file or directory
... 7 more
Did you override an existing plugin release by any chance (using 1.10)?
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.