Gradle:如何删除NativeLibrarySpec的静态任务
我为jni库编写的Gradle2.3构建脚本如下所示。是否有可能删除为构建静态库而创建的任务?或者更好地防止创建静态任务Gradle:如何删除NativeLibrarySpec的静态任务,gradle,java-native-interface,Gradle,Java Native Interface,我为jni库编写的Gradle2.3构建脚本如下所示。是否有可能删除为构建静态库而创建的任务?或者更好地防止创建静态任务 model { toolChains { clang(Clang) } buildTypes { release } components { myNativeLib(NativeLibrarySpec) { binaries.all {
model {
toolChains {
clang(Clang)
}
buildTypes {
release
}
components {
myNativeLib(NativeLibrarySpec) {
binaries.all {
if (toolChain in Clang && buildType == buildTypes.release) {
cppCompiler.args '-O3', '-mavx2',
"-I${javaHome}/../include",
"-I${javaHome}/../include/darwin", // os-dependent
"-I${buildDir}/javah" // output of javah
linker.args "-o${buildDir}/binaries/${nativeLibrary}"
}
}
}
}
}
您可以删除所有静态任务,如下所示:
model {
toolChains {
clang(Clang)
}
buildTypes {
release
}
components {
myNativeLib(NativeLibrarySpec) {
binaries.all {
if (toolChain in Clang && buildType == buildTypes.release) {
cppCompiler.args '-O3', '-mavx2',
"-I${javaHome}/../include",
"-I${javaHome}/../include/darwin", // os-dependent
"-I${buildDir}/javah" // output of javah
linker.args "-o${buildDir}/binaries/${nativeLibrary}"
}
}
// removes all static tasks
binaries.withType(StaticLibraryBinarySpec) {
binaries.remove(it)
}
}
}
}
对于gradle 2.8,我得到:没有方法的签名:org.gradle.model.ModelMap.remove()适用于参数类型:(org.gradle.nativeplatform.internal.DefaultStaticLibraryBinarySpec\u)