Darklaf - A themeable swing Look and Feel based on Darcula-Laf
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.4 KiB

import com.github.vlsi.gradle.crlf.CrLfSpec
import com.github.vlsi.gradle.crlf.LineEndings
plugins {
`java-library`
`module-info-compile`
id("com.github.vlsi.crlf")
}
dependencies {
api(projects.darklafPropertyLoader)
compileOnly(libs.javaxAnnotations)
}
fun Jar.includeLicenses() {
CrLfSpec(LineEndings.LF).run {
into("META-INF") {
filteringCharset = "UTF-8"
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
textFrom("$rootDir/licenses/INTELLIJ_LICENSE.txt")
textFrom("$rootDir/licenses/INTELLIJ_NOTICE.txt")
}
}
}
tasks.jar {
includeLicenses()
}
val generateIconAccessor by tasks.registering {
val generatedDir = project.buildDir.resolve("generated/iconAccessor")
sourceSets.main.configure {
java.srcDir(generatedDir)
}
doFirst {
sourceSets.main.configure {
val propertyFile = project.file("iconAccessorSpec.properties")
val allIconsName = "AllIcons"
generatedDir.mkdirs()
val packageName = "com.github.weisj.darklaf.iconset"
generatedDir.resolve("${packageName.replace('.', '/')}/$allIconsName.java").apply {
parentFile.mkdirs()
createNewFile()
writeText(createIconAccessor(propertyFile, packageName, allIconsName))
}
}
}
}
tasks.compileJava.configure {
dependsOn(generateIconAccessor)
}