Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Switch from Gradle + Ant to Maven

Aperta
#367 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
java

Direzione di ricerca

Inizia leggendo build.gradle e version.gradle, quindi esamina la build Ant, gli script shell, gli override dell’harness e i template di progetto che gestiscono. Mappa il funzionamento attuale dei download del JDK, della gestione delle versioni, degli aggiornamenti delle dipendenze e della generazione dei template prima di progettare la sostituzione con Maven. Il lavoro è completato quando l’SDK può essere compilato tramite Maven, rimane utilizzabile come progetto della piattaforma NetBeans e mantiene o sostituisce deliberatamente il comportamento elencato relativo ai template e al bundling.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature

Switch from Gradle + Ant to Maven. Currently the SDK is using Gradle to do some priming magic and Ant to actually build the SDK. Along with some SH scripts to fill in the gaps. This makes the build very complicated. Especially shunning away any newcomer to the project. Really a hassle to setup the SDK. I think we can replace all of this with Maven.

Current issues:

  • Complicated, I mean two different build systems, c'mon
  • Feels like a lot of workarounds are used (probably things supported by Maven project directly and just hacked to Ant)
  • Difficult to open SDK as a NB platform project in Netbeans as it is detected as a Gradle project in modern Netbeans versions
  • No dependency control in our modules, just need to include JARs manually, they never get upgraded etc.

Maven platform project type is officially supported by Netbeans. Ant is also still but not recommended. Gradle unfortunately is not supported, so I would outright forget it. There was some unofficial plugin for creating this support but I have my doubts. And this Mavenizing should be now much easier as we don't build the engine anymore so less stuff needs to be re-invented.

All the current issues listed would ideally be solved by the Maven system but here are some points that require special attention:

  • Downloading JDKs and bundling them (currently handled by a script and Ant)
  • Handling the harness overrides, a.k.a. our icon used in the launcher
  • Coining the versions (look at version.gradle)
  • Dealing with the jME test project template (currently sources downloaded and extracted by the build.gradle)
  • Dealing with the other Ant project templates (currently build.gradle does a lot of tweaks to update these automatically to the version set for the dependencies)
  • I totally recommend not changing the directory structure to Maven default (src/tests/etc) to avoid too big PR, this default structure can be overridden in the configs

I suspect that the versions could be replaced just with a variable in Maven build which would needed to be upgraded manually before creating a new version. And for the others as well I have done some preliminary research and seems everything is doable and even simplifies things compared to the current setup.

For the Ant project templates we have however... Could be little bit tricky. We now have the Gradle template too which is the highly recommended one. So if this proves too difficult to implement.. We could even drop these. Or replace with Maven templates to go alongside the Gradle template. Although the latter would again bring more to support for what I think is very little value...

Lingua principale
Java
Stelle
348
Fork
104
Merge medio
6g 16h
PR unite (30g)
2

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di jMonkeyEngine/sdk

Tutte le issue di jMonkeyEngine/sdk

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.