Code Monkey home page Code Monkey logo

gradle-external-build's People

Contributors

awrichar avatar djabx avatar sfionov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gradle-external-build's Issues

Error when setting makeFile

Error:

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)

Sample Build Script

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'
            }
        }
    }
}

Description

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.

can't build with MSVC

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```

Building CMake example fails

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

Need more documentation

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!

Difference with builtin cmake support?

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)?

Error: no such file or directory

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)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.