131 lines
3.7 KiB
Plaintext
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"))
|
|
} |