diff --git a/.gitignore b/.gitignore index d972f7fb..2d7b083d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /.cxx/ +/downloads/ /src/main/native/auto/ # Ignore Gradle's project-specific cache directory: diff --git a/build.gradle b/build.gradle index c8423778..f48ec3bf 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java-library' // to build JVM libraries + alias(libs.plugins.download) // to retrieve files from URLs } ext { @@ -36,10 +37,21 @@ tasks.withType(JavaCompile) { // Java compile-time options: javadoc.dependsOn('compileTestJava') +// download archived JoltPhysics source code + +tasks.register('download', Download) { + src 'https://github.com/jrouwe/JoltPhysics/archive/refs/tags/v5.0.0.zip' + dest file('downloads/JoltPhysics-5.0.0.zip') + overwrite false +} + // Register cleanup tasks: -clean.dependsOn('cleanAutoHeaders') +clean.dependsOn('cleanAutoHeaders', 'cleanDownloads') tasks.register('cleanAutoHeaders', Delete) { // auto-generated JNI headers delete 'src/main/native/auto' } +tasks.register('cleanDownloads', Delete) { // downloaded files + delete 'downloads' +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..d2a10bd4 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,11 @@ +## catalog of libraries and plugins used to build the jolt-jni project + +[versions] + +[libraries] + +[bundles] + +[plugins] + +download = { id = "de.undercouch.download", version = "5.6.0" } \ No newline at end of file