70 lines
1.7 KiB
Groovy
70 lines
1.7 KiB
Groovy
subprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'org.jetbrains.kotlin.jvm'
|
|
apply plugin: 'kotlin-kapt'
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
}
|
|
|
|
group 'com.bartlomiejpluta'
|
|
version '1.0-SNAPSHOT'
|
|
|
|
sourceCompatibility = 17
|
|
|
|
compileKotlin {
|
|
kotlinOptions.jvmTarget = "17"
|
|
}
|
|
compileTestKotlin {
|
|
kotlinOptions.jvmTarget = "17"
|
|
}
|
|
|
|
dependencies {
|
|
// compileOnly important!!! We do not want to put the api into the zip file since the main program has it already!
|
|
implementation project(':api')
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
|
|
kapt(group: 'org.pf4j', name: 'pf4j', version: "3.2.0")
|
|
implementation(group: 'org.pf4j', name: 'pf4j', version: "3.2.0") {
|
|
exclude group: "org.slf4j"
|
|
}
|
|
}
|
|
|
|
jar {
|
|
manifest {
|
|
attributes 'Plugin-Id': "${pluginId}",
|
|
'Plugin-Class': "${pluginClass}",
|
|
'Plugin-Version': "${pluginVersion}",
|
|
'Plugin-Provider': "${pluginProvider}",
|
|
'Plugin-Dependencies': "${pluginDependencies}"
|
|
}
|
|
}
|
|
|
|
task plugin(type: Jar) {
|
|
archiveBaseName = "plugin-${pluginId}"
|
|
into('classes') {
|
|
with jar
|
|
}
|
|
into('lib') {
|
|
from configurations.implementation
|
|
}
|
|
archiveExtension = 'zip'
|
|
}
|
|
|
|
task assemblePlugin(type: Copy) {
|
|
from jar
|
|
into pluginsDir
|
|
}
|
|
}
|
|
|
|
task clean {
|
|
dependsOn subprojects.clean
|
|
}
|
|
|
|
task assemblePlugins(type: Copy) {
|
|
dependsOn subprojects.assemblePlugin
|
|
}
|
|
|
|
task build {
|
|
dependsOn assemblePlugins
|
|
} |