Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c091f46
refactor: extract jvm code into :jvm subproject
sotasan Apr 25, 2026
f7377d2
chore: scaffold tauri shell with react and typescript
sotasan Apr 25, 2026
c3c7997
refactor: nest :jvm code under moe.sota.decompiler.jvm
sotasan Apr 25, 2026
566c764
chore: pin rust toolchain and lock dependencies
sotasan Apr 25, 2026
4f137d7
chore: introduce mise for tool version pinning
sotasan Apr 25, 2026
8d8fd53
docs: replace build with development section
sotasan Apr 25, 2026
cb781ab
feat(tauri): set window title and size to match swing app
sotasan Apr 25, 2026
2a34811
docs: use bun run prefix for tauri commands
sotasan Apr 25, 2026
def234c
chore: declare all tools directly in mise.toml
sotasan Apr 25, 2026
8aac798
refactor: relocate gradle project into jvm/
sotasan Apr 25, 2026
5152d03
docs: update readme paths after jvm relocation
sotasan Apr 25, 2026
ec13735
chore: ignore bin directory
sotasan Apr 25, 2026
bc66a22
chore: remove .vscode directory
sotasan Apr 25, 2026
d1f818e
refactor: align package names with project hierarchy
sotasan Apr 25, 2026
740d74a
chore: move logo source files into src/assets
sotasan Apr 25, 2026
99924d7
feat: add j4rs jvm proof-of-concept
sotasan Apr 25, 2026
abfadb9
build: add mise dev task with watchexec auto-restart
sotasan Apr 25, 2026
26016d2
docs: point dev command at mise run dev
sotasan Apr 25, 2026
90e0855
chore: ignore .vscode and bump frontend deps
sotasan Apr 25, 2026
9bb6e29
feat: add self-hosted monaco editor to the shell
sotasan Apr 25, 2026
7e72fa5
feat: build out ui shell with tailwind, panels, tree, and theme
sotasan Apr 25, 2026
171c6bd
feat: register nord palette as tailwind colors
sotasan Apr 25, 2026
9f18f92
feat(tauri): add native macos app menu with about panel
sotasan Apr 25, 2026
ba7b94f
chore: bump version to 0.10.0
sotasan Apr 25, 2026
33ce531
refactor(jvm): consolidate entrypoint into a single Main class
sotasan May 2, 2026
d98339b
feat(tauri): accept an archive path via cli argument
sotasan May 2, 2026
57f7d2c
feat: ship a bundled jre and bridge to it via jni-rs
sotasan May 2, 2026
0c32ef0
refactor(jvm): drop the swing ui in favor of the tauri shell
sotasan May 2, 2026
4fe541a
build(jvm): bump source/target compatibility to java 26
sotasan May 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
.gradle
.idea
.kotlin
.vscode
bin
build
.DS_Store
*~lock~

# Node / Vite
node_modules
dist
dist-ssr
*.local

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
13 changes: 0 additions & 13 deletions .run/Decompiler.run.xml

This file was deleted.

42 changes: 24 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<a href="demo/src/main/java/moe/sota/decompiler/demo/Main.java"><img width="75%" alt="Screenshot" src=".github/assets/screenshot.png"></a>
<a href="jvm/demo/src/main/java/moe/sota/decompiler/demo/Main.java"><img width="75%" alt="Screenshot" src=".github/assets/screenshot.png"></a>
</p>

<p align="center">
Expand All @@ -8,7 +8,7 @@
<a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/sotasan/decompiler?label=License"></a>
</p>

# <img src="src/main/resources/logo/logo.png" alt="Logo" width="32" align="center"> Decompiler
# <img src="jvm/src/main/resources/logo/logo.png" alt="Logo" width="32" align="center"> Decompiler

A GUI application that allows you to browse Java archives using various decompilers.

Expand Down Expand Up @@ -42,35 +42,41 @@ The application is multilingual and determines the language based on your locale

The following languages are supported:

- [English](src/main/resources/langs/language.properties)
- [German](src/main/resources/langs/language_de.properties)
- [Spanish](src/main/resources/langs/language_es.properties)
- [French](src/main/resources/langs/language_fr.properties)
- [Japanese](src/main/resources/langs/language_ja.properties)
- [Dutch](src/main/resources/langs/language_nl.properties)
- [Russian](src/main/resources/langs/language_ru.properties)
- [Chinese](src/main/resources/langs/language_zh.properties)
- [English](jvm/src/main/resources/langs/language.properties)
- [German](jvm/src/main/resources/langs/language_de.properties)
- [Spanish](jvm/src/main/resources/langs/language_es.properties)
- [French](jvm/src/main/resources/langs/language_fr.properties)
- [Japanese](jvm/src/main/resources/langs/language_ja.properties)
- [Dutch](jvm/src/main/resources/langs/language_nl.properties)
- [Russian](jvm/src/main/resources/langs/language_ru.properties)
- [Chinese](jvm/src/main/resources/langs/language_zh.properties)

If you want to add or change a localization,
you can edit the files [here](src/main/resources/langs)
you can edit the files [here](jvm/src/main/resources/langs)
and create a [pull request](https://github.com/sotasan/decompiler/pulls).

## Build
## Development

To build the application from source,
make sure you have Java 17+ installed,
then simply build it using Gradle:
This project uses [mise](https://mise.jdx.dev) to pin its toolchain versions.
Install it once and the rest follows:

```bash
$ git clone https://github.com/sotasan/decompiler.git
$ cd decompiler
$ ./gradlew build
$ mise install
$ bun install
```

To launch the application from source with a demo JAR pre-loaded:
Run the Tauri shell in development mode:

```bash
$ ./gradlew run
$ mise run dev
```

Build a release bundle for the host platform:

```bash
$ bun run tauri build
```

## Contributing
Expand Down
83 changes: 0 additions & 83 deletions build.gradle.kts

This file was deleted.

Loading