Switch from Gradle + Ant to Maven
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- java
Línea de trabajo
Empieza leyendo build.gradle y version.gradle y, después, inspecciona la compilación de Ant, los scripts de shell, las sobreescrituras del harness y las plantillas de proyecto que gestionan. Documenta cómo funcionan actualmente las descargas de JDK, el versionado, las actualizaciones de dependencias y la generación de plantillas antes de diseñar el reemplazo basado en Maven. Se considera terminado cuando el SDK se puede compilar mediante Maven, sigue siendo utilizable como proyecto de la plataforma NetBeans y conserva o reemplaza deliberadamente el comportamiento de plantillas y bundling indicado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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...
- Lenguaje dominante
- Java
- Estrellas
- 348
- Forks
- 104
- Merge medio
- 6 d 16 h
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jMonkeyEngine/sdk
-
Material / Material Editor
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
jMonkeyEngine/sdk#711 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
jMonkeyEngine/sdk#718 ·
-
Use LWJGL 3Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
jMonkeyEngine/sdk#715 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
jMonkeyEngine/sdk#705 ·
-
Material / Material Editor
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
jMonkeyEngine/sdk#680 · 2 comentarios · 1 reacción ·
Todos los issues de jMonkeyEngine/sdk
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
feature triaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Graylog2/graylog2-server#27549 ·
Los mantenedores suelen responder en 1 día
-
component/zeebe kind/bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
UniversalMediaServer/UniversalMediaServer#6356 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
googleapis/google-cloud-java#14533 ·
Los mantenedores suelen responder en 1 día