Ein Gradle-Plugin, das bei der Zusammenarbeit mit Java-basierten Projekten unterstützt wird, die unterstützende native Bibliotheken bieten.
Dieses Plugin begann, das einfache Problem zu lösen, dass die nativen Bibliotheken, die in Abhängigkeits -Jar -Dateien gespeichert sind, in Gradle -Projekten, nämlich das einfache Spielprojekt, an dem ich zu dieser Zeit gearbeitet habe, leichter verwendbar werden kann. Als ich aufhörte, an dem Spielprojekt zu arbeiten, schien es ein gewisses Interesse am Plugin, also habe ich es aufhalten und versuchte, es ein bisschen besser zu machen. Persönlich habe ich es seit einigen Monaten nach dem Schreiben nicht benutzt und ich habe andere Projekte, die ich tatsächlich verwende, also liste ich dieses Projekt als verlassen.
Davon abgesehen werde ich versuchen, es unter den aktuellen Gradle- und Groovy -Trends erfolgreich aufzubauen. Die meisten gemeldeten Probleme werden jedoch wahrscheinlich nicht viel Aufmerksamkeit bekommen. Sie können gerne Pull -Anfragen nach Korrekturen und Funktionen einreichen, und ich werde sie rechtzeitig überprüfen und darauf reagieren.
./gradlew clean build
Um das Plugin zu Ihrem Projekt hinzuzufügen, fügen Sie Folgendes zu Ihrem build.gradle hinzu. Gradle -Datei (oder aktualisieren Sie den buildscript -Block, wenn es bereits vorhanden ist):
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 "Alternativ können Sie den neuen Plug -Definitionsblock in Gradle 2.1 und darüber hinaus verwenden.
plugins {
id ' com.stehno.natives ' version ' 0.3.1 '
}Das Plugin ist auf Java 7 zusammengestellt.
Ohne zusätzliche Konfiguration findet das Plugin alle nativen Bibliotheken in allen Konfigurationen compile und runtime für alle Plattformen und entpackt sie in das Verzeichnis build/natives Ihres Projekts. Sie können dieses Verhalten konfigurieren, indem Sie Ihrem build.gradle -Datei einen natives Block hinzufügen. Das Standardverhalten hat die folgende Konfiguration:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
} Eine libraries kann auch hinzugefügt werden, um die aufgelösten Bibliotheken zu filtern, z. B.:
natives {
configurations = [ ' compile ' , ' runtime ' ]
platforms = Platform . all()
outputDir = ' natives '
libraries {
exclude = [ ' somelib.dll ' ]
}
}Es gibt zwei Aufgaben vom Pluin:
listNatives - Listet alle nativen Bibliotheken auf, die von der aktuellen Konfiguration aufgelöst werden.includeNatives - umfasst (Kopien) die aufgelösten nativen Bibliotheken in das konfigurierte Ausgabeverzeichnis. Dieses Plugin löst nur native Bibliotheken auf, die sich auf dem Projektklassenpath als Abhängigkeiten des Projekts befinden (Abhängigkeiten von Gradle, entweder direkt oder transitiv).