Gradle / javacard插件是否支持在多项目gradle构建中构建两个applet依赖项?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle / javacard插件是否支持在多项目gradle构建中构建两个applet依赖项?相关的知识,希望对你有一定的参考价值。
gradle机制或特别是它的javacard插件有一种表达依赖项的方式,其中一个*.cap
的构建取决于另一个项目的.exp
。
我用Google搜索并找到this PR,似乎该插件尚不支持我要查找的功能。
[当前,我的构建方式是:./gradlew proj01:convertJavacard proj02:convertJavacard
。其中,我必须先指定proj01:convertJavacard
,因为它产生了.exp
所需的proj02
文件。目前,这可行。
我问这里是因为我想做的是美观的./gradlew convertJavacard
。
在proj02/build.gradle
中,我尝试了以下相关部分来表示对proj01
的依赖关系:
javacard
cap
dependencies
javacardExport files(rootDir.absolutePath + '/build/javacard/')
compile files(rootDir.absolutePath + '/build/classes/java/main/')
compile project(':proj01')
它没有产生proj01
.exp
文件,因此生成依赖项失败。 compile project(':proj01')
依赖项行似乎尝试执行类似的操作:./gradlew proj01:assemble
,因为它产生了类似的输出,但没有.exp
文件。因此,proj02
建立失败。
关于如何通过以下方式进行构建的任何提示:./gradlew convertJavacard
?
我想我找到了一种以gradle
方式工作的解决方案。尽管gradle plugin
无法正确解析两个javacard项目之间的依赖关系,但gradle任务的覆盖机制使我可以插入其他依赖关系。
以下是proj02/build.gradle
的相关部分:
convertJavacard dependsOn ":proj01:convertJavacard" javacard cap dependencies javacardExport files(rootDir.absolutePath + '/build/javacard/') compile files(rootDir.absolutePath + '/build/classes/java/main/') compile project(':proj01')
因此,总之,javacard插件无法链接2个javacard项目。 gradle任务覆盖机制得以解救。
以上是关于Gradle / javacard插件是否支持在多项目gradle构建中构建两个applet依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
错误:Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.3.0 及更高版本
为啥我会收到错误消息:Android Gradle 插件仅支持 Kotlin Gradle 插件版本 1.3.10 及更高版本