EclipseをベースにしたIDEのプロジェクトを作成するためにGradleタスクを作成しています。これには、.project
と.classpath
の両方のファイルを生成する必要があります。この部分は問題ありません。私はでGradle Eclipse Pluginを使用して、変更された設定でeclipseProject
とeclipseClasspath
に依存しています。しかし、プロジェクト全体は移植可能でなければならない(Gradleのない環境でさえも)ので、クラスパスがキャッシュを参照するため、外部依存関係を定義することはできません。JavaDoc jarsをGradleの依存関係を取得する
// Copies the dependencies to project 'lib' folder
task copyLibs(type: Copy) {
from configurations.libs
into "$projectDir/$projectName/lib"
}
A:私のプロジェクト'lib'
フォルダにこれらの依存関係がキャッシュにダウンロードされます
// Define configurations
configurations {
libs
}
// Define repositories
repositories {
mavenCentral()
}
// Include dependencies via 'groupID:artifactID:version[:classifier]'
dependencies {
libs 'junit:junit:4.12'
}
、および簡単なコピー作業コピー:私は依存関係を定義する主なプロジェクトを使用することによって、この問題を解決しましたサブプロジェクトは現在、単に使用して、依存関係としてそれらのコピーのライブラリを使用しています。
dependencies {
compile fileTree(dir: 'lib', include: ['*.jar'])
}
サブプロジェクトでは、追加のタスクがパスを相対化するので、私私のプロジェクトを動かすことができ、どこでもgradle build
に電話することができます。これは、クラスパスがどのように見えるかです:
<classpath>
<classpathentry path="bin" kind="output"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib\hamcrest-core-1.3.jar"/>
<classpathentry kind="lib" path="lib\junit-4.12.jar"/>
</classpath>
は、今私は、依存関係のjavadoc
-jarsを含めたいです。
eclipse {
classpath {
downloadJavadoc = true
downloadSources = true
}
}
しかし、あまりにも、今、私のプロジェクトは、依存関係としてファイルを使用するため、Eclipseのプラグインは単にJavadocファイルを要求することはできません:ローカルコピーを使用する前に、私は単にthis Eclipse plugin featureを使用することができます。に:javadoc
クラシファイアの接尾辞を使用して2番目の依存関係を追加することなく、javadoc
-jars のダウンロードをリクエストするにはどうすればよいですか?それがダウンロードされると、私はキャッシュに自分自身をそれを検索することができますし、また、意図した方法で.classpath
に追加:場合)、
<classpathentry kind="lib" path="lib\junit-4.12.jar"> <attributes> <attribute name="javadoc_location" value="jar:platform:/path/to/javadoc/junit-4.12-javadoc.jar"/> </attributes> </classpathentry>
しかし、現時点では
は、javadoc
-jarsのみがダウンロードされ、依存関係を:javadoc
クラシファイアの接尾辞は通常の依存関係と同様に定義されています。またはb)依存関係はコピーされませんが、Eclipseプラグイン(downloadJavadoc = true
)でプロジェクトから直接参照されます。
Gradleがインストールされていない環境では、Gradleラッパーを使用できませんでしたか? –