runeliteplus: adds preliminary Gradle support

This commit is contained in:
Zeruth
2019-07-23 02:07:02 -04:00
parent 61b4531a0d
commit e4f9aa1d6a
31 changed files with 2684 additions and 118 deletions

3
.gitignore vendored
View File

@@ -14,3 +14,6 @@ classes/artifacts/client_jar/run.bat
classes/artifacts/client_jar/client.jar
*.jar
.live/
*/build/
*/out/
.gradle/

7
.mvn/extensions.xml Normal file
View File

@@ -0,0 +1,7 @@
<extensions>
<extension>
<groupId>com.gradle</groupId>
<artifactId>gradle-enterprise-maven-extension</artifactId>
<version>1.1.4</version>
</extension>
</extensions>

29
build.gradle Normal file
View File

@@ -0,0 +1,29 @@
allprojects {
apply plugin: 'maven'
group = 'net.runelite'
version = '1.5.30-SNAPSHOT'
}
subprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
repositories {
mavenLocal()
maven { url "http://repo1.maven.org/maven2" }
maven { url "http://repo.runelite.net" }
maven { url "http://repo.maven.apache.org/maven2" }
maven { url "https://raw.githubusercontent.com/runelite-extended/maven-repo/master" }
}
}

View File

@@ -0,0 +1,9 @@
description = 'Cache Client'
dependencies {
compile project(':cache')
compile project(':protocol')
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
testCompile project(':cache')
}

View File

@@ -0,0 +1,12 @@
description = 'Cache Updater'
dependencies {
compile group: 'org.springframework.boot', name: 'spring-boot-starter', version:'1.5.6.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jdbc', version:'1.5.6.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-devtools', version:'1.5.6.RELEASE'
compile group: 'mysql', name: 'mysql-connector-java', version:'8.0.16'
compile project(':cache-client')
compile group: 'org.sql2o', name: 'sql2o', version:'1.6.0'
compile group: 'io.minio', name: 'minio', version:'3.0.6'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}

22
cache/build.gradle vendored Normal file
View File

@@ -0,0 +1,22 @@
description = 'Cache'
dependencies {
compile project(':http-api')
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'org.apache.commons', name: 'commons-compress', version:'1.18'
compile group: 'com.google.code.gson', name: 'gson', version:'2.8.5'
compile group: 'io.netty', name: 'netty-buffer', version:'4.1.37.Final'
compile group: 'org.antlr', name: 'antlr4-runtime', version:'4.6'
compile group: 'commons-cli', name: 'commons-cli', version:'1.4'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
testCompile group: 'net.runelite.rs', name: 'cache', version:'165'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}
task packageTests(type: Jar) {
from sourceSets.test.output
classifier = 'tests'
}
artifacts.archives packageTests

View File

@@ -0,0 +1,339 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
/**
* This class provides an empty implementation of {@link rs2asmListener},
* which can be extended to create a listener which only needs to handle a subset
* of the available methods.
*/
public class rs2asmBaseListener implements rs2asmListener {
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterProg(rs2asmParser.ProgContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitProg(rs2asmParser.ProgContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterHeader(rs2asmParser.HeaderContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitHeader(rs2asmParser.HeaderContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterId(rs2asmParser.IdContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitId(rs2asmParser.IdContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_stack_count(rs2asmParser.Int_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_stack_count(rs2asmParser.Int_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_stack_count(rs2asmParser.String_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_stack_count(rs2asmParser.String_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_var_count(rs2asmParser.Int_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_var_count(rs2asmParser.Int_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_var_count(rs2asmParser.String_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_var_count(rs2asmParser.String_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterId_value(rs2asmParser.Id_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitId_value(rs2asmParser.Id_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_stack_value(rs2asmParser.Int_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_stack_value(rs2asmParser.Int_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_stack_value(rs2asmParser.String_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_stack_value(rs2asmParser.String_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_var_value(rs2asmParser.Int_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_var_value(rs2asmParser.Int_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_var_value(rs2asmParser.String_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_var_value(rs2asmParser.String_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterLine(rs2asmParser.LineContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitLine(rs2asmParser.LineContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction(rs2asmParser.InstructionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction(rs2asmParser.InstructionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterLabel(rs2asmParser.LabelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitLabel(rs2asmParser.LabelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction_name(rs2asmParser.Instruction_nameContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction_name(rs2asmParser.Instruction_nameContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterName_string(rs2asmParser.Name_stringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitName_string(rs2asmParser.Name_stringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterName_opcode(rs2asmParser.Name_opcodeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitName_opcode(rs2asmParser.Name_opcodeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction_operand(rs2asmParser.Instruction_operandContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction_operand(rs2asmParser.Instruction_operandContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_int(rs2asmParser.Operand_intContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_int(rs2asmParser.Operand_intContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_qstring(rs2asmParser.Operand_qstringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_qstring(rs2asmParser.Operand_qstringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_label(rs2asmParser.Operand_labelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_label(rs2asmParser.Operand_labelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_lookup(rs2asmParser.Switch_lookupContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_lookup(rs2asmParser.Switch_lookupContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_key(rs2asmParser.Switch_keyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_key(rs2asmParser.Switch_keyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_value(rs2asmParser.Switch_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_value(rs2asmParser.Switch_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void visitTerminal(TerminalNode node) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void visitErrorNode(ErrorNode node) { }
}

View File

@@ -0,0 +1,146 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.RuntimeMetaData;
import org.antlr.v4.runtime.Vocabulary;
import org.antlr.v4.runtime.VocabularyImpl;
import org.antlr.v4.runtime.atn.ATN;
import org.antlr.v4.runtime.atn.ATNDeserializer;
import org.antlr.v4.runtime.atn.LexerATNSimulator;
import org.antlr.v4.runtime.atn.PredictionContextCache;
import org.antlr.v4.runtime.dfa.DFA;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class rs2asmLexer extends Lexer {
static { RuntimeMetaData.checkVersion("4.6", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, NEWLINE=7, INT=8, QSTRING=9,
IDENTIFIER=10, COMMENT=11, WS=12;
public static String[] modeNames = {
"DEFAULT_MODE"
};
public static final String[] ruleNames = {
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "NEWLINE", "INT", "QSTRING",
"IDENTIFIER", "COMMENT", "WS"
};
private static final String[] _LITERAL_NAMES = {
null, "'.id '", "'.int_stack_count '", "'.string_stack_count '", "'.int_var_count '",
"'.string_var_count '", "':'"
};
private static final String[] _SYMBOLIC_NAMES = {
null, null, null, null, null, null, null, "NEWLINE", "INT", "QSTRING",
"IDENTIFIER", "COMMENT", "WS"
};
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "<INVALID>";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
public rs2asmLexer(CharStream input) {
super(input);
_interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@Override
public String getGrammarFileName() { return "rs2asm.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public String[] getModeNames() { return modeNames; }
@Override
public ATN getATN() { return _ATN; }
public static final String _serializedATN =
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2\16\u0099\b\1\4\2"+
"\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+
"\13\t\13\4\f\t\f\4\r\t\r\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3"+
"\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4"+
"\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3"+
"\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6"+
"\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3"+
"\b\6\bn\n\b\r\b\16\bo\3\t\5\ts\n\t\3\t\6\tv\n\t\r\t\16\tw\3\n\3\n\3\n"+
"\3\n\7\n~\n\n\f\n\16\n\u0081\13\n\3\n\3\n\3\13\6\13\u0086\n\13\r\13\16"+
"\13\u0087\3\f\3\f\7\f\u008c\n\f\f\f\16\f\u008f\13\f\3\f\3\f\3\r\6\r\u0094"+
"\n\r\r\r\16\r\u0095\3\r\3\r\2\2\16\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n"+
"\23\13\25\f\27\r\31\16\3\2\b\4\2\f\f\17\17\3\2\62;\6\2\f\f\17\17$$^^\4"+
"\2$$^^\6\2\62;C\\aac|\4\2\13\13\"\"\u00a0\2\3\3\2\2\2\2\5\3\2\2\2\2\7"+
"\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2"+
"\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\3\33\3\2\2\2\5"+
" \3\2\2\2\7\62\3\2\2\2\tG\3\2\2\2\13W\3\2\2\2\rj\3\2\2\2\17m\3\2\2\2\21"+
"r\3\2\2\2\23y\3\2\2\2\25\u0085\3\2\2\2\27\u0089\3\2\2\2\31\u0093\3\2\2"+
"\2\33\34\7\60\2\2\34\35\7k\2\2\35\36\7f\2\2\36\37\7\"\2\2\37\4\3\2\2\2"+
" !\7\60\2\2!\"\7k\2\2\"#\7p\2\2#$\7v\2\2$%\7a\2\2%&\7u\2\2&\'\7v\2\2\'"+
"(\7c\2\2()\7e\2\2)*\7m\2\2*+\7a\2\2+,\7e\2\2,-\7q\2\2-.\7w\2\2./\7p\2"+
"\2/\60\7v\2\2\60\61\7\"\2\2\61\6\3\2\2\2\62\63\7\60\2\2\63\64\7u\2\2\64"+
"\65\7v\2\2\65\66\7t\2\2\66\67\7k\2\2\678\7p\2\289\7i\2\29:\7a\2\2:;\7"+
"u\2\2;<\7v\2\2<=\7c\2\2=>\7e\2\2>?\7m\2\2?@\7a\2\2@A\7e\2\2AB\7q\2\2B"+
"C\7w\2\2CD\7p\2\2DE\7v\2\2EF\7\"\2\2F\b\3\2\2\2GH\7\60\2\2HI\7k\2\2IJ"+
"\7p\2\2JK\7v\2\2KL\7a\2\2LM\7x\2\2MN\7c\2\2NO\7t\2\2OP\7a\2\2PQ\7e\2\2"+
"QR\7q\2\2RS\7w\2\2ST\7p\2\2TU\7v\2\2UV\7\"\2\2V\n\3\2\2\2WX\7\60\2\2X"+
"Y\7u\2\2YZ\7v\2\2Z[\7t\2\2[\\\7k\2\2\\]\7p\2\2]^\7i\2\2^_\7a\2\2_`\7x"+
"\2\2`a\7c\2\2ab\7t\2\2bc\7a\2\2cd\7e\2\2de\7q\2\2ef\7w\2\2fg\7p\2\2gh"+
"\7v\2\2hi\7\"\2\2i\f\3\2\2\2jk\7<\2\2k\16\3\2\2\2ln\t\2\2\2ml\3\2\2\2"+
"no\3\2\2\2om\3\2\2\2op\3\2\2\2p\20\3\2\2\2qs\7/\2\2rq\3\2\2\2rs\3\2\2"+
"\2su\3\2\2\2tv\t\3\2\2ut\3\2\2\2vw\3\2\2\2wu\3\2\2\2wx\3\2\2\2x\22\3\2"+
"\2\2y\177\7$\2\2z~\n\4\2\2{|\7^\2\2|~\t\5\2\2}z\3\2\2\2}{\3\2\2\2~\u0081"+
"\3\2\2\2\177}\3\2\2\2\177\u0080\3\2\2\2\u0080\u0082\3\2\2\2\u0081\177"+
"\3\2\2\2\u0082\u0083\7$\2\2\u0083\24\3\2\2\2\u0084\u0086\t\6\2\2\u0085"+
"\u0084\3\2\2\2\u0086\u0087\3\2\2\2\u0087\u0085\3\2\2\2\u0087\u0088\3\2"+
"\2\2\u0088\26\3\2\2\2\u0089\u008d\7=\2\2\u008a\u008c\n\2\2\2\u008b\u008a"+
"\3\2\2\2\u008c\u008f\3\2\2\2\u008d\u008b\3\2\2\2\u008d\u008e\3\2\2\2\u008e"+
"\u0090\3\2\2\2\u008f\u008d\3\2\2\2\u0090\u0091\b\f\2\2\u0091\30\3\2\2"+
"\2\u0092\u0094\t\7\2\2\u0093\u0092\3\2\2\2\u0094\u0095\3\2\2\2\u0095\u0093"+
"\3\2\2\2\u0095\u0096\3\2\2\2\u0096\u0097\3\2\2\2\u0097\u0098\b\r\2\2\u0098"+
"\32\3\2\2\2\13\2orw}\177\u0087\u008d\u0095\3\2\3\2";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}

View File

@@ -0,0 +1,260 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.tree.ParseTreeListener;
/**
* This interface defines a complete listener for a parse tree produced by
* {@link rs2asmParser}.
*/
public interface rs2asmListener extends ParseTreeListener {
/**
* Enter a parse tree produced by {@link rs2asmParser#prog}.
* @param ctx the parse tree
*/
void enterProg(rs2asmParser.ProgContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#prog}.
* @param ctx the parse tree
*/
void exitProg(rs2asmParser.ProgContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#header}.
* @param ctx the parse tree
*/
void enterHeader(rs2asmParser.HeaderContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#header}.
* @param ctx the parse tree
*/
void exitHeader(rs2asmParser.HeaderContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#id}.
* @param ctx the parse tree
*/
void enterId(rs2asmParser.IdContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#id}.
* @param ctx the parse tree
*/
void exitId(rs2asmParser.IdContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_stack_count}.
* @param ctx the parse tree
*/
void enterInt_stack_count(rs2asmParser.Int_stack_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_stack_count}.
* @param ctx the parse tree
*/
void exitInt_stack_count(rs2asmParser.Int_stack_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_stack_count}.
* @param ctx the parse tree
*/
void enterString_stack_count(rs2asmParser.String_stack_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_stack_count}.
* @param ctx the parse tree
*/
void exitString_stack_count(rs2asmParser.String_stack_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_var_count}.
* @param ctx the parse tree
*/
void enterInt_var_count(rs2asmParser.Int_var_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_var_count}.
* @param ctx the parse tree
*/
void exitInt_var_count(rs2asmParser.Int_var_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_var_count}.
* @param ctx the parse tree
*/
void enterString_var_count(rs2asmParser.String_var_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_var_count}.
* @param ctx the parse tree
*/
void exitString_var_count(rs2asmParser.String_var_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#id_value}.
* @param ctx the parse tree
*/
void enterId_value(rs2asmParser.Id_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#id_value}.
* @param ctx the parse tree
*/
void exitId_value(rs2asmParser.Id_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_stack_value}.
* @param ctx the parse tree
*/
void enterInt_stack_value(rs2asmParser.Int_stack_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_stack_value}.
* @param ctx the parse tree
*/
void exitInt_stack_value(rs2asmParser.Int_stack_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_stack_value}.
* @param ctx the parse tree
*/
void enterString_stack_value(rs2asmParser.String_stack_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_stack_value}.
* @param ctx the parse tree
*/
void exitString_stack_value(rs2asmParser.String_stack_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_var_value}.
* @param ctx the parse tree
*/
void enterInt_var_value(rs2asmParser.Int_var_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_var_value}.
* @param ctx the parse tree
*/
void exitInt_var_value(rs2asmParser.Int_var_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_var_value}.
* @param ctx the parse tree
*/
void enterString_var_value(rs2asmParser.String_var_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_var_value}.
* @param ctx the parse tree
*/
void exitString_var_value(rs2asmParser.String_var_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#line}.
* @param ctx the parse tree
*/
void enterLine(rs2asmParser.LineContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#line}.
* @param ctx the parse tree
*/
void exitLine(rs2asmParser.LineContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction}.
* @param ctx the parse tree
*/
void enterInstruction(rs2asmParser.InstructionContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction}.
* @param ctx the parse tree
*/
void exitInstruction(rs2asmParser.InstructionContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#label}.
* @param ctx the parse tree
*/
void enterLabel(rs2asmParser.LabelContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#label}.
* @param ctx the parse tree
*/
void exitLabel(rs2asmParser.LabelContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction_name}.
* @param ctx the parse tree
*/
void enterInstruction_name(rs2asmParser.Instruction_nameContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction_name}.
* @param ctx the parse tree
*/
void exitInstruction_name(rs2asmParser.Instruction_nameContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#name_string}.
* @param ctx the parse tree
*/
void enterName_string(rs2asmParser.Name_stringContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#name_string}.
* @param ctx the parse tree
*/
void exitName_string(rs2asmParser.Name_stringContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#name_opcode}.
* @param ctx the parse tree
*/
void enterName_opcode(rs2asmParser.Name_opcodeContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#name_opcode}.
* @param ctx the parse tree
*/
void exitName_opcode(rs2asmParser.Name_opcodeContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction_operand}.
* @param ctx the parse tree
*/
void enterInstruction_operand(rs2asmParser.Instruction_operandContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction_operand}.
* @param ctx the parse tree
*/
void exitInstruction_operand(rs2asmParser.Instruction_operandContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_int}.
* @param ctx the parse tree
*/
void enterOperand_int(rs2asmParser.Operand_intContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_int}.
* @param ctx the parse tree
*/
void exitOperand_int(rs2asmParser.Operand_intContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_qstring}.
* @param ctx the parse tree
*/
void enterOperand_qstring(rs2asmParser.Operand_qstringContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_qstring}.
* @param ctx the parse tree
*/
void exitOperand_qstring(rs2asmParser.Operand_qstringContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_label}.
* @param ctx the parse tree
*/
void enterOperand_label(rs2asmParser.Operand_labelContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_label}.
* @param ctx the parse tree
*/
void exitOperand_label(rs2asmParser.Operand_labelContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_lookup}.
* @param ctx the parse tree
*/
void enterSwitch_lookup(rs2asmParser.Switch_lookupContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_lookup}.
* @param ctx the parse tree
*/
void exitSwitch_lookup(rs2asmParser.Switch_lookupContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_key}.
* @param ctx the parse tree
*/
void enterSwitch_key(rs2asmParser.Switch_keyContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_key}.
* @param ctx the parse tree
*/
void exitSwitch_key(rs2asmParser.Switch_keyContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_value}.
* @param ctx the parse tree
*/
void enterSwitch_value(rs2asmParser.Switch_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_value}.
* @param ctx the parse tree
*/
void exitSwitch_value(rs2asmParser.Switch_valueContext ctx);
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
T__0=1
T__1=2
T__2=3
T__3=4
T__4=5
T__5=6
NEWLINE=7
INT=8
QSTRING=9
IDENTIFIER=10
COMMENT=11
WS=12
'.id '=1
'.int_stack_count '=2
'.string_stack_count '=3
'.int_var_count '=4
'.string_var_count '=5
':'=6

View File

@@ -0,0 +1,18 @@
T__0=1
T__1=2
T__2=3
T__3=4
T__4=5
T__5=6
NEWLINE=7
INT=8
QSTRING=9
IDENTIFIER=10
COMMENT=11
WS=12
'.id '=1
'.int_stack_count '=2
'.string_stack_count '=3
'.int_var_count '=4
'.string_var_count '=5
':'=6

View File

@@ -1,118 +0,0 @@
/*
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.cache.item;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import lombok.extern.slf4j.Slf4j;
import net.runelite.cache.IndexType;
import net.runelite.cache.ItemManager;
import net.runelite.cache.SpriteManager;
import net.runelite.cache.StoreLocation;
import net.runelite.cache.TextureManager;
import net.runelite.cache.definitions.ItemDefinition;
import net.runelite.cache.definitions.ModelDefinition;
import net.runelite.cache.definitions.loaders.ModelLoader;
import net.runelite.cache.definitions.providers.ModelProvider;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@Slf4j
public class ItemSpriteFactoryTest
{
@Rule
public TemporaryFolder folder = StoreLocation.getTemporaryFolder();
@Test
@Ignore
public void test() throws IOException
{
File base = StoreLocation.LOCATION,
outDir = folder.newFolder();
int count = 0;
try (Store store = new Store(base))
{
store.load();
ItemManager itemManager = new ItemManager(store);
itemManager.load();
ModelProvider modelProvider = new ModelProvider()
{
@Override
public ModelDefinition provide(int modelId) throws IOException
{
Index models = store.getIndex(IndexType.MODELS);
Archive archive = models.getArchive(modelId);
byte[] data = archive.decompress(store.getStorage().loadArchive(archive));
ModelDefinition inventoryModel = new ModelLoader().load(modelId, data);
return inventoryModel;
}
};
SpriteManager spriteManager = new SpriteManager(store);
spriteManager.load();
TextureManager textureManager = new TextureManager(store);
textureManager.load();
for (ItemDefinition itemDef : itemManager.getItems())
{
if (itemDef.name == null || itemDef.name.equalsIgnoreCase("null"))
{
continue;
}
try
{
BufferedImage sprite = ItemSpriteFactory.createSprite(itemManager, modelProvider, spriteManager, textureManager,
itemDef.id, 1, 1, 3153952, false);
File out = new File(outDir, itemDef.id + ".png");
BufferedImage img = sprite;
ImageIO.write(img, "PNG", out);
++count;
}
catch (Exception ex)
{
log.warn("error dumping item {}", itemDef.id, ex);
}
}
}
log.info("Dumped {} item images to {}", count, outDir);
}
}

22
deobfuscator/build.gradle Normal file
View File

@@ -0,0 +1,22 @@
description = 'Deobfuscator'
dependencies {
compile project(':runelite-api')
compile project(':runescape-api')
compile group: 'net.runelite', name: 'fernflower', version:'20171017'
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'com.google.code.gson', name: 'gson', version:'2.8.5'
compile group: 'org.ow2.asm', name: 'asm-debug-all', version:'5.2'
runtime group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
testCompile project(':rs-client')
testCompile group: 'net.runelite.rs', name: 'vanilla', version:'181'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.mockito', name: 'mockito-all', version:'1.10.19'
}
task packageTests(type: Jar) {
from sourceSets.test.output
classifier = 'tests'
}
artifacts.archives packageTests

View File

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

172
gradlew vendored Normal file
View File

@@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

84
gradlew.bat vendored Normal file
View File

@@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

13
http-api/build.gradle Normal file
View File

@@ -0,0 +1,13 @@
description = 'Web API'
dependencies {
compile group: 'com.squareup.okhttp3', name: 'okhttp', version:'3.14.0'
compile group: 'com.google.code.gson', name: 'gson', version:'2.8.5'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'org.apache.commons', name: 'commons-csv', version:'1.4'
compile group: 'io.reactivex.rxjava2', name: 'rxjava', version:'2.2.10'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
testCompile group: 'com.squareup.okhttp3', name: 'mockwebserver', version:'3.14.0'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}

28
http-service/build.gradle Normal file
View File

@@ -0,0 +1,28 @@
apply plugin: 'war'
description = 'Web Service'
dependencies {
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:'1.5.6.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-devtools', version:'1.5.6.RELEASE'
compile group: 'org.springframework', name: 'spring-jdbc', version:'4.3.10.RELEASE'
compile group: 'org.mapstruct', name: 'mapstruct-jdk8', version:'1.2.0.Final'
compile project(':http-api')
compile project(':cache')
compile group: 'org.sql2o', name: 'sql2o', version:'1.6.0'
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'com.github.scribejava', name: 'scribejava-apis', version:'6.6.3'
compile group: 'io.minio', name: 'minio', version:'3.0.6'
compile(group: 'redis.clients', name: 'jedis', version:'3.0.1') {
exclude(module: 'commons-pool2')
}
testCompile(group: 'org.springframework.boot', name: 'spring-boot-starter-test', version:'1.5.6.RELEASE') {
exclude(module: 'commons-logging')
}
testCompile group: 'com.squareup.okhttp3', name: 'mockwebserver', version:'3.14.0'
testCompile group: 'com.h2database', name: 'h2', version:'1.4.196'
providedCompile group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version:'1.5.6.RELEASE'
providedCompile group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
providedCompile group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version:'2.4.2'
}

View File

@@ -0,0 +1,6 @@
description = 'Injected Client'
dependencies {
compile project(':rs-client')
compile group: 'net.runelite.rs', name: 'vanilla', version:'181'
}

View File

@@ -0,0 +1,13 @@
group = 'net.runelite.rs'
description = 'Injector'
dependencies {
compile project(':deobfuscator')
compile project(':mixins')
compile project(':runelite-api')
compile project(':runescape-api')
compile group: 'org.apache.maven', name: 'maven-plugin-api', version:'3.6.1'
testCompile project(':deobfuscator')
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.mockito', name: 'mockito-all', version:'1.10.19'
compileOnly group: 'org.apache.maven.plugin-tools', name: 'maven-plugin-annotations', version:'3.6.0'
}

View File

@@ -0,0 +1,9 @@
description = 'Protocol API'
dependencies {
compile project(':runelite-api')
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
testCompile group: 'junit', name: 'junit', version:'4.12'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}

10
protocol/build.gradle Normal file
View File

@@ -0,0 +1,10 @@
description = 'Protocol'
dependencies {
compile project(':protocol-api')
compile project(':cache')
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'io.netty', name: 'netty-all', version:'4.1.37.Final'
testCompile group: 'junit', name: 'junit', version:'4.12'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}

View File

@@ -0,0 +1,8 @@
description = 'RuneLite API'
dependencies {
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'com.google.code.findbugs', name: 'jsr305', version:'3.0.2'
testCompile group: 'junit', name: 'junit', version:'4.12'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}

View File

@@ -0,0 +1,49 @@
description = 'RuneLite Client'
dependencies {
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'ch.qos.logback', name: 'logback-classic', version:'1.2.3'
compile group: 'net.sf.jopt-simple', name: 'jopt-simple', version:'5.0.1'
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'com.google.inject', name: 'guice', version:'4.1.0', classifier:'no_aop'
compile group: 'com.google.code.gson', name: 'gson', version:'2.8.5'
compile group: 'net.runelite.pushingpixels', name: 'substance', version:'8.0.02'
compile group: 'org.apache.commons', name: 'commons-text', version:'1.2'
compile group: 'org.jogamp.jogl', name: 'jogl-all', version:'2.3.2'
compile group: 'org.jogamp.gluegen', name: 'gluegen-rt', version:'2.3.2'
compile(group: 'io.sigpipe', name: 'jbsdiff', version:'1.0') {
exclude(module: 'xz')
}
compile group: 'net.java.dev.jna', name: 'jna', version:'4.5.1'
compile group: 'net.java.dev.jna', name: 'jna-platform', version:'4.5.1'
compile project(':runelite-api')
compile project(':http-api')
compile group: 'net.runelite', name: 'discord', version:'1.1'
compile group: 'org.javassist', name: 'javassist', version:'3.25.0-GA'
compile group: 'org.xeustechnologies', name: 'jcl-core', version:'2.8'
compile group: 'org.jetbrains', name: 'annotations', version:'17.0.0'
compile group: 'com.github.joonasvali.naturalmouse', name: 'naturalmouse', version:'[1.0.0,)'
compile group: 'org.ow2.asm', name: 'asm-all', version:'6.0_BETA'
compile group: 'org.codehaus.plexus', name: 'plexus-utils', version:'3.2.0'
compile group: 'org.apache.httpcomponents', name: 'httpcore', version:'4.4.11'
compile group: 'org.apache.httpcomponents', name: 'httpmime', version:'4.5.9'
compile group: 'io.reactivex.rxjava2', name: 'rxjava', version:'2.2.10'
compile group: 'com.jakewharton.rxrelay2', name: 'rxrelay', version:'2.1.0'
runtime group: 'net.runelite.pushingpixels', name: 'trident', version:'1.5.00'
runtime group: 'org.jogamp.jogl', name: 'jogl-all', version:'2.3.2', classifier:'natives-windows-amd64'
runtime group: 'org.jogamp.jogl', name: 'jogl-all', version:'2.3.2', classifier:'natives-windows-i586'
runtime group: 'org.jogamp.jogl', name: 'jogl-all', version:'2.3.2', classifier:'natives-linux-amd64'
runtime group: 'org.jogamp.jogl', name: 'jogl-all', version:'2.3.2', classifier:'natives-linux-i586'
runtime group: 'org.jogamp.gluegen', name: 'gluegen-rt', version:'2.3.2', classifier:'natives-windows-amd64'
runtime group: 'org.jogamp.gluegen', name: 'gluegen-rt', version:'2.3.2', classifier:'natives-windows-i586'
runtime group: 'org.jogamp.gluegen', name: 'gluegen-rt', version:'2.3.2', classifier:'natives-linux-amd64'
runtime group: 'org.jogamp.gluegen', name: 'gluegen-rt', version:'2.3.2', classifier:'natives-linux-i586'
runtime project(':runescape-api')
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.hamcrest', name: 'hamcrest-library', version:'1.3'
testCompile group: 'org.mockito', name: 'mockito-all', version:'1.10.19'
testCompile group: 'com.google.inject.extensions', name: 'guice-testlib', version:'4.1.0'
testCompile group: 'com.google.inject.extensions', name: 'guice-grapher', version:'4.1.0'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
compileOnly group: 'net.runelite', name: 'orange-extensions', version:'1.0'
}

View File

@@ -0,0 +1,10 @@
description = 'RuneLite Mixins'
dependencies {
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.mockito', name: 'mockito-all', version:'1.10.19'
compileOnly group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile project(':runescape-api')
compileOnly group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compileOnly group: 'javax.inject', name: 'javax.inject', version:'1'
}

View File

@@ -0,0 +1,2 @@
description = 'RuneLite Plugin Archetype'

View File

@@ -0,0 +1,8 @@
description = 'Script Assembler Plugin'
dependencies {
compile project(':cache')
compile project(':runelite-api')
compile group: 'org.apache.maven', name: 'maven-plugin-api', version:'3.6.1'
compileOnly group: 'org.apache.maven.plugin-tools', name: 'maven-plugin-annotations', version:'3.6.0'
}

View File

@@ -0,0 +1,5 @@
group = 'net.runelite.rs'
description = 'RuneScape API'
dependencies {
compile project(':runelite-api')
}

View File

@@ -0,0 +1,8 @@
group = 'net.runelite.rs'
description = 'RuneScape Client'
dependencies {
compile project(':runescape-api')
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.26'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
}

36
settings.gradle Normal file
View File

@@ -0,0 +1,36 @@
rootProject.name = 'runelite-parent'
include ':http-api'
include ':cache'
include ':runelite-api'
include ':protocol-api'
include ':protocol'
include ':cache-client'
include ':cache-updater'
include ':runescape-api'
include ':rs-client'
include ':deobfuscator'
include ':script-assembler-plugin'
include ':client'
include ':mixins'
include ':injector-plugin'
include ':injected-client'
include ':runelite-plugin-archetype'
include ':http-service'
project(':http-api').projectDir = "$rootDir/http-api" as File
project(':cache').projectDir = "$rootDir/cache" as File
project(':runelite-api').projectDir = "$rootDir/runelite-api" as File
project(':protocol-api').projectDir = "$rootDir/protocol-api" as File
project(':protocol').projectDir = "$rootDir/protocol" as File
project(':cache-client').projectDir = "$rootDir/cache-client" as File
project(':cache-updater').projectDir = "$rootDir/cache-updater" as File
project(':runescape-api').projectDir = "$rootDir/runescape-api" as File
project(':rs-client').projectDir = "$rootDir/runescape-client" as File
project(':deobfuscator').projectDir = "$rootDir/deobfuscator" as File
project(':script-assembler-plugin').projectDir = "$rootDir/runelite-script-assembler-plugin" as File
project(':client').projectDir = "$rootDir/runelite-client" as File
project(':mixins').projectDir = "$rootDir/runelite-mixins" as File
project(':injector-plugin').projectDir = "$rootDir/injector-plugin" as File
project(':injected-client').projectDir = "$rootDir/injected-client" as File
project(':runelite-plugin-archetype').projectDir = "$rootDir/runelite-plugin-archetype" as File
project(':http-service').projectDir = "$rootDir/http-service" as File