Added build-clients.d script.

This commit is contained in:
Andrew Lalis 2022-07-26 17:15:14 +02:00
parent 2fb608de08
commit 9b7908fd60
4 changed files with 46 additions and 2 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
.idea/
target/
client-builds/
# Ignore the ./config directory so that developers can put their config files
# there for server and client apps.

43
build-clients.d Executable file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env dub
/+ dub.sdl:
dependency "dsh" version="~>1.6.1"
+/
/**
* Builds OS-dependent client application versions.
*/
module build_clients;
import dsh;
import std.array;
import std.algorithm;
import std.string;
import std.regex;
import std.path;
void main() {
string[] profiles = [
"linux-aarch64",
"linux-amd64",
"linux-arm",
"linux-arm32",
"macos-aarch64",
"macos-x86_64",
"windows-aarch64",
"windows-amd64",
"windows-x86"
];
string outDir = "client-builds";
removeIfExists(outDir);
mkdir(outDir);
foreach (profile; profiles) {
print("Building profile: %s", profile);
string cmd = format!"mvn -B -Plwjgl-natives-%s --projects client --also-make clean package"(profile);
new ProcessBuilder()
.outputTo(buildPath(outDir, "output-" ~ profile ~ ".txt"))
.run(cmd);
string jarFile = findFile("client/target", ".+-jar-with-dependencies\\.jar");
string finalName = replaceFirst(baseName(jarFile), regex("jar-with-dependencies"), profile);
copy(jarFile, outDir ~ "/" ~ finalName);
}
}

View File

@ -144,7 +144,7 @@
<dependency>
<groupId>nl.andrewl</groupId>
<artifactId>aos2-core</artifactId>
<version>${parent.version}</version>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>de.javagl</groupId>

View File

@ -20,7 +20,7 @@
<dependency>
<groupId>nl.andrewl</groupId>
<artifactId>aos2-core</artifactId>
<version>${parent.version}</version>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>info.picocli</groupId>