Switch from Gradle + Ant to Maven
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
- Ambito
- build-system, developer-experience
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
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jMonkeyEngine/sdk
-
Material / Material Editor
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
jMonkeyEngine/sdk#711 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
jMonkeyEngine/sdk#718 ·
-
Use LWJGL 3Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
jMonkeyEngine/sdk#715 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
jMonkeyEngine/sdk#705 ·
-
Material / Material Editor
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
jMonkeyEngine/sdk#680 · 2 commenti · 1 reazione ·
Tutte le issue di jMonkeyEngine/sdk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
redhat-developer/intellij-quarkus#1626 ·
-
Type/Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
wso2/product-integrator-mi#5061 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
quarkiverse/quarkus-roq#1277 ·
I maintainer di solito rispondono entro 1 giorno
-
Typos in page footerAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/logging-site#48 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/maven-surefire#3496 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno