Added SWT type, so other gradle configs can easily get the different SWT configurations
This commit is contained in:
parent
d26f378c47
commit
b7c2eba5fa
@ -317,26 +317,23 @@ open class StaticMethodsAndTools(private val project: Project) {
|
|||||||
// org.eclipse.swt.cocoa.macosx.x86_64
|
// org.eclipse.swt.cocoa.macosx.x86_64
|
||||||
|
|
||||||
val currentOS = org.gradle.internal.os.OperatingSystem.current()
|
val currentOS = org.gradle.internal.os.OperatingSystem.current()
|
||||||
val windowingTk = when {
|
val swtType = if (System.getProperty("os.arch").matches(".*64.*".toRegex())) {
|
||||||
currentOS.isWindows -> "win32"
|
when {
|
||||||
currentOS.isMacOsX -> "cocoa"
|
currentOS.isWindows -> SwtType.WIN_64
|
||||||
else -> "gtk"
|
currentOS.isMacOsX -> SwtType.MAC_64
|
||||||
}
|
else -> SwtType.LINUX_64
|
||||||
|
}
|
||||||
val platform = when {
|
} else {
|
||||||
currentOS.isWindows -> "win32"
|
when {
|
||||||
currentOS.isMacOsX -> "macosx"
|
currentOS.isWindows -> SwtType.WIN_32
|
||||||
else -> "linux"
|
currentOS.isMacOsX -> SwtType.MAC_64 // not possible on mac, but here for completeness
|
||||||
|
else -> SwtType.LINUX_32
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var arch = System.getProperty("os.arch")
|
val fullId = swtType.fullId("Asd")
|
||||||
arch = when {
|
|
||||||
arch.matches(".*64.*".toRegex()) -> "x86_64"
|
|
||||||
else -> "x86"
|
|
||||||
}
|
|
||||||
|
|
||||||
val mavenId = "$windowingTk.$platform.$arch"
|
|
||||||
|
|
||||||
if (!fixedSWT) {
|
if (!fixedSWT) {
|
||||||
fixedSWT = true
|
fixedSWT = true
|
||||||
@ -348,14 +345,14 @@ open class StaticMethodsAndTools(private val project: Project) {
|
|||||||
// The maven property ${osgi.platform} is not handled by Gradle for the SWT builds
|
// The maven property ${osgi.platform} is not handled by Gradle for the SWT builds
|
||||||
// so we replace the dependency, using the osgi platform from the project settings
|
// so we replace the dependency, using the osgi platform from the project settings
|
||||||
sub.substitute(sub.module("org.eclipse.platform:org.eclipse.swt.\${osgi.platform}"))
|
sub.substitute(sub.module("org.eclipse.platform:org.eclipse.swt.\${osgi.platform}"))
|
||||||
.with(sub.module("org.eclipse.platform:org.eclipse.swt.$mavenId:$version"))
|
.with(sub.module(fullId))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "org.eclipse.platform:org.eclipse.swt.$mavenId:$version"
|
return fullId
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun idea(project: Project, configure: org.gradle.plugins.ide.idea.model.IdeaModel.() -> Unit): Unit =
|
private fun idea(project: Project, configure: org.gradle.plugins.ide.idea.model.IdeaModel.() -> Unit): Unit =
|
||||||
|
30
src/dorkbox/gradle/SwtType.kt
Normal file
30
src/dorkbox/gradle/SwtType.kt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package dorkbox.gradle
|
||||||
|
|
||||||
|
/**
|
||||||
|
* contains the different SWT maven configurations that we support
|
||||||
|
*/
|
||||||
|
enum class SwtType(val id: String) {
|
||||||
|
// SEE: https://repo1.maven.org/maven2/org/eclipse/platform/
|
||||||
|
|
||||||
|
// windows
|
||||||
|
// org.eclipse.swt.win32.win32.x86
|
||||||
|
// org.eclipse.swt.win32.win32.x86_64
|
||||||
|
|
||||||
|
// linux
|
||||||
|
// org.eclipse.swt.gtk.linux.x86
|
||||||
|
// org.eclipse.swt.gtk.linux.x86_64
|
||||||
|
|
||||||
|
// macoxs
|
||||||
|
// org.eclipse.swt.cocoa.macosx.x86_64
|
||||||
|
|
||||||
|
LINUX_32("org.eclipse.swt.gtk.linux.x86"),
|
||||||
|
LINUX_64("org.eclipse.swt.gtk.linux.x86_64"),
|
||||||
|
MAC_64("org.eclipse.swt.cocoa.macosx.x86_64"),
|
||||||
|
WIN_32("org.eclipse.swt.win32.win32.x86"),
|
||||||
|
WIN_64("org.eclipse.swt.win32.win32.x86_64");
|
||||||
|
|
||||||
|
|
||||||
|
fun fullId(version: String): String {
|
||||||
|
return "org.eclipse.platform:org.eclipse.swt.$id:$version"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user