Gradle - 从maven装载jar并作为构建的一部分使用

时间:2012-06-25 10:21:50

标签: maven gradle

从我的gradle构建开始,我想使用html压缩器将html缩小为构建过程的一部分,html压缩器作为maven工件存在:http://code.google.com/p/htmlcompressor/#Maven_Artifact

jar应该从maven中心加载,新版本应该在释放时自动使用。

如何实现这一目标?

2 个答案:

答案 0 :(得分:3)

目前,没有Gradle插件可以简化我所知道的这项任务。我认为如果你写一个并将其贡献给社区将会很棒。现在你可以使用htmlcompressor提供的Ant tasks。在运行任务之前,确保输入和输出目录确实存在。依赖关系定义中的版本限定符允许您使用加号来提取较新版本,例如1.+。我不建议这样做,因为如果Ant任务定义使用较新的版本更改,它可能会破坏您的构建。

configurations {
    htmlcompressor
}

repositories {
    mavenCentral()
}

dependencies {
    htmlcompressor 'com.googlecode.htmlcompressor:htmlcompressor:1.4'
}

task compressHtml << {
    ant.apply(executable: "java", parallel: false) {
        fileset(dir: "test", includes: "*.html") {
            exclude(name: "**/leave/**")
        }

        arg(value: "-jar")
        arg(path: configurations.htmlcompressor.asPath)
        arg(line: "--type html")
        arg(value: "--preserve-comments")
        srcfile()
        arg(value: "-o")
        mapper(type: "glob", from: "*", to: "compressed/*")
        targetfile()
    }
}

编辑:您实际上不需要将依赖项添加到脚本的类路径中。使用它的配置更清洁。我更改了脚本以反映出来。

答案 1 :(得分:0)

  

jar应该从maven中心加载,新版本应该在释放时自动使用。

可以使用以下依赖项完成:

dependencies {
    htmlcompressor 'com.googlecode.htmlcompressor:htmlcompressor:latest.integration'
}