From 3fc6f53330ea665f9e4bd680909ef07bec00fc05 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 21 May 2023 21:06:11 +0200 Subject: [PATCH 1/4] Add Gradle --- build.gradle | 180 +----------------------------------------------- settings.gradle | 9 +++ steamwarci.yml | 3 +- 3 files changed, 14 insertions(+), 178 deletions(-) diff --git a/build.gradle b/build.gradle index 72b25a8..46492d3 100644 --- a/build.gradle +++ b/build.gradle @@ -17,14 +17,12 @@ * along with this program. If not, see . */ - -import org.apache.tools.ant.taskdefs.condition.Os - plugins { id 'java' id 'application' id 'com.github.johnrengelman.shadow' version '5.0.0' + id 'de.steamwar.gradle' version 'RELEASE' } group 'de.steamwar' @@ -32,26 +30,6 @@ version '' mainClassName = '' -Properties steamwarProperties = new Properties() -if (file("steamwar.properties").exists()) { - steamwarProperties.load(file("steamwar.properties").newDataInputStream()) -} - -ext { - buildName = 'PersistentBungeeCore' - artifactName = 'persistentbungeecore' - - uberJarName = "${buildName}-all.jar" - jarName = "${artifactName}.jar" - libs = "${buildDir}/libs" - - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - operatingSystem = "windows" - } else { - operatingSystem = "unix" - } -} - compileJava.options.encoding = 'UTF-8' sourceCompatibility = 1.8 @@ -69,14 +47,6 @@ sourceSets { } } -repositories { - mavenCentral() - - maven { - url = uri('https://steamwar.de/maven') - } -} - dependencies { compileOnly 'org.projectlombok:lombok:1.18.22' testCompileOnly 'org.projectlombok:lombok:1.18.22' @@ -86,150 +56,6 @@ dependencies { compileOnly 'de.steamwar:waterfall:RELEASE' } -task buildProject { - description 'Build this project' - group "Steamwar" - - dependsOn build +steamwar { + publishing = true } - -task finalizeProject { - description 'Finalize this project' - group "Steamwar" - - doLast { - if ("${buildDir}" == null) { - return - } - delete fileTree("${libs}").matching { - exclude("${uberJarName}") - } - file(libs + "/" + uberJarName).renameTo(file(libs + "/" + jarName)) - } -} -build.finalizedBy(finalizeProject) - -if (steamwarProperties.containsKey("hostname")) { - String hostname = steamwarProperties.get("hostname") - String uploadPath = steamwarProperties.getOrDefault("uploadPath", "~") - - String server = steamwarProperties.getOrDefault("server", "Dev1.15") - String serverStartFlags = steamwarProperties.getOrDefault("serverStartFlags", "") - - task uploadProject { - description 'Upload this project' - group "Steamwar" - - doLast { - await(shell("scp ${libs}/${jarName} ${hostname}:${uploadPath}/${server}/plugins")) - if (steamwarProperties.getOrDefault("directStart", "false") == "false" && !answer("Start ${server} server?")) { - return - } - serverStart(server, serverStartFlags, hostname) - } - } - uploadProject.dependsOn(buildProject) - - task startDevServer { - description 'Start the DevServer' - group "Steamwar" - - doLast { - serverStart(server, serverStartFlags, hostname) - } - } -} - -private def await(Process proc) { - def out = new StringBuilder() - def err = new StringBuilder() - proc.waitForProcessOutput(out, err) - return [out, err, proc.exitValue()] -} - -private def shell(String command) { - if (operatingSystem == "unix") { - return ['bash', '-c', command].execute() - } else { - return ["cmd", "/c", command].execute() - } -} - -private def serverStart(String serverName, String serverFlags, String hostname) { - def proc = shell("ssh -t ${hostname} \"./mc ${serverFlags} ${serverName}\"") - - Set strings = new HashSet<>() - File file = new File("${projectDir}/ignoredlog"); - if (file.exists()) { - new BufferedReader(new InputStreamReader(new FileInputStream(file))).readLines().forEach({ s -> - strings.add(s) - }) - } - - Thread outputThread = new Thread({ - Reader reader = proc.getInputStream().newReader(); - Writer writer = System.out.newWriter(); - try { - while (proc.alive) { - String s = reader.readLine() - if (s == null) { - return - } - if (strings.stream().anyMatch({check -> s.contains(check)})) { - continue - } - writer.write(s + "\n") - writer.flush() - } - } catch (IOException e) { - // Ignored - } - }) - outputThread.setName("${serverName} - OutputThread") - outputThread.start() - - Writer writer - Thread inputThread = new Thread({ - Reader reader = System.in.newReader() - writer = proc.getOutputStream().newWriter() - try { - while (proc.alive) { - String s = reader.readLine() - writer.write(s + "\n") - writer.flush() - } - } catch (IOException e) { - // Ignored - } - }) - inputThread.setName("${serverName} - InputThread") - inputThread.start() - - gradle.buildFinished { buildResult -> - if (!proc.alive) { - return - } - writer = proc.getOutputStream().newWriter() - writer.write("stop\n") - writer.flush() - awaitClose(proc, outputThread, inputThread) - } - awaitClose(proc, outputThread, inputThread) -}; - -private static def awaitClose(Process proc, Thread outputThread, Thread inputThread) { - while (proc.alive) { - Thread.sleep(10) - } - proc.closeStreams() - outputThread.interrupt() - inputThread.interrupt() -} - -private def answer(String question) { - while (System.in.available() > 0) System.in.read() - println(question) - boolean valid = "Yy".contains(((char) System.in.read()).toString()) - while (System.in.available() > 0) System.in.read() - return valid -} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 5da555c..f7829bc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,4 +17,13 @@ * along with this program. If not, see . */ +pluginManagement { + repositories { + gradlePluginPortal() + maven { + url = uri("https://steamwar.de/maven/") + } + } +} + rootProject.name = 'PersistentBungeeCore' diff --git a/steamwarci.yml b/steamwarci.yml index 3dc05d7..9be866a 100644 --- a/steamwarci.yml +++ b/steamwarci.yml @@ -6,4 +6,5 @@ artifacts: "/binarys/persistentbungeecore.jar": "build/libs/persistentbungeecore.jar" release: - - "mvn deploy:deploy-file -DgroupId=de.steamwar -DartifactId=persistentbungeecore -Dversion=RELEASE -Dpackaging=jar -Dfile=build/libs/persistentbungeecore.jar -Durl=file:///var/www/html/maven/" \ No newline at end of file + - "./gradlew release" + - "./gradlew --stop" \ No newline at end of file From 924e3587f552adc3031516a6e9f902cfac5c535c Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 21 May 2023 21:13:45 +0200 Subject: [PATCH 2/4] Fixing... --- build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.gradle b/build.gradle index 46492d3..7f7fbb5 100644 --- a/build.gradle +++ b/build.gradle @@ -47,6 +47,10 @@ sourceSets { } } +repositories { + mavenCentral() +} + dependencies { compileOnly 'org.projectlombok:lombok:1.18.22' testCompileOnly 'org.projectlombok:lombok:1.18.22' From 35e348674042d86b45863e542e95058ad00e96e0 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 21 May 2023 21:20:47 +0200 Subject: [PATCH 3/4] Fixing... --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7f7fbb5..3014d1e 100644 --- a/build.gradle +++ b/build.gradle @@ -57,7 +57,7 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.22' testAnnotationProcessor 'org.projectlombok:lombok:1.18.22' - compileOnly 'de.steamwar:waterfall:RELEASE' + compileOnly swdep("waterfall") } steamwar { From ac1ffcfbf1c299fbd85b9110daae9f65eaebc241 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Sun, 21 May 2023 21:24:03 +0200 Subject: [PATCH 4/4] Fixing... --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 3014d1e..f4a478c 100644 --- a/build.gradle +++ b/build.gradle @@ -39,6 +39,7 @@ sourceSets { main { java { srcDirs = ['src/'] + include '**/*.java', '**/*.kt' } resources { srcDirs = ['src/']