Supplements: 'SerializedName'

This commit is contained in:
huangyuhui
2016-05-14 20:24:42 +08:00
parent ce721c2e09
commit 61a8ab5199
25 changed files with 215 additions and 18 deletions

View File

@@ -47,6 +47,7 @@ String mavenArtifactId = name
task generateSources(type: Copy) { task generateSources(type: Copy) {
from 'src/main/java' from 'src/main/java'
from 'src/core/java'
into "$buildDir/generated-src" into "$buildDir/generated-src"
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [ filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
'HELLO_MINECRAFT_LAUNCHER_VERSION_FOR_GRADLE_REPLACING': mavenVersion 'HELLO_MINECRAFT_LAUNCHER_VERSION_FOR_GRADLE_REPLACING': mavenVersion

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.asset; package org.jackhuang.hellominecraft.launcher.core.asset;
import com.google.gson.annotations.SerializedName;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@@ -29,7 +30,11 @@ import java.util.Set;
public class AssetsIndex { public class AssetsIndex {
public static final String DEFAULT_ASSET_NAME = "legacy"; public static final String DEFAULT_ASSET_NAME = "legacy";
@SerializedName("objects")
public Map<String, AssetsObject> objects; public Map<String, AssetsObject> objects;
@SerializedName("virtual")
public boolean virtual; public boolean virtual;
public AssetsIndex() { public AssetsIndex() {

View File

@@ -17,14 +17,24 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.auth.yggdrasil; package org.jackhuang.hellominecraft.launcher.core.auth.yggdrasil;
import com.google.gson.annotations.SerializedName;
public class Response { public class Response {
public String accessToken, clientToken; @SerializedName("accessToken")
public String accessToken;
@SerializedName("clientToken")
public String clientToken;
@SerializedName("selectedProfile")
public GameProfile selectedProfile; public GameProfile selectedProfile;
@SerializedName("availableProfiles")
public GameProfile[] availableProfiles; public GameProfile[] availableProfiles;
@SerializedName("user")
public User user; public User user;
@SerializedName("error")
public String error; public String error;
@SerializedName("errorMessage")
public String errorMessage; public String errorMessage;
@SerializedName("cause")
public String cause; public String cause;
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.download; package org.jackhuang.hellominecraft.launcher.core.download;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList; import java.util.ArrayList;
import org.jackhuang.hellominecraft.util.C; import org.jackhuang.hellominecraft.util.C;
import org.jackhuang.hellominecraft.util.NetUtils; import org.jackhuang.hellominecraft.util.NetUtils;
@@ -28,7 +29,9 @@ import org.jackhuang.hellominecraft.util.OverridableSwingWorker;
*/ */
public class MinecraftRemoteVersions { public class MinecraftRemoteVersions {
@SerializedName("versions")
public ArrayList<MinecraftRemoteVersion> versions; public ArrayList<MinecraftRemoteVersion> versions;
@SerializedName("latest")
public MinecraftRemoteLatestVersion latest; public MinecraftRemoteLatestVersion latest;
private static volatile MinecraftRemoteVersions INSTANCE = null; private static volatile MinecraftRemoteVersions INSTANCE = null;

View File

@@ -17,20 +17,31 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.forge; package org.jackhuang.hellominecraft.launcher.core.install.forge;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class Install { public class Install {
@SerializedName("profileName")
private String profileName; private String profileName;
@SerializedName("target")
private String target; private String target;
@SerializedName("path")
private String path; private String path;
@SerializedName("version")
private String version; private String version;
@SerializedName("filePath")
private String filePath; private String filePath;
@SerializedName("welcome")
private String welcome; private String welcome;
@SerializedName("minecraft")
private String minecraft; private String minecraft;
@SerializedName("mirrorList")
private String mirrorList; private String mirrorList;
@SerializedName("logo")
private String logo; private String logo;
public Install() { public Install() {

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.forge; package org.jackhuang.hellominecraft.launcher.core.install.forge;
import com.google.gson.annotations.SerializedName;
import java.util.Map; import java.util.Map;
/** /**
@@ -25,8 +26,22 @@ import java.util.Map;
*/ */
public class MinecraftForgeVersionRoot { public class MinecraftForgeVersionRoot {
public String artifact, webpath, adfly, homepage, name; @SerializedName("artifact")
public Map<String, int[]> branches, mcversion; public String artifact;
@SerializedName("webpath")
public String webpath;
@SerializedName("adfly")
public String adfly;
@SerializedName("homepage")
public String homepage;
@SerializedName("name")
public String name;
@SerializedName("branches")
public Map<String, int[]> branches;
@SerializedName("mcversion")
public Map<String, int[]> mcversion;
@SerializedName("promos")
public Map<String, Integer> promos; public Map<String, Integer> promos;
@SerializedName("number")
public Map<Integer, MinecraftForgeVersion> number; public Map<Integer, MinecraftForgeVersion> number;
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.liteloader; package org.jackhuang.hellominecraft.launcher.core.install.liteloader;
import com.google.gson.annotations.SerializedName;
import java.util.Map; import java.util.Map;
/** /**
@@ -25,5 +26,6 @@ import java.util.Map;
*/ */
public class LiteLoaderMCVersions { public class LiteLoaderMCVersions {
@SerializedName("artefacts")
public Map<String, Map<String, LiteLoaderVersion>> artefacts; public Map<String, Map<String, LiteLoaderVersion>> artefacts;
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.liteloader; package org.jackhuang.hellominecraft.launcher.core.install.liteloader;
import com.google.gson.annotations.SerializedName;
import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary; import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary;
/** /**
@@ -25,6 +26,16 @@ import org.jackhuang.hellominecraft.launcher.core.version.MinecraftLibrary;
*/ */
public class LiteLoaderVersion { public class LiteLoaderVersion {
public String tweakClass, file, version, md5, timestamp; @SerializedName("tweakClass")
public String tweakClass;
@SerializedName("file")
public String file;
@SerializedName("version")
public String version;
@SerializedName("md5")
public String md5;
@SerializedName("timestamp")
public String timestamp;
@SerializedName("libraries")
public MinecraftLibrary[] libraries; public MinecraftLibrary[] libraries;
} }

View File

@@ -17,13 +17,20 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.liteloader; package org.jackhuang.hellominecraft.launcher.core.install.liteloader;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class LiteLoaderVersionsMeta { public class LiteLoaderVersionsMeta {
private String description, authors, url; @SerializedName("versions")
private String description;
@SerializedName("authors")
private String authors;
@SerializedName("url")
private String url;
public LiteLoaderVersionsMeta() { public LiteLoaderVersionsMeta() {
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.install.liteloader; package org.jackhuang.hellominecraft.launcher.core.install.liteloader;
import com.google.gson.annotations.SerializedName;
import java.util.Map; import java.util.Map;
/** /**
@@ -25,6 +26,8 @@ import java.util.Map;
*/ */
public class LiteLoaderVersionsRoot { public class LiteLoaderVersionsRoot {
@SerializedName("versions")
public Map<String, LiteLoaderMCVersions> versions; public Map<String, LiteLoaderMCVersions> versions;
@SerializedName("meta")
public LiteLoaderVersionsMeta meta; public LiteLoaderVersionsMeta meta;
} }

View File

@@ -18,6 +18,7 @@
package org.jackhuang.hellominecraft.launcher.core.mod; package org.jackhuang.hellominecraft.launcher.core.mod;
import com.google.gson.JsonSyntaxException; import com.google.gson.JsonSyntaxException;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -37,8 +38,27 @@ import org.jackhuang.hellominecraft.util.system.FileUtils;
*/ */
public class ModInfo implements Comparable<ModInfo> { public class ModInfo implements Comparable<ModInfo> {
@SerializedName("location")
public File location; public File location;
public String modid, name, description, author, version, mcversion, url, updateUrl, credits; @SerializedName("modid")
public String modid;
@SerializedName("name")
public String name;
@SerializedName("description")
public String description;
@SerializedName("author")
public String author;
@SerializedName("version")
public String version;
@SerializedName("mcversion")
public String mcversion;
@SerializedName("url")
public String url;
@SerializedName("updateUrl")
public String updateUrl;
@SerializedName("credits")
public String credits;
@SerializedName("authorList")
public String[] authorList; public String[] authorList;
public boolean isActive() { public boolean isActive() {

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.jackhuang.hellominecraft.util.StrUtils; import org.jackhuang.hellominecraft.util.StrUtils;
@@ -27,6 +28,7 @@ import org.jackhuang.hellominecraft.util.StrUtils;
*/ */
public class Extract implements Cloneable { public class Extract implements Cloneable {
@SerializedName("exclude")
public List<String> exclude = new ArrayList<>(); public List<String> exclude = new ArrayList<>();
public boolean allow(String path) { public boolean allow(String path) {

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType;
/** /**
@@ -25,8 +26,11 @@ import org.jackhuang.hellominecraft.launcher.core.download.DownloadType;
*/ */
public class GameDownloadInfo implements Cloneable { public class GameDownloadInfo implements Cloneable {
@SerializedName("sha1")
public String sha1; public String sha1;
@SerializedName("size")
public int size; public int size;
@SerializedName("url")
protected String url; protected String url;
/** /**

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import java.util.Map; import java.util.Map;
/** /**
@@ -25,6 +26,8 @@ import java.util.Map;
*/ */
public class LibrariesDownloadInfo { public class LibrariesDownloadInfo {
@SerializedName("classifiers")
Map<String, LibraryDownloadInfo> classifiers; Map<String, LibraryDownloadInfo> classifiers;
@SerializedName("artifact")
LibraryDownloadInfo artifact; LibraryDownloadInfo artifact;
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import org.jackhuang.hellominecraft.launcher.core.download.DownloadType; import org.jackhuang.hellominecraft.launcher.core.download.DownloadType;
import org.jackhuang.hellominecraft.util.StrUtils; import org.jackhuang.hellominecraft.util.StrUtils;
import org.jackhuang.hellominecraft.util.system.IOUtils; import org.jackhuang.hellominecraft.util.system.IOUtils;
@@ -27,7 +28,9 @@ import org.jackhuang.hellominecraft.util.system.IOUtils;
*/ */
public class LibraryDownloadInfo extends GameDownloadInfo { public class LibraryDownloadInfo extends GameDownloadInfo {
@SerializedName("path")
public String path; public String path;
@SerializedName("forgeURL")
public String forgeURL; public String forgeURL;
@Override @Override

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -30,10 +31,15 @@ import org.jackhuang.hellominecraft.util.StrUtils;
*/ */
public class MinecraftLibrary extends IMinecraftLibrary { public class MinecraftLibrary extends IMinecraftLibrary {
@SerializedName("rules")
public ArrayList<Rules> rules; public ArrayList<Rules> rules;
@SerializedName("url")
public String url; public String url;
@SerializedName("natives")
public Natives natives; public Natives natives;
@SerializedName("extract")
public Extract extract; public Extract extract;
@SerializedName("downloads")
public LibrariesDownloadInfo downloads; public LibrariesDownloadInfo downloads;
public MinecraftLibrary(String name) { public MinecraftLibrary(String name) {

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@@ -37,14 +38,37 @@ import org.jackhuang.hellominecraft.util.Utils;
*/ */
public class MinecraftVersion implements Cloneable, Comparable<MinecraftVersion> { public class MinecraftVersion implements Cloneable, Comparable<MinecraftVersion> {
public String minecraftArguments, mainClass, time, id, type, processArguments, @SerializedName("minecraftArguments")
releaseTime, jar, inheritsFrom, runDir; public String minecraftArguments;
@SerializedName("mainClass")
public String mainClass;
@SerializedName("time")
public String time;
@SerializedName("id")
public String id;
@SerializedName("type")
public String type;
@SerializedName("processArguments")
public String processArguments;
@SerializedName("releaseTime")
public String releaseTime;
@SerializedName("jar")
public String jar;
@SerializedName("inheritsFrom")
public String inheritsFrom;
@SerializedName("runDir")
public String runDir;
@SerializedName("assets")
protected String assets; protected String assets;
@SerializedName("minimumLauncherVersion")
public int minimumLauncherVersion; public int minimumLauncherVersion;
@SerializedName("hidden")
public boolean hidden; public boolean hidden;
@SerializedName("assetIndex")
public AssetIndexDownloadInfo assetIndex; public AssetIndexDownloadInfo assetIndex;
@SerializedName("downloads")
private Map<String, GameDownloadInfo> downloads; private Map<String, GameDownloadInfo> downloads;
@SerializedName("libraries")
public ArrayList<MinecraftLibrary> libraries; public ArrayList<MinecraftLibrary> libraries;
public MinecraftVersion() { public MinecraftVersion() {

View File

@@ -17,13 +17,20 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class Natives implements Cloneable { public class Natives implements Cloneable {
public String windows, osx, linux; @SerializedName("windows")
public String windows;
@SerializedName("osx")
public String osx;
@SerializedName("linux")
public String linux;
@Override @Override
@SuppressWarnings("CloneDeclaresCloneNotSupported") @SuppressWarnings("CloneDeclaresCloneNotSupported")

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
import org.jackhuang.hellominecraft.util.StrUtils; import org.jackhuang.hellominecraft.util.StrUtils;
import org.jackhuang.hellominecraft.util.system.OS; import org.jackhuang.hellominecraft.util.system.OS;
@@ -26,7 +27,10 @@ import org.jackhuang.hellominecraft.util.system.OS;
*/ */
public class OSRestriction { public class OSRestriction {
private String version, name; @SerializedName("version")
private String version;
@SerializedName("name")
public String name;
public String getVersion() { public String getVersion() {
return version; return version;

View File

@@ -17,13 +17,17 @@
*/ */
package org.jackhuang.hellominecraft.launcher.core.version; package org.jackhuang.hellominecraft.launcher.core.version;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class Rules { public class Rules {
@SerializedName("action")
private String action; private String action;
@SerializedName("os")
private OSRestriction os; private OSRestriction os;
public Rules() { public Rules() {

View File

@@ -43,7 +43,14 @@ public final class Config implements Cloneable {
private String bgpath; private String bgpath;
@SerializedName("clientToken") @SerializedName("clientToken")
private final String clientToken; private final String clientToken;
private String proxyHost, proxyPort, proxyUserName, proxyPassword; @SerializedName("proxyHost")
private String proxyHost;
@SerializedName("proxyPort")
private String proxyPort;
@SerializedName("proxyUserName")
private String proxyUserName;
@SerializedName("proxyPassword")
private String proxyPassword;
@SerializedName("enableShadow") @SerializedName("enableShadow")
private boolean enableShadow; private boolean enableShadow;
@SerializedName("decorated") @SerializedName("decorated")

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.launcher.setting; package org.jackhuang.hellominecraft.launcher.setting;
import com.google.gson.annotations.SerializedName;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import org.jackhuang.hellominecraft.launcher.Main; import org.jackhuang.hellominecraft.launcher.Main;
@@ -39,21 +40,48 @@ public class VersionSetting {
public transient String id; public transient String id;
private String javaArgs, minecraftArgs, maxMemory, permSize, width, height; @SerializedName("javaArgs")
private String javaDir, precalledCommand, serverIp, java, wrapper; private String javaArgs;
private boolean fullscreen, noJVMArgs, notCheckGame; @SerializedName("minecraftArgs")
private String minecraftArgs;
@SerializedName("maxMemory")
private String maxMemory;
@SerializedName("permSize")
private String permSize;
@SerializedName("width")
private String width;
@SerializedName("height")
private String height;
@SerializedName("javaDir")
private String javaDir;
@SerializedName("precalledCommand")
private String precalledCommand;
@SerializedName("serverIp")
private String serverIp;
@SerializedName("java")
private String java;
@SerializedName("wrapper")
private String wrapper;
@SerializedName("fullscreen")
private boolean fullscreen;
@SerializedName("noJVMArgs")
private boolean noJVMArgs;
@SerializedName("notCheckGame")
private boolean notCheckGame;
/** /**
* 0 - Close the launcher when the game starts.<br/> * 0 - Close the launcher when the game starts.<br/>
* 1 - Hide the launcher when the game starts.<br/> * 1 - Hide the launcher when the game starts.<br/>
* 2 - Keep the launcher open.<br/> * 2 - Keep the launcher open.<br/>
*/ */
@SerializedName("launcherVisibility")
private int launcherVisibility; private int launcherVisibility;
/** /**
* 0 - .minecraft<br/> * 0 - .minecraft<br/>
* 1 - .minecraft/versions/&lt;version&gt;/<br/> * 1 - .minecraft/versions/&lt;version&gt;/<br/>
*/ */
@SerializedName("gameDirType")
private int gameDirType; private int gameDirType;
public transient final EventHandler<String> propertyChanged = new EventHandler<>(this); public transient final EventHandler<String> propertyChanged = new EventHandler<>(this);

View File

@@ -17,12 +17,17 @@
*/ */
package org.jackhuang.hellominecraft.svrmgr.util.version; package org.jackhuang.hellominecraft.svrmgr.util.version;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class MinecraftRemoteLatestVersion { public class MinecraftRemoteLatestVersion {
public String snapshot, release; @SerializedName("snapshot")
public String snapshot;
@SerializedName("release")
public String release;
} }

View File

@@ -17,12 +17,21 @@
*/ */
package org.jackhuang.hellominecraft.svrmgr.util.version; package org.jackhuang.hellominecraft.svrmgr.util.version;
import com.google.gson.annotations.SerializedName;
/** /**
* *
* @author huangyuhui * @author huangyuhui
*/ */
public class MinecraftRemoteVersion { public class MinecraftRemoteVersion {
public String id, time, releaseTime, type; @SerializedName("id")
public String id;
@SerializedName("time")
public String time;
@SerializedName("releaseTime")
public String releaseTime;
@SerializedName("type")
public String type;
} }

View File

@@ -17,6 +17,7 @@
*/ */
package org.jackhuang.hellominecraft.svrmgr.util.version; package org.jackhuang.hellominecraft.svrmgr.util.version;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
@@ -25,7 +26,9 @@ import java.util.ArrayList;
*/ */
public class MinecraftRemoteVersions { public class MinecraftRemoteVersions {
@SerializedName("versions")
public ArrayList<MinecraftRemoteVersion> versions; public ArrayList<MinecraftRemoteVersion> versions;
@SerializedName("latest")
public MinecraftRemoteLatestVersion latest; public MinecraftRemoteLatestVersion latest;
} }