Skip to content

feat: add Docker/Gradle build, JDK 26, Spotify support, and migrate config.txt to config.yaml#1863

Open
itzzjustmateo wants to merge 25 commits into
jagrosh:masterfrom
Lukas-Studio:master
Open

feat: add Docker/Gradle build, JDK 26, Spotify support, and migrate config.txt to config.yaml#1863
itzzjustmateo wants to merge 25 commits into
jagrosh:masterfrom
Lukas-Studio:master

Conversation

@itzzjustmateo

Copy link
Copy Markdown

This pull request...

  • Fixes a bug
  • Introduces a new feature
  • Improves an existing feature
  • Boosts code quality or performance

Description

  • Migrate from Maven to Gradle with Kotlin DSL
  • Upgrade target from JDK 11 to JDK 26
  • Add Dockerfile and Docker Compose for containerised deployment
  • Add Makefile with convenience targets (build, run, logs, test, etc.)
  • Add optional Spotify integration (tracks, playlists, albums) via Spotify Web API, disabled by default and kept behind configuration despite previous roadmap restrictions
  • Add config.example.yaml and rename default config from config.txt to config.yaml
  • Update CI configs (.circleci, GitHub Actions) for Gradle/JDK 26
  • Update README with Docker, Gradle, and Spotify setup guides
  • Add ROADMAP.md for future feature planning

Purpose

The existing build system (Maven on JDK 11) is outdated and lacks Docker support, making deployment unnecessarily complex. This PR modernises the build pipeline, adds containerisation, extends music source support with Spotify, and improves the project's documentation and developer experience.

Relevant Issue(s)

This PR closes #1861 and #1862

Lukas48452 and others added 25 commits June 24, 2026 17:22
Migrates the build system from Maven to Gradle, updates the project to a newer JDK version, and refreshes Dockerfiles to align with the updated build and runtime setup.
This commit merges the Pull Request #1 opened by itzzjustmateo
- Rename bot from JMusicBot to LMusicBot (Lukas' Music Bot)
- Update all repo URLs from jagrosh/MusicBot to Lukas48452/MusicBot
- Add 14 slash commands with configurable interaction modes
- Add WebhookNotifier for nowplaying and queue updates
- Add StorageBackend interface with File, Redis, PostgreSQL impls
- Upgrade deps: Logback 1.5.16, Typesafe Config 1.4.3, Jsoup 1.18.3, JUnit 5
- Add Jedis 5.2.0, PostgreSQL 42.7.4, HikariCP 6.0.0
- Fix badge theme to variant=secondary
- Fix RepeatSlashCmd one-statement-per-line
- Overhaul README with fork comparison table and new config docs
- Remove Patreon and other funding platform links from FUNDING.yml
- Add /lmb slash command crediting VOMLabs, IMStudios (ItzzMateo Studios),
  original JMusicBot creator (jagrosh), and Lukas
- Add .classpath, .project, .settings/, bin/ to .gitignore
- Update /lmb credits: remove VOMLabs, update IMStudios role text
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Migrate to Gradle

2 participants