1
1
ServerPackCreator/build.gradle.kts

131 lines
3.7 KiB
Plaintext

import de.griefed.common.gradle.LicenseAgreementRenderer
import de.griefed.common.gradle.SubprojectLicenseFilter
import org.gradle.plugins.ide.idea.model.IdeaLanguageLevel
import java.io.FileInputStream
import java.util.*
plugins {
idea
kotlin("jvm")
id("io.github.gradle-nexus.publish-plugin") version "1.3.0"
id("com.github.jk1.dependency-license-report")
}
val props = Properties()
FileInputStream(file("gradle.properties")).use {
props.load(it)
}
idea {
project {
languageLevel = IdeaLanguageLevel(props.getProperty("jdkVersion"))
jdkName = props.getProperty("jdkVersion")
modules.forEach {
it.isDownloadJavadoc = true
it.isDownloadSources = true
it.languageLevel = IdeaLanguageLevel(props.getProperty("jdkVersion"))
it.jdkName = props.getProperty("jdkVersion")
}
}
}
allprojects {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
evaluationDependsOnChildren()
project("serverpackcreator-web").tasks.build.get().mustRunAfter(
project("serverpackcreator-web-frontend").tasks.build.get()
)
project("serverpackcreator-app").tasks.build.get().mustRunAfter(
project("serverpackcreator-web").tasks.build.get()
)
nexusPublishing {
repositories {
sonatype {
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
username.set(System.getenv("OSSRH_USERNAME"))
password.set(System.getenv("OSSRH_PASSWORD"))
}
}
}
licenseReport {
outputDir = "$projectDir/licenses"
configurations = arrayOf("runtimeClasspath", "compileClasspath")
filters = arrayOf(
com.github.jk1.license.filter.LicenseBundleNormalizer(),
SubprojectLicenseFilter()
)
renderers = arrayOf(
com.github.jk1.license.render.InventoryHtmlReportRenderer("index.html", "Dependency Licences"),
com.github.jk1.license.render.InventoryMarkdownReportRenderer("licences.md", "Dependency Licenses"),
LicenseAgreementRenderer("LICENSE-AGREEMENT")
)
}
val appPlugins = File("serverpackcreator-app/tests/plugins")
val apiPlugins = File("serverpackcreator-api/src/jvmTest/resources/testresources/plugins")
val kotlinPlugin =
project.childProjects["serverpackcreator-plugin-example"]?.tasks?.jar?.get()?.archiveFile?.get()?.asFile?.toPath()
val licenseReports = File("licenses")
tasks.register<Delete>("cleanAppPlugins") {
delete(
fileTree(appPlugins) {
include("**/*.jar")
}
)
}
tasks.register<Copy>("copyExamplePluginsToApp") {
dependsOn(
"cleanAppPlugins",
":serverpackcreator-plugin-example:build"
)
appPlugins.mkdirs()
from(kotlinPlugin!!)
into(appPlugins)
}
tasks.register<Delete>("cleanApiUnitTestPlugins") {
delete(
fileTree(apiPlugins) {
include("**/*.jar")
}
)
}
tasks.register<Copy>("copyPluginsApiUnitTests") {
dependsOn(
"cleanApiUnitTestPlugins",
":serverpackcreator-plugin-example:build"
)
from(kotlinPlugin!!)
into(apiPlugins)
}
tasks.register<Delete>("cleanLicenseReport") {
delete(licenseReports)
delete(projectDir.resolve("serverpackcreator-gui/src/main/resources/de/griefed/resources/gui/LICENSE-AGREEMENT"))
}
tasks.register<Copy>("copyLicenseReport") {
from(rootDir.resolve("licenses/LICENSE-AGREEMENT"))
into(rootDir.resolve("serverpackcreator-gui/src/main/resources/de/griefed/resources/gui"))
}
tasks.generateLicenseReport {
mustRunAfter(tasks.getByName("cleanLicenseReport"))
finalizedBy(tasks.getByName("copyLicenseReport"))
}