Gradle - Web Start Jar签名

时间:2014-11-06 01:18:35

标签: java gradle

目前,我有一个适用于Java Web Start Swing应用程序的Gradle构建。它主要使用以下概述的步骤:http://www.apprenticeshipnotes.org/2013/01/generating-webstart-files-using-gradle.html

以这种方式构建Gradle的一个巨大问题是,为了构建应用程序,我们每次进行构建时都会浪费时间签署不变的JAR(到目前为止花费大部分时间)。

我一直在寻找Github上的Gradle代码,查看可能指向正确方向的其他配方,但我似乎无法确定如何从一组任务中获取构建工件现有配置,签名,然后将它们捆绑到应用程序中,以获得更高效的功能。

我的想法是能够解析依赖关系,然后确定存储库中是否存在该依赖关系的“已签名”版本。如果没有签名依赖项,则构建将签署该工件并上载到存储库。

我尝试采用的一种更简单的方法是一个项目,它接受应用程序项目的运行时配置,并以某种方式循环遍历依赖项并签署它们并将工件上传到repo,但我不清楚我是如何做到的使用Configuration API执行此操作。仅仅获取配置文件是不够的,因为我想要每个JAR文件的依赖信息。

上传JAR也有点麻烦,因为例如,如果我上传一个签名的jar,比如metrics-json-3.0.2.jar,就像metrics-json-signed-3.0.2.jar一样,我需要更新POM以引用签名的工件。似乎应该有一个更简单的方法

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.codahale.metrics</groupId> <artifactId>metrics-parent</artifactId> <version>3.0.2</version> </parent> <artifactId>metrics-json</artifactId> <name>Jackson Integration for Metrics</name> <packaging>bundle</packaging> <description> A set of Jackson modules which provide serializers for most Metrics classes. </description> <dependencies> <dependency> <groupId>com.codahale.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>com.codahale.metrics</groupId> <artifactId>metrics-healthchecks</artifactId> <version>${project.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> </dependencies> </project>

请注意,这与现有签名插件提供的签名机制不同: http://www.gradle.org/docs/current/userguide/signing_plugin.html

0 个答案:

没有答案