51 lines
2.3 KiB
Plaintext
51 lines
2.3 KiB
Plaintext
|
|
project.ext.lwjglVersion = "3.2.3"
|
|
def osArch = System.getProperty("os.arch")
|
|
project.ext.arch = osArch.startsWith("armv8") || osArch.contains("64") ? "x86-64" : "x86"
|
|
|
|
//switch ( OperatingSystem.current() ) {
|
|
// case OperatingSystem.WINDOWS:
|
|
// project.ext.OS = "windows"
|
|
// break
|
|
// case OperatingSystem.LINUX:
|
|
// project.ext.OS = "linux"
|
|
// break
|
|
// case OperatingSystem.MAC_OS:
|
|
// project.ext.OS = "macos"
|
|
// break
|
|
//}
|
|
project.ext.OS = "linux"
|
|
|
|
class LwjglRule implements ComponentMetadataRule { //val os: String, val arch: String, val classifier: String)
|
|
private def nativeVariants = [
|
|
[os: OperatingSystemFamily.LINUX, arch: "arm32", classifier: "natives-linux-arm32"],
|
|
[os: OperatingSystemFamily.LINUX, arch: "arm64", classifier: "natives-linux-arm64"],
|
|
[os: OperatingSystemFamily.LINUX, arch: "x86-64", classifier: "natives-linux"],
|
|
[os: OperatingSystemFamily.WINDOWS, arch: "x86", classifier: "natives-windows-x86"],
|
|
[os: OperatingSystemFamily.WINDOWS, arch: "x86-64", classifier: "natives-windows"],
|
|
[os: OperatingSystemFamily.MACOS, arch: "x86-64", classifier: "natives-macos"]
|
|
]
|
|
|
|
@javax.inject.Inject
|
|
ObjectFactory getObjects() { }
|
|
|
|
void execute(ComponentMetadataContext context) {
|
|
context.details.withVariant("runtime") {
|
|
attributes {
|
|
attributes.attribute(OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, objects.named(OperatingSystemFamily, "none"))
|
|
attributes.attribute(MachineArchitecture.ARCHITECTURE_ATTRIBUTE, objects.named(MachineArchitecture, "none"))
|
|
}
|
|
}
|
|
nativeVariants.each { variantDefinition ->
|
|
context.details.addVariant("${variantDefinition.classifier}-runtime", "runtime") {
|
|
attributes {
|
|
attributes.attribute(OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, objects.named(OperatingSystemFamily, variantDefinition.os))
|
|
attributes.attribute(MachineArchitecture.ARCHITECTURE_ATTRIBUTE, objects.named(MachineArchitecture, variantDefinition.arch))
|
|
}
|
|
withFiles {
|
|
addFile("${context.details.id.name}-${context.details.id.version}-${variantDefinition.classifier}.jar")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |