2

私のgradleビルドから、Mavenアーティファクトとして存在するhtmlコンプレッサーを使用して、ビルドプロセスの一部としてhtmlを縮小したいと思います: http://code.google.com/p/htmlcompressor/#Maven_Artifact

jar は Maven Central からロードする必要があり、新しいバージョンがリリースされると自動的に使用されます。

これはどのように達成できますか?

4

2 に答える 2

3

現在、私が認識しているこのタスクを簡素化する Gradle プラグインは存在しません。あなたがそれを書いてコミュニティに貢献してくれたら素晴らしいと思います. 今のところ、おそらくhtmlcompressor が提供するAnt タスクを使用できます。タスクを実行する前に、入力ディレクトリと出力ディレクトリが実際に存在することを確認してください。依存関係定義のバージョン修飾子を使用すると、プラス記号を使用して新しいバージョンをプルできます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()
    }
}

編集:実際には、依存関係をスクリプトのクラスパスに追加する必要はありません。構成を使用すると、はるかにクリーンになります。それを反映するようにスクリプトを変更しました。

于 2012-06-25T13:01:39.300 に答える
0

jar は Maven Central からロードする必要があり、新しいバージョンがリリースされると自動的に使用されます。

次の依存関係で実行できます。

dependencies {
    htmlcompressor 'com.googlecode.htmlcompressor:htmlcompressor:latest.integration'
}
于 2012-06-26T15:03:00.630 に答える