diff options
author | Simon Rettberg | 2015-09-15 14:08:37 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-15 14:08:37 +0200 |
commit | 7d7b72348a5b1e38249e1342b23e31ed4cf851db (patch) | |
tree | 79e02756f58aa620c852b0beb3baaad3ef46af72 /dozentenmodul/src/main/java/org | |
parent | [client] Login: check if the user enters its org as part of the username (diff) | |
download | tutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.tar.gz tutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.tar.xz tutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.zip |
[client] Changelog creation mode
Diffstat (limited to 'dozentenmodul/src/main/java/org')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/App.java | 13 | ||||
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java | 33 |
2 files changed, 46 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java index a2e4e859..cee3a587 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java @@ -27,6 +27,7 @@ import org.openslx.dozmod.Config.ProxyMode; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.MainWindow; import org.openslx.dozmod.gui.helper.MessageType; +import org.openslx.dozmod.util.ClientVersion; import org.openslx.dozmod.util.ProxyConfigurator; import org.openslx.thrifthelper.ThriftManager; import org.openslx.util.Util; @@ -112,6 +113,10 @@ public class App { } public static void main(final String[] args) { + if (args.length >= 2 && args[0].equals("--json")) { + writeJsonUpdateFile(args[1]); + return; + } try { Config.init(); } catch (Exception e) { @@ -200,6 +205,14 @@ public class App { Util.sleep(1000); } + private static void writeJsonUpdateFile(String destination) { + try { + ClientVersion.createJson(destination); + } catch (IOException e) { + e.printStackTrace(); + } + } + private static void adjustFontSize(int percent) { if (percent == 100 || percent <= 0 || percent > 1000) return; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java index 8818d558..6c7c2f5b 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java @@ -1,13 +1,19 @@ package org.openslx.dozmod.util; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.jar.Attributes; import java.util.jar.Manifest; +import org.apache.commons.io.FileUtils; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.log4j.Logger; +import org.openslx.sat.thrift.version.Version; import org.openslx.util.Json; // ClientVersion is a bad name, TODO find better suited one :) @@ -190,4 +196,31 @@ public class ClientVersion { String revision; String changelog; } + + public static void createJson(String name) throws IOException { + loadLocalVersion(); + if (localRevisionTime == 0) + throw new RuntimeException("Missing manifest/data in jar: No revision time found"); + if (localRevision == null || localRevision.isEmpty()) + throw new RuntimeException("Missing manifest/data in jar: No commit hash found"); + System.out.println("Please enter change log. To finish, put a '.' on a single line"); + StringBuilder sb = new StringBuilder(); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + for (String line; (line = br.readLine()) != null;) { + if (line.equals(".")) + break; + sb.append(line); + sb.append('\n'); + } + VersionQuery vq = new VersionQuery(); + vq.timestamp = localRevisionTime; + vq.revision = localRevision; + vq.changelog = sb.toString(); + String data = Json.serialize(vq); + FileUtils.writeStringToFile(new File(name), data, StandardCharsets.UTF_8); + System.out.println(); + System.out.println("Created json file at " + name); + System.out.println("This build is using Thrift RPC interface version >> " + Version.VERSION + " <<"); + System.out.println(); + } } |