Un plugin Gradle pour aider à travailler avec des projets basés sur Java qui fournissent des bibliothèques natives de soutien.
Ce plugin a commencé à résoudre le problème simple de la création des bibliothèques natives stockées dans des fichiers de pot de dépendance plus facilement utilisables dans les projets Gradle, à savoir le projet de jeu simple sur lequel je travaillais à l'époque. Lorsque j'ai cessé de travailler sur le projet de jeu, il semblait qu'il y avait un certain intérêt pour le plugin, alors j'ai gardé ça et j'ai essayé de l'améliorer un peu. Personnellement, je ne l'ai pas utilisé depuis quelques mois après son écriture, et j'ai d'autres projets que j'utilise réellement, donc je répertorie ce projet comme abandonné.
Cela étant dit, je vais essayer de le maintenir avec succès sous les tendances actuelles de Gradle et Groovy; Cependant, la plupart des problèmes signalés n'attireront probablement pas beaucoup d'attention. Vous êtes invités à soumettre des demandes de traction de correctifs et de fonctionnalités et je vais les réexaminer et y jouer en temps opportun.
./gradlew clean build
Pour ajouter le plugin à votre projet, ajoutez ce qui suit à votre fichier build.gradle (ou mettez à jour le bloc buildscript s'il existe déjà):
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 "Alternativement, vous pouvez utiliser le nouveau bloc de définition de la fiche dans Gradle 2.1 et au-delà.
plugins {
id ' com.stehno.natives ' version ' 0.3.1 '
}Le plugin est compilé sur Java 7.
Sans aucune configuration supplémentaire, le plugin trouvera toutes les bibliothèques natives dans toutes les configurations de dépendance compile et runtime , pour toutes les plates-formes, et les déballer dans le répertoire build/natives de votre projet. Vous pouvez configurer ce comportement en ajoutant un bloc natives à votre fichier build.gradle . Le comportement par défaut a la configuration suivante:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
} Une fermeture libraries peut également être ajoutée pour filtrer les bibliothèques résolues, telles que:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
libraries {
exclude = [ ' somelib.dll ' ]
}
}Il y a deux tâches fournies par le plguin:
listNatives - répertorie toutes les bibliothèques natives résolues par la configuration actuelle.includeNatives - Comprend (copies) les bibliothèques natives résolues dans le répertoire de sortie configuré. Ce plugin ne résout que les bibliothèques natives qui figurent sur le projet de classe de projet en tant que dépendances du projet (dépôt Gradle, directe ou transitif).