-
Notifications
You must be signed in to change notification settings - Fork 11
The Gradle Plugin
PDM provides a Gradle plugin that automatically generates a dependencies.json
at build time.
The latest version can be found here: https://plugins.gradle.org/plugin/me.bristermitten.pdm
From here you can add the plugin itself:
plugins {
id 'me.bristermitten.pdm' version '0.0.1'
}
The plugin adds a new configuration named pdm
that is used to designate a dependency as being downloaded by PDM.
This is used the same way as any other configuration:
dependencies {
pdm 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72'
}
The plugin also configures the jar
task to automatically shade the runtime in, and adds it to the classpath. If you would prefer to use something like Shadow to do this, you can disable it easily:
pdm {
disableRuntimeBundling()
}
Then, simply run the pdm
task to generate a dependencies.json file in build/resources/main
. Typically one would combine this with something like build
, or run pdm
automatically with something like jar.dependsOn project.tasks.getByName('pdm')
The task uses a cache to avoid querying repos every build. This is located in build/tmp/pdm/cache
, stored as JSON text.
This cache is invalided if the repositories or dependencies of the project change, but can also be overriden with the task pdmGenDependencies
, or removed with the clean
task.
There are many more options available for the plugin, which can be found here