サポートされているネイティブライブラリを提供するJavaベースのプロジェクトとの協力を支援するGradleプラグイン。
このプラグインは、依存関係のJARファイルに保存されているネイティブライブラリをGradleプロジェクトでより簡単に使用できるようにするという単純な問題を解決することから始まりました。つまり、私が当時取り組んでいた単純なゲームプロジェクトです。ゲームプロジェクトの作業をやめたとき、プラグインに関心があるように思われたので、それを維持し、少し良くしようとしました。個人的には、私はそれが書かれてから数ヶ月後からそれを使用していません、そして、私は実際に使用する他のプロジェクトを持っているので、私はこのプロジェクトを放棄されたとリストしています。
そうは言っても、私はそれを現在の等級とグルーヴィーなトレンドの下で成功させ続けるためにいくらかの試みをします。ただし、報告されたほとんどの問題はおそらくあまり注目されないでしょう。修正と機能のプルリクエストを送信することを歓迎します。私はそれらをタイムリーにレビューして行動します。
./gradlew clean build
プロジェクトにプラグインを追加するには、 build.gradleファイルに以下を追加します(または、既に存在する場合はbuildscriptブロックを更新します):
buildscript {
repositories {
maven {
url " https://plugins.gradle.org/m2/ "
}
}
dependencies {
classpath " gradle.plugin.com.stehno:gradle-natives:0.3.1 "
}
}
apply plugin : " com.stehno.natives "あるいは、Gradle 2.1以降の新しいプラグ定義ブロックを使用できます。
plugins {
id ' com.stehno.natives ' version ' 0.3.1 '
}プラグインはJava 7にコンパイルされています。
追加の構成がなければ、プラグインはすべてのプラットフォームに対してすべてのcompileおよびruntime依存関係の構成にすべてのネイティブライブラリを見つけ、プロジェクトのbuild/nativesディレクトリに開梱します。 build.gradleファイルにnativesブロックを追加して、この動作を構成できます。デフォルトの動作には、次の構成があります。
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
} libraries閉鎖を追加して、次のような解決されたライブラリをフィルタリングすることもできます。
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
libraries {
exclude = [ ' somelib.dll ' ]
}
}plguinが提供する2つのタスクがあります。
listNatives現在の構成によって解決されたすべてのネイティブライブラリをリストします。includeNatives構成された出力ディレクトリに解決されたネイティブライブラリを(コピー)含める。 このプラグインは、プロジェクトClassPathにあるネイティブライブラリのみをプロジェクトの依存関係として解決します(Gradle依存関係、直接または推移的)。