I wanted to build a plugin module that can be loaded with a ServiceLoader. This requires adding a file to the META-INF/services directory, that is named after t
If you happen to inherit some ant based legacy code that does not follow the maven conventions, the following may help.
Define your source sets to match the legacy structure, and include a line like this:
include 'META-INF/services/**'
In your source sets. This pattern is generic and will pick up all your meta inf services.
Full example below.
sourceSets {
main {
java {
srcDir 'src'
exclude '**/Test*.java'
}
resources {
srcDir 'src'
include '**/*.xml'
include 'META-INF/services/**'
}
}
test {
java {
srcDir 'src'
include '**/Test*.java'
}
resources { srcDir 'resources' }
}
}