mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-01-06 05:48:35 -05:00
137 lines
5.1 KiB
Groovy
137 lines
5.1 KiB
Groovy
import java.util.stream.Collectors
|
|
|
|
def distDir = "${project.layout.buildDirectory.get()}/dist"
|
|
|
|
tasks.register('licenses', DefaultTask) {
|
|
doLast {
|
|
copy {
|
|
from "$projectDir/licenses/"
|
|
into "$distDir/licenses/"
|
|
include '*.license'
|
|
rename { String name ->
|
|
name.replace("license", "txt")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def debugArguments = file("$projectDir/debug/debug_arguments.txt").text.lines().map(s -> '"' + s + '"').collect(Collectors.joining(' '))
|
|
|
|
if (os.isWindows()) {
|
|
tasks.register('baseDist', DefaultTask) {
|
|
doLast {
|
|
copy {
|
|
from "$distDir/jpackage/${jpackageExecutableName}"
|
|
into "$distDir/base"
|
|
}
|
|
copy {
|
|
from "$projectDir/logo/logo.ico"
|
|
into "$distDir/base"
|
|
}
|
|
copy {
|
|
from "$rootDir/lang"
|
|
into "$distDir/base/lang"
|
|
}
|
|
|
|
file("$distDir/base/app/.jpackage.xml").delete()
|
|
|
|
// Don't launch multiple exe instances: https://bugs.openjdk.org/browse/JDK-8340311
|
|
// We don't need the /app directory to be in the library path
|
|
def configFile = file("$distDir/base/app/${jpackageExecutableName}.cfg")
|
|
configFile.text = configFile.text.replace("[Application]", "[Application]\nwin.norestart=true")
|
|
|
|
def batLauncherFile = file("$distDir/base/runtime/bin/${jpackageExecutableName}.bat")
|
|
def batLauncherContent = batLauncherFile.text
|
|
batLauncherContent = batLauncherContent.replace(" -p \"%~dp0/../app\"", "")
|
|
batLauncherFile.text = batLauncherContent
|
|
file("$distDir/base/runtime/bin/${jpackageExecutableName}").delete()
|
|
|
|
file("$distDir/base/scripts").mkdirs()
|
|
def debug = file("$distDir/base/scripts/${jpackageExecutableName}_debug.bat")
|
|
debug.text = file("$projectDir/debug/windows/${jpackageExecutableName}_debug.bat").text.replace(
|
|
'JVM-ARGS',
|
|
debugArguments)
|
|
debug.setExecutable(true)
|
|
|
|
copy {
|
|
from "$distDir/licenses"
|
|
into "$distDir/base/licenses"
|
|
}
|
|
}
|
|
}
|
|
} else if (os.isLinux()) {
|
|
tasks.register('baseDist', DefaultTask) {
|
|
doLast {
|
|
copy {
|
|
from "$distDir/jpackage/${jpackageExecutableName}"
|
|
into "$distDir/base/"
|
|
}
|
|
copy {
|
|
from "$projectDir/logo/logo.png"
|
|
into "$distDir/base/"
|
|
}
|
|
copy {
|
|
from "$projectDir/fonts"
|
|
into "$distDir/base/fonts"
|
|
}
|
|
copy {
|
|
from "$rootDir/lang"
|
|
into "$distDir/base/lang"
|
|
}
|
|
|
|
def shLauncherFile = file("$distDir/base/lib/runtime/bin/${jpackageExecutableName}")
|
|
def shLauncherContent = shLauncherFile.text
|
|
shLauncherContent = shLauncherContent.replace(" -p \"\$DIR/../app\"", "")
|
|
shLauncherFile.text = shLauncherContent
|
|
file("$distDir/base/lib/runtime/bin/${jpackageExecutableName}.bat").delete()
|
|
|
|
file("$distDir/base/scripts").mkdirs()
|
|
def debug = file("$distDir/base/scripts/${jpackageExecutableName}_debug.sh")
|
|
debug.text = file("$projectDir/debug/linux/${jpackageExecutableName}_debug.sh").text.replace(
|
|
'JVM-ARGS',
|
|
debugArguments)
|
|
debug.setExecutable(true, false)
|
|
|
|
copy {
|
|
from "$distDir/licenses"
|
|
into "$distDir/base/licenses"
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
tasks.register('baseDist', DefaultTask) {
|
|
doLast {
|
|
def app = "${productName}.app"
|
|
copy {
|
|
from "$distDir/jpackage/${jpackageExecutableName}.app/Contents"
|
|
into "$distDir/$app/Contents/"
|
|
}
|
|
copy {
|
|
from "$distDir/licenses"
|
|
into "$distDir/$app/Contents/Resources/licenses"
|
|
}
|
|
copy {
|
|
from "$rootDir/lang"
|
|
into "$distDir/$app/Contents/Resources/lang"
|
|
}
|
|
|
|
def shLauncherFile = file("$distDir/$app/Contents/runtime/Contents/Home/bin/${jpackageExecutableName}")
|
|
def shLauncherContent = shLauncherFile.text
|
|
shLauncherContent = shLauncherContent.replace(" -p \"\$DIR/../app\"", "")
|
|
shLauncherFile.text = shLauncherContent
|
|
file("$distDir/$app/Contents/runtime/Contents/Home/bin/${jpackageExecutableName}.bat").delete()
|
|
|
|
file("$distDir/$app/Contents/Resources/scripts").mkdirs()
|
|
def debug = file("$distDir/$app/Contents/Resources/scripts/${jpackageExecutableName}_debug.sh")
|
|
debug.text = file("$projectDir/debug/mac/${jpackageExecutableName}_debug.sh").text.replace(
|
|
'JVM-ARGS',
|
|
debugArguments)
|
|
debug.setExecutable(true, false)
|
|
}
|
|
}
|
|
}
|
|
|
|
baseDist.dependsOn(licenses)
|
|
baseDist.dependsOn(jpackage)
|
|
dist.dependsOn(baseDist)
|