使用 Makefile 用 Gradle 编译模块
Compile module with Gradle using Makefile
我有一个包含 3 个不同模块的 Java/Gradle 项目。其中一个模块(我们称之为 orModule)依赖于 or-tools,不幸的是,它还不能通过某些 public 存储库(如 Maven)获得,因此它必须从源代码构建。
开发 or-tools 的团队为 compiling/building 项目提供了一个 Makefile,这是我目前一直在使用的。更具体地说,我使用 Makefile 编译我的 orModule,然后我 运行 我的 main Java class,它属于主模块。下面是我用于两个模块的 运行 配置的两个屏幕截图。
我的目标是在 Gradle 构建系统中移动这些配置,因为我需要最终使用 Gradle 构建项目。
对于 MainClass,我在根 build.gradle
中添加了以下配置:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'com.some.package.MainClass'
applicationDefaultJvmArgs = ['-Djava.library.path=/orModule/lib']
而且我认为这是正确的。但是,我不确定如何 "move" Gradle 中的 Makefile 配置。以下是我在 orModule/build.gradle
中尝试过但失败的备选方案之一。
task ndkBuild(type: Exec) {
commandLine 'make', ['EX=src/main/java/com/some/path/OrClass.java','PKG=com/some/package'], 'cjava', file('Makefile')
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
任何有关如何使用 Gradle 正确编写此配置的帮助,将不胜感激。
我已经通过完全删除 Makefile 解决了这个问题。 原答案。
这个问题很久以前就解决了,所以如果现在有人有更简单的解决方案,请 post 它,我会更改已接受的答案。
我有一个包含 3 个不同模块的 Java/Gradle 项目。其中一个模块(我们称之为 orModule)依赖于 or-tools,不幸的是,它还不能通过某些 public 存储库(如 Maven)获得,因此它必须从源代码构建。
开发 or-tools 的团队为 compiling/building 项目提供了一个 Makefile,这是我目前一直在使用的。更具体地说,我使用 Makefile 编译我的 orModule,然后我 运行 我的 main Java class,它属于主模块。下面是我用于两个模块的 运行 配置的两个屏幕截图。
我的目标是在 Gradle 构建系统中移动这些配置,因为我需要最终使用 Gradle 构建项目。
对于 MainClass,我在根 build.gradle
中添加了以下配置:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'com.some.package.MainClass'
applicationDefaultJvmArgs = ['-Djava.library.path=/orModule/lib']
而且我认为这是正确的。但是,我不确定如何 "move" Gradle 中的 Makefile 配置。以下是我在 orModule/build.gradle
中尝试过但失败的备选方案之一。
task ndkBuild(type: Exec) {
commandLine 'make', ['EX=src/main/java/com/some/path/OrClass.java','PKG=com/some/package'], 'cjava', file('Makefile')
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
任何有关如何使用 Gradle 正确编写此配置的帮助,将不胜感激。
我已经通过完全删除 Makefile 解决了这个问题。
这个问题很久以前就解决了,所以如果现在有人有更简单的解决方案,请 post 它,我会更改已接受的答案。