mirror of https://github.com/weisJ/darklaf.git
darculadarcula-themefeelguihacktoberfestintellijintellij-themelaflooklookandfeelnativesolarizedsolarized-dark-themesolarized-light-themesvgswingthemethemes
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.
98 lines
4.0 KiB
98 lines
4.0 KiB
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") |
|
enableFeaturePreview("VERSION_CATALOGS") |
|
rootProject.name = "darklaf" |
|
|
|
pluginManagement { |
|
plugins { |
|
fun idv(id: String, key: String = id) = id(id) version extra["$key.version"].toString() |
|
idv("com.github.autostyle") |
|
idv("com.github.vlsi.crlf", "com.github.vlsi.vlsi-release-plugins") |
|
idv("com.github.vlsi.gradle-extensions", "com.github.vlsi.vlsi-release-plugins") |
|
idv("com.github.vlsi.license-gather", "com.github.vlsi.vlsi-release-plugins") |
|
idv("com.github.vlsi.stage-vote-release", "com.github.vlsi.vlsi-release-plugins") |
|
idv("org.ajoberstar.grgit") |
|
idv("net.ltgt.errorprone") |
|
} |
|
} |
|
|
|
dependencyResolutionManagement { |
|
versionCatalogs { |
|
fun VersionCatalogBuilder.idv(name: String, coordinates: String, versionRef: String = name) { |
|
val parts = coordinates.split(':', limit = 2) |
|
alias(name).to(parts[0], parts[1]).version(extra["$versionRef.version"].toString()) |
|
} |
|
class VersionBundle(val bundleName: String, val builder: VersionCatalogBuilder) { |
|
val libs = mutableListOf<String>() |
|
fun idv(name: String, coordinates: String, versionRef: String = bundleName) = |
|
builder.idv("$bundleName-$name".also { libs.add(it) }, coordinates, versionRef) |
|
} |
|
fun VersionCatalogBuilder.bundle(name: String, init: VersionBundle.() -> Unit) = VersionBundle(name, this).run { |
|
init() |
|
bundle(name, libs) |
|
} |
|
|
|
create("libs") { |
|
idv("svgSalamander", "com.formdev:svgSalamander") |
|
idv("swingDslLafSupport", "com.github.weisj:swing-extensions-laf-support", "swingDsl") |
|
idv("visualPaddings", "com.github.weisj:swing-extensions-visual-padding", "swingDsl") |
|
idv("swingx", "org.swinglabs:swingx") |
|
|
|
idv("javaxAnnotations", "javax.annotation:javax.annotation-api") |
|
idv("nullabilityAnnotations", "org.jetbrains:annotations") |
|
} |
|
create("macOsFrameworks") { |
|
idv("javaNativeFoundation", "com.github.weisj:java-native-foundation") |
|
idv("appKit", "dev.nokee.framework:AppKit", "macOSFramework") |
|
idv("cocoa", "dev.nokee.framework:Cocoa", "macOSFramework") |
|
} |
|
create("testLibs") { |
|
bundle("junit") { |
|
idv("api", "org.junit.jupiter:junit-jupiter-api") |
|
idv("engine", "org.junit.jupiter:junit-jupiter-engine") |
|
} |
|
bundle("miglayout") { |
|
idv("core", "com.miglayout:miglayout-core") |
|
idv("swing", "com.miglayout:miglayout-swing") |
|
} |
|
idv("lGoodDatePicker", "com.github.lgooddatepicker:LGoodDatePicker") |
|
idv("rsyntaxtextarea", "com.fifesoft:rsyntaxtextarea") |
|
idv("swingDslInspector", "com.github.weisj:swing-extensions-inspector", "swingDsl.inspector") |
|
idv("jna", "net.java.dev.jna:jna") |
|
} |
|
create("toolLibs") { |
|
bundle("errorprone") { |
|
idv("core", "com.google.errorprone:error_prone_core") |
|
idv("annotations", "com.google.errorprone:error_prone_annotations") |
|
idv("javac", "com.google.errorprone:javac", "errorprone.compiler") |
|
idv("guava", "com.google.guava:guava-beta-checker", "guava") |
|
} |
|
bundle("autoservice") { |
|
idv("annotations", "com.google.auto.service:auto-service-annotations") |
|
idv("processor", "com.google.auto.service:auto-service") |
|
} |
|
} |
|
} |
|
} |
|
|
|
include( |
|
"annotations", |
|
"annotations-processor", |
|
"native-utils", |
|
"core", |
|
"compatibility", |
|
"iconset", |
|
"theme", |
|
"property-loader", |
|
"utils", |
|
"platform-base", |
|
"windows", |
|
"macos" |
|
) |
|
|
|
for (p in rootProject.children) { |
|
if (p.children.isEmpty()) { |
|
// Rename leaf projects only |
|
// E.g. we don't expect to publish examples as a Maven module |
|
p.name = "darklaf-" + p.name |
|
} |
|
}
|
|
|