14c7ed2e57
[Parser] Add examples of what each visitor visits among other things
513 lines
21 KiB
XML
513 lines
21 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>the.bytecode.club</groupId>
|
|
<artifactId>Bytecode-Viewer</artifactId>
|
|
<version>2.12</version>
|
|
|
|
<properties>
|
|
<!-- Project settings -->
|
|
<java.version>1.8</java.version>
|
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<!-- Dependency versions -->
|
|
<annotations.version>24.1.0</annotations.version>
|
|
<apktool.version>2.9.3</apktool.version>
|
|
<asm.version>9.7</asm.version>
|
|
<bined.version>0.2.1</bined.version>
|
|
<byteanalysis.version>1.0bcv</byteanalysis.version>
|
|
<cfr.version>0.152</cfr.version>
|
|
<cloning.version>1.9.12</cloning.version>
|
|
<commons-cli.version>1.9.0</commons-cli.version>
|
|
<commons-codec.version>1.17.1</commons-codec.version>
|
|
<commons-compiler.version>3.1.12</commons-compiler.version>
|
|
<commons-compress.version>1.27.1</commons-compress.version>
|
|
<commons-io.version>2.16.1</commons-io.version>
|
|
<commons-lang3.version>3.17.0</commons-lang3.version>
|
|
<commons-text.version>1.12.0</commons-text.version>
|
|
<darklaf.version>3.0.2</darklaf.version>
|
|
<darklaf-extensions-rsta.version>0.4.1</darklaf-extensions-rsta.version>
|
|
<decompiler-fernflower.version>6.3.9.Final</decompiler-fernflower.version>
|
|
<dex2jar.version>2.4.22</dex2jar.version>
|
|
<fernflower.version>e0d44f4</fernflower.version>
|
|
<gson.version>2.11.0</gson.version>
|
|
<guava.version>33.3.0-jre</guava.version>
|
|
<httprequest.version>2.2.0</httprequest.version>
|
|
<imgscalr-lib.version>4.2</imgscalr-lib.version>
|
|
<jadx.version>1.4.7</jadx.version> <!-- Newer versions require Java 11+ -->
|
|
<jd-gui.version>1.6.6bcv</jd-gui.version>
|
|
<jgraphx.version>3.4.1.3</jgraphx.version>
|
|
<js.version>21.2.0</js.version>
|
|
<objenesis.version>3.4</objenesis.version>
|
|
<binary-data.version>0.2.1</binary-data.version>
|
|
<procyon.version>0.6.0</procyon.version>
|
|
<rsyntaxtextarea.version>3.5.1</rsyntaxtextarea.version>
|
|
<semantic-version.version>2.1.1</semantic-version.version>
|
|
<slf4j.version>2.0.16</slf4j.version>
|
|
<smali.version>3.0.8</smali.version>
|
|
<safeyaml.version>1.34.1</safeyaml.version>
|
|
<treelayout.version>1.0.3</treelayout.version>
|
|
<webp-imageio.version>a8f700b</webp-imageio.version>
|
|
<xpp3.version>1.1.4c</xpp3.version>
|
|
<java-parser.version>3.26.2</java-parser.version>
|
|
<taskmanager.version>1.0.1</taskmanager.version>
|
|
<google-java-format.version>1.7</google-java-format.version> <!-- Newer versions require Java 11+ -->
|
|
<disk-lib.version>1.2.0</disk-lib.version>
|
|
</properties>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>google</id>
|
|
<url>https://maven.google.com/</url>
|
|
</repository>
|
|
<repository>
|
|
<id>local-maven-repo</id>
|
|
<url>file:///${project.basedir}/libs</url>
|
|
</repository>
|
|
<repository>
|
|
<id>jitpack.io</id>
|
|
<url>https://jitpack.io</url>
|
|
</repository>
|
|
<repository>
|
|
<id>sonatype-snapshots</id>
|
|
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.konloch</groupId>
|
|
<artifactId>HTTPRequest</artifactId>
|
|
<version>${httprequest.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains</groupId>
|
|
<artifactId>annotations</artifactId>
|
|
<version>${annotations.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apktool</groupId>
|
|
<artifactId>apktool-cli</artifactId>
|
|
<version>${apktool.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apktool</groupId>
|
|
<artifactId>apktool-lib</artifactId>
|
|
<version>${apktool.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-analysis</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-commons</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-tree</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.ow2.asm</groupId>
|
|
<artifactId>asm-util</artifactId>
|
|
<version>${asm.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.exbin.bined</groupId>
|
|
<artifactId>bined-core</artifactId>
|
|
<version>${bined.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.exbin.bined</groupId>
|
|
<artifactId>bined-swing</artifactId>
|
|
<version>${bined.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.exbin.bined</groupId>
|
|
<artifactId>bined-highlight-swing</artifactId>
|
|
<version>${bined.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.benf</groupId>
|
|
<artifactId>cfr</artifactId>
|
|
<version>${cfr.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>uk.com.robust-it</groupId>
|
|
<artifactId>cloning</artifactId>
|
|
<version>${cloning.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-cli</groupId>
|
|
<artifactId>commons-cli</artifactId>
|
|
<version>${commons-cli.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-codec</groupId>
|
|
<artifactId>commons-codec</artifactId>
|
|
<version>${commons-codec.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.janino</groupId>
|
|
<artifactId>commons-compiler</artifactId>
|
|
<version>${commons-compiler.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-compress</artifactId>
|
|
<version>${commons-compress.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons-io.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>${commons-lang3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-text</artifactId>
|
|
<version>${commons-text.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.windup.decompiler</groupId>
|
|
<artifactId>decompiler-fernflower</artifactId>
|
|
<version>${decompiler-fernflower.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.jboss.windup.decompiler.fernflower</groupId>
|
|
<artifactId>windup-fernflower</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.ThexXTURBOXx</groupId>
|
|
<artifactId>fernflower</artifactId>
|
|
<version>${fernflower.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>${guava.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.code.gson</groupId>
|
|
<artifactId>gson</artifactId>
|
|
<version>${gson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.imgscalr</groupId>
|
|
<artifactId>imgscalr-lib</artifactId>
|
|
<version>${imgscalr-lib.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.janino</groupId>
|
|
<artifactId>janino</artifactId>
|
|
<version>${commons-compiler.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jd</groupId>
|
|
<artifactId>jd-gui</artifactId>
|
|
<version>${jd-gui.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>eu.bibl.banalysis</groupId>
|
|
<artifactId>byteanalysis</artifactId>
|
|
<version>${byteanalysis.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.tinyjee.jgraphx</groupId>
|
|
<artifactId>jgraphx</artifactId>
|
|
<version>${jgraphx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.objenesis</groupId>
|
|
<artifactId>objenesis</artifactId>
|
|
<version>${objenesis.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.exbin.auxiliary</groupId>
|
|
<artifactId>binary_data</artifactId>
|
|
<version>${binary-data.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.exbin.auxiliary</groupId>
|
|
<artifactId>binary_data-paged</artifactId>
|
|
<version>${binary-data.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bitbucket.mstrobel</groupId>
|
|
<artifactId>procyon-core</artifactId>
|
|
<version>${procyon.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bitbucket.mstrobel</groupId>
|
|
<artifactId>procyon-expressions</artifactId>
|
|
<version>${procyon.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bitbucket.mstrobel</groupId>
|
|
<artifactId>procyon-reflection</artifactId>
|
|
<version>${procyon.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.bitbucket.mstrobel</groupId>
|
|
<artifactId>procyon-compilertools</artifactId>
|
|
<version>${procyon.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fifesoft</groupId>
|
|
<artifactId>rsyntaxtextarea</artifactId>
|
|
<version>${rsyntaxtextarea.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.android.tools.smali</groupId>
|
|
<artifactId>smali</artifactId>
|
|
<version>${smali.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.android.tools.smali</groupId>
|
|
<artifactId>smali-baksmali</artifactId>
|
|
<version>${smali.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.konloch</groupId>
|
|
<artifactId>safeyaml</artifactId>
|
|
<version>${safeyaml.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>xpp3</groupId>
|
|
<artifactId>xpp3</artifactId>
|
|
<version>${xpp3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.skylot</groupId>
|
|
<artifactId>jadx-core</artifactId>
|
|
<version>${jadx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.skylot</groupId>
|
|
<artifactId>jadx-java-convert</artifactId>
|
|
<version>${jadx.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.android.tools</groupId>
|
|
<artifactId>r8</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.jakewharton.android.repackaged</groupId>
|
|
<artifactId>dalvik-dx</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.skylot</groupId>
|
|
<artifactId>jadx-dex-input</artifactId>
|
|
<version>${jadx.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.smali</groupId>
|
|
<artifactId>baksmali</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.skylot</groupId>
|
|
<artifactId>jadx-smali-input</artifactId>
|
|
<version>${jadx.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.smali</groupId>
|
|
<artifactId>smali</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>de.femtopedia.dex2jar</groupId>
|
|
<artifactId>dex2jar</artifactId>
|
|
<version>${dex2jar.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.weisj</groupId>
|
|
<artifactId>darklaf-core</artifactId>
|
|
<version>${darklaf.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.weisj</groupId>
|
|
<artifactId>darklaf-extensions-rsyntaxarea</artifactId>
|
|
<version>${darklaf-extensions-rsta.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.ThexXTURBOXx</groupId>
|
|
<artifactId>webp-imageio</artifactId>
|
|
<version>${webp-imageio.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>de.skuzzle</groupId>
|
|
<artifactId>semantic-version</artifactId>
|
|
<version>${semantic-version.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.abego.treelayout</groupId>
|
|
<artifactId>org.abego.treelayout.core</artifactId>
|
|
<version>${treelayout.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.javaparser</groupId>
|
|
<artifactId>javaparser-core</artifactId>
|
|
<version>${java-parser.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.javaparser</groupId>
|
|
<artifactId>javaparser-symbol-solver-core</artifactId>
|
|
<version>${java-parser.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.konloch</groupId>
|
|
<artifactId>TaskManager</artifactId>
|
|
<version>${taskmanager.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.googlejavaformat</groupId>
|
|
<artifactId>google-java-format</artifactId>
|
|
<version>${google-java-format.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.konloch</groupId>
|
|
<artifactId>DiskLib</artifactId>
|
|
<version>${disk-lib.version}</version>
|
|
</dependency>
|
|
|
|
<!-- TODO Re-add for Graal.JS support -->
|
|
<!--<dependency>
|
|
<groupId>org.graalvm.js</groupId>
|
|
<artifactId>js</artifactId>
|
|
<version>${js.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.graalvm.js</groupId>
|
|
<artifactId>js-scriptengine</artifactId>
|
|
<version>${js.version}</version>
|
|
</dependency>-->
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.5.0</version>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.13.0</version>
|
|
<configuration>
|
|
<source>${maven.compiler.source}</source>
|
|
<target>${maven.compiler.target}</target>
|
|
<showDeprecation>true</showDeprecation>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>3.10.0</version>
|
|
<configuration>
|
|
<source>${maven.compiler.source}</source>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.6.0</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<filters>
|
|
<filter>
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<exclude>**/module-info.class</exclude>
|
|
<exclude>META-INF/*.SF</exclude>
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
<exclude>META-INF/*LICENSE*</exclude>
|
|
<exclude>META-INF/*NOTICE*</exclude>
|
|
<exclude>META-INF/MANIFEST.MF</exclude>
|
|
<exclude>LICENSE</exclude>
|
|
<exclude>license.txt</exclude>
|
|
<exclude>NOTICE</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<!-- Ignore all ASM-related files from d2j-external but MCTLE fix -->
|
|
<filter>
|
|
<artifact>de.femtopedia.dex2jar:d2j-external</artifact>
|
|
<excludeDefaults>true</excludeDefaults>
|
|
<includes>
|
|
<include>com/android/**</include>
|
|
<include>api_database/**</include>
|
|
<include>META-INF/services/**</include>
|
|
<include>LICENSE</include>
|
|
<include>r8-version.properties</include>
|
|
<include>org/objectweb/asm/MethodWriter.class</include>
|
|
</includes>
|
|
</filter>
|
|
<!-- Ignore original MethodWriter for MCTLE fix above -->
|
|
<filter>
|
|
<artifact>org.ow2.asm:asm</artifact>
|
|
<excludes>
|
|
<exclude>org/objectweb/asm/MethodWriter.class</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>the.bytecode.club.bytecodeviewer.BytecodeViewer</mainClass>
|
|
<manifestEntries>
|
|
<Implementation-Version>${project.version}</Implementation-Version>
|
|
<X-Compile-Source-JDK>${maven.compiler.source}</X-Compile-Source-JDK>
|
|
<X-Compile-Target-JDK>${maven.compiler.target}</X-Compile-Target-JDK>
|
|
</manifestEntries>
|
|
</transformer>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
|
</transformers>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|