Remove object wrappers and use mixins to inject functionality

This causes hierarchy to be runelite-client -> runelite-api and
injected-client -> runescape-api -> runelite-api. The mixin injector
fufills the runelite-api interface with access to the runescape-api
interfaces. The mixins live in runelite-mixins and are not loaded within
the client.

Note the obfuscated client classes do not pass JVM verification on 7+,
so the mixins are currently set to target Java 6.
This commit is contained in:
Adam
2017-08-19 13:58:06 -04:00
parent 07c8442f22
commit 59552896ed
124 changed files with 2257 additions and 1814 deletions

View File

@@ -87,7 +87,13 @@
</dependency>
<dependency>
<groupId>net.runelite.rs</groupId>
<artifactId>client</artifactId>
<artifactId>api</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>net.runelite</groupId>
<artifactId>injected-client</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
@@ -148,13 +154,16 @@
<shadedClassifierName>shaded</shadedClassifierName>
<filters>
<!--
Do not filter anything under net.runelite.
net.runelite.rs:client gets automatically filtered otherwise because it is runtime scoped
and only accessed with reflection.
-->
<!-- include runtime apis -->
<filter>
<artifact>net.runelite.*:*</artifact>
<!-- net.runelite:injected-client and net.runelite:api -->
<artifact>net.runelite:*</artifact>
<includes>
<include>**</include>
</includes>
</filter>
<filter>
<artifact>net.runelite.rs:api</artifact>
<includes>
<include>**</include>
</includes>