gradle: add properties and modify injected-client (#1145)

* add implementation for getItemCount

* Ignore build directory in project root

* save injector results as class files

* package injected-client for shading into client

* auto-updating properties

* fix run task

* shade injected-client into jar
This commit is contained in:
ThatGamerBlue
2019-07-27 20:02:57 +01:00
committed by Ganom
parent 207c65c325
commit 2ba1c7f80b
14 changed files with 209 additions and 172 deletions

View File

@@ -1,3 +1,4 @@
import org.apache.tools.ant.filters.ReplaceTokens
description = 'Web API'
dependencies {
implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.0.1'
@@ -11,3 +12,14 @@ dependencies {
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.8'
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.8'
}
processResources {
from file("src/main/resources/runelite.properties"), {
filter(ReplaceTokens, tokens: [
"projectver": project.version,
"rsver": rsversion.toString(),
"gitcommit": gitCommitShort,
"gitdirty": gitDirty.toString()
])
}
}

View File

@@ -45,7 +45,6 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
@@ -53,9 +52,9 @@ import java.util.concurrent.TimeUnit;
public class RuneLiteAPI
{
public static final String buildCommit = "6fe334c02648d3f8b38625e3175e3f547d54aa37";
private static final String version = "1.5.30-SNAPSHOT";
private static final int rsVersion = 181;
private static String version;
private static String upstreamVersion;
private static int rsVersion;
public static final String RUNELITE_AUTH = "RUNELITE-AUTH";
public static final OkHttpClient CLIENT;
@@ -63,13 +62,12 @@ public class RuneLiteAPI
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static final Logger logger = LoggerFactory.getLogger(RuneLiteAPI.class);
private static final String BASE = "https://api.runelite.net";
private static final String PLUS_BASE = "https://api.runelitepl.us";
private static final String RLPLUS = "https://session.runelitepl.us";
private static final String RLPLUS_BASE = "https://api.runelitepl.us";
private static final String RLPLUS_SESSION = "https://session.runelitepl.us";
private static final String WSBASE = "https://api.runelite.net/ws";
private static final String STATICBASE = "https://static.runelite.net";
private static final String MAVEN_METADATA =
"http://repo.runelite.net/net/runelite/runelite-parent/maven-metadata.xml";
private static final String GITHUB_API = "https://api.github.com/repos/runelite/runelite/commits/master";
private static final String ALPHA_NUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
private static final Properties properties = new Properties();
private static String userAgent;
@@ -83,15 +81,18 @@ public class RuneLiteAPI
properties.load(in);
parseMavenVersion();
String commit = buildCommit;
String rlpCommit = "";
boolean dirty = false;
rsVersion = Integer.parseInt(properties.getProperty("rs.version"));
String commit = randomAlphaNumeric(7);
String rlpCommit = properties.getProperty("runelite.commit");
boolean dirty = Boolean.parseBoolean(properties.getProperty("runelite.dirty"));
version = properties.getProperty("runelite.version");
userAgent = "RuneLite/" + version + "-" + commit + (dirty ? "+" : "");
rlpUserAgent = "RuneLite/" + version + "-" + rlpCommit + (dirty ? "+" : "");
userAgent = "RuneLite/" + upstreamVersion + "-" + commit + (dirty ? "+" : "");
rlpUserAgent = "RuneLitePlus/" + version + "-" + rlpCommit + (dirty ? "+" : "");
}
catch (NumberFormatException e)
{
e.printStackTrace();
throw new RuntimeException("Version string has not been substituted; Re-run maven");
}
catch (IOException ex)
@@ -150,7 +151,7 @@ public class RuneLiteAPI
public static HttpUrl getRuneLitePlusSessionBase()
{
return HttpUrl.parse(RLPLUS);
return HttpUrl.parse(RLPLUS_SESSION);
}
public static HttpUrl getApiBase()
@@ -167,7 +168,7 @@ public class RuneLiteAPI
public static HttpUrl getPlusApiBase()
{
return HttpUrl.parse(PLUS_BASE + "/runelite-" + getRlpVersion());
return HttpUrl.parse(RLPLUS_BASE + "/runelite-" + getRlpVersion());
}
public static HttpUrl getStaticBase()
@@ -199,11 +200,6 @@ public class RuneLiteAPI
return version;
}
public static void setVersion(String version)
{
//RuneLiteAPI.version = version;
}
public static int getRsVersion()
{
return rsVersion;
@@ -256,7 +252,7 @@ public class RuneLiteAPI
Node node = versionList.item(i);
if (node.getTextContent() != null)
{
//version = node.getTextContent();
upstreamVersion = node.getTextContent();
}
}
}
@@ -266,37 +262,6 @@ public class RuneLiteAPI
}
}
private static String parseGithubCommit()
{
try
{
byte[] commits = downloadUrl(new URL(GITHUB_API));
if (commits == null)
{
return null;
}
String jsonData = new String(commits);
for (String s : jsonData.split("\n"))
{
if (s.startsWith("\"sha\":"))
{
s = s.replace(",", "");
s = s.replace(" ", "");
s = s.replace("\"", "");
return s.split(":")[1];
}
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
return null;
}
private static String randomAlphaNumeric(int count)
{
StringBuilder builder = new StringBuilder();

View File

@@ -1,4 +1,4 @@
runelite.version=${project.version}
rs.version=${rs.version}
runelite.commit=${git.commit.id.abbrev}
runelite.dirty=${git.dirty}
runelite.version=@projectver@
rs.version=@rsver@
runelite.commit=@gitcommit@
runelite.dirty=@gitdirty@