mirror of https://github.com/weisJ/darklaf.git
Browse Source
Upgrade gradle version to 7.0. Make use of typesafe project and library accessors. These replace the current bom project. Handle different xCode version on macOS.pull/245/head
weisj
4 years ago
committed by
Jannis Weis
26 changed files with 225 additions and 212 deletions
@ -0,0 +1,20 @@
|
||||
import org.gradle.util.VersionNumber |
||||
import java.util.concurrent.TimeUnit |
||||
|
||||
fun String.runCommand(): String? { |
||||
return runCatching { |
||||
val process = ProcessBuilder(*split(" ").toTypedArray()).start() |
||||
val output = process.inputStream.reader(Charsets.UTF_8).use { |
||||
it.readText() |
||||
} |
||||
process.waitFor(10, TimeUnit.SECONDS) |
||||
output.trim() |
||||
}.getOrNull() |
||||
} |
||||
|
||||
fun getXCodeVersion(): VersionNumber? { |
||||
val version = "/usr/bin/xcodebuild -version".runCommand() ?: return null |
||||
val extracted = Regex("""Xcode\s+([0-9\\.]*).*""") |
||||
.find(version)?.groupValues?.getOrNull(1) ?: return null |
||||
return VersionNumber.parse(extracted) |
||||
} |
@ -1,47 +0,0 @@
|
||||
plugins { |
||||
`java-platform` |
||||
} |
||||
|
||||
val String.v: String get() = rootProject.extra["$this.version"] as String |
||||
|
||||
// Note: Gradle allows to declare dependency on "bom" as "api", |
||||
// and it makes the constraints to be transitively visible |
||||
// However Maven can't express that, so the approach is to use Gradle resolution |
||||
// and generate pom files with resolved versions |
||||
// See https://github.com/gradle/gradle/issues/9866 |
||||
|
||||
fun DependencyConstraintHandlerScope.apiv( |
||||
notation: String, |
||||
versionProp: String = notation.substringAfterLast(':') |
||||
) = |
||||
"api"("$notation:${versionProp.v}") |
||||
|
||||
fun DependencyConstraintHandlerScope.runtimev( |
||||
notation: String, |
||||
versionProp: String = notation.substringAfterLast(':') |
||||
) = |
||||
"runtimeOnly"("$notation:${versionProp.v}") |
||||
|
||||
dependencies { |
||||
// Parenthesis are needed here: https://github.com/gradle/gradle/issues/9248 |
||||
(constraints) { |
||||
// api means "the dependency is for both compilation and runtime" |
||||
// runtime means "the dependency is only for runtime, not for compilation" |
||||
// In other words, marking dependency as "runtime" would avoid accidental |
||||
// dependency on it during compilation |
||||
apiv("net.java.dev.jna:jna") |
||||
apiv("org.swinglabs:jxlayer") |
||||
apiv("org.swinglabs:swingx") |
||||
apiv("com.formdev:svgSalamander") |
||||
apiv("com.fifesoft:rsyntaxtextarea") |
||||
apiv("com.miglayout:miglayout-core", "miglayout") |
||||
apiv("com.miglayout:miglayout-swing", "miglayout") |
||||
apiv("org.junit.jupiter:junit-jupiter-api", "junit") |
||||
apiv("org.junit.jupiter:junit-jupiter-engine", "junit") |
||||
apiv("com.google.auto.service:auto-service-annotations", "auto-service") |
||||
apiv("com.google.auto.service:auto-service", "auto-service") |
||||
apiv("com.github.lgooddatepicker:LGoodDatePicker") |
||||
apiv("com.github.weisj:swing-dsl-laf-support", "swing-dsl") |
||||
apiv("org.jetbrains:annotations") |
||||
} |
||||
} |
@ -0,0 +1,42 @@
|
||||
[versions] |
||||
jna = "5.5.0" |
||||
jxlayer = "3.0.4" |
||||
swingx = "1.6.1" |
||||
miglayout = "5.2" |
||||
svgSalamander = "1.1.2.4" |
||||
rsyntaxtextarea = "3.1.1" |
||||
junit = "5.6.2" |
||||
autoservice = "1.0-rc7" |
||||
miglayout = "5.2" |
||||
lGoodDatePicker = "11.0.2" |
||||
swingDsl = "latest.integration" |
||||
nullabilityAnnotations = "16.0.2" |
||||
macOSFramework = "latest.integration" |
||||
|
||||
[libraries] |
||||
jna = { module = "net.java.dev.jna:jna", version.ref = "jna" } |
||||
jxlayer = { module = "org.swinglabs:jxlayer", version.ref = "jxlayer" } |
||||
swingx = { module = "org.swinglabs:swingx", version.ref = "swingx" } |
||||
svgSalamander = { module = "com.formdev:svgSalamander", version.ref = "svgSalamander" } |
||||
swingDsl = { module = "com.github.weisj:swing-dsl-laf-support", version.ref = "swingDsl" } |
||||
autoservice-annotations = { module = "com.google.auto.service:auto-service-annotations", version.ref = "autoservice" } |
||||
autoservice-processor = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" } |
||||
nullabilityAnnotations = { module = "org.jetbrains:annotations", version.ref = "nullabilityAnnotations" } |
||||
|
||||
# MacOS frameworks |
||||
macosLegacy-javaVM-base = { module = "dev.nokee.framework:JavaVM", version.ref = "macOSFramework" } |
||||
macosLegacy-javaVM-capability-javaNativeFoundation = { module = "JavaVM:JavaNativeFoundation", version.ref = "macOSFramework" } |
||||
macos-javaNativeFoundation = { module = "dev.nokee.framework:JavaNativeFoundation", version.ref = "macOSFramework" } |
||||
macos-appKit = { module = "dev.nokee.framework:AppKit", version.ref = "macOSFramework" } |
||||
macos-cocoa = { module = "dev.nokee.framework:Cocoa", version.ref = "macOSFramework" } |
||||
|
||||
# Test libraries |
||||
test-junit-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } |
||||
test-junit-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } |
||||
test-miglayout-core = { module = "com.miglayout:miglayout-core", version.ref = "miglayout" } |
||||
test-miglayout-swing = { module = "com.miglayout:miglayout-swing", version.ref = "miglayout" } |
||||
test-lGoodDatePicker = { module = "com.github.lgooddatepicker:LGoodDatePicker", version.ref = "lGoodDatePicker" } |
||||
test-rsyntaxtextarea = { module = "com.fifesoft:rsyntaxtextarea", version.ref = "rsyntaxtextarea" } |
||||
|
||||
[bundles] |
||||
test-miglayout = ["test-miglayout-core", "test-miglayout-swing"] |
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME |
||||
distributionPath=wrapper/dists |
||||
distributionUrl = https\://services.gradle.org/distributions/gradle-6.5-bin.zip |
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip |
||||
zipStoreBase=GRADLE_USER_HOME |
||||
zipStorePath=wrapper/dists |
||||
|
Loading…
Reference in new issue