Plugin Gradle untuk membantu bekerja dengan proyek-proyek berbasis Java yang menyediakan perpustakaan asli yang mendukung.
Plugin ini mulai memecahkan masalah sederhana membuat perpustakaan asli disimpan dalam file JAR ketergantungan lebih mudah digunakan dalam proyek gradle, yaitu proyek permainan sederhana yang sedang saya kerjakan saat itu. Ketika saya berhenti mengerjakan proyek permainan, sepertinya ada beberapa minat pada plugin jadi saya terus dan mencoba membuatnya sedikit lebih baik. Secara pribadi, saya belum menggunakannya sejak beberapa bulan setelah ditulis, dan saya memiliki proyek lain yang sebenarnya saya gunakan, jadi saya mencantumkan proyek ini seperti yang ditinggalkan.
Yang sedang berkata, saya akan berupaya untuk membuatnya tetap berhasil di bawah lulusan saat ini dan tren yang asyik; Namun, sebagian besar masalah yang dilaporkan mungkin tidak akan mendapat banyak perhatian. Anda dipersilakan untuk mengirimkan permintaan tarik untuk perbaikan dan fitur dan saya akan meninjau dan menindaklanjutinya tepat waktu.
./gradlew clean build
Untuk menambahkan plugin ke proyek Anda, tambahkan yang berikut ke file build.gradle Anda (atau perbarui blok buildscript jika sudah ada):
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 "Bergantian, Anda dapat menggunakan blok definisi plug baru di Gradle 2.1 dan seterusnya.
plugins {
id ' com.stehno.natives ' version ' 0.3.1 '
}Plugin disusun pada Java 7.
Tanpa konfigurasi tambahan, plugin akan menemukan semua perpustakaan asli di semua konfigurasi ketergantungan compile dan runtime , untuk semua platform, dan membongkar mereka ke direktori build/natives proyek Anda. Anda dapat mengonfigurasi perilaku ini dengan menambahkan blok natives ke file build.gradle Anda. Perilaku default memiliki konfigurasi berikut:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
} Penutupan libraries juga dapat ditambahkan untuk memfilter pustaka yang diselesaikan, seperti:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
libraries {
exclude = [ ' somelib.dll ' ]
}
}Ada dua tugas yang disediakan oleh plguin:
listNatives - daftar semua perpustakaan asli yang diselesaikan dengan konfigurasi saat ini.includeNatives - termasuk (salinan) perpustakaan asli yang diselesaikan ke dalam direktori output yang dikonfigurasi. Plugin ini hanya menyelesaikan perpustakaan asli yang ada di proyek classpath sebagai dependensi proyek (dependensi lulusan, baik langsung maupun transitif).