Discussion: how to handle SPDX Spec version 3 dot releases
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Comienza revisando el generador de código spdx-model-to-java y cómo gestiona actualmente esta biblioteca las versiones de la especificación SPDX 2. Compara los cuatro enfoques propuestos para paquetes e interfaces, incluida la compatibilidad de los enum y la validación de versiones anteriores; se considerará terminado cuando los maintainers hayan decidido cómo deben representarse las versiones menores de SPDX 3.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Adding support for the SPDX 3.1 release will require an update to spdx-model-to-java code generator to support multiple dot releases of the spec.
The simplest approach would be to just add another package specific to the dot release (e.g. org.spdx.library.model.v3_1).
This, however, will require all applications that access the model through Java update their imports to the new version - including the utilities in this library.
Since dot releases are backwards compatible, we could create a package which is always the "latest" - this is similar to how we treat the SPDX 2 spec versions.
I can think of a few specific alternatives:
- Just produce the latest version and drop support for earlier dot releases
- Produce one package per dot release
- Produce one package per dot release plus a "latest" package (e.g.
org.spdx.library.model.v3_latest) - Use interfaces rather than class hierarchies and use multiple interfaces and an interface hierarchy to create a common interface that would work across all versions
In looking into 4, I ran into problems with the enums since you can not extend the enum classes and there is no straightforward way that I could find to support a compatible enum class that allows extensions for later dot releases (e.g. adding additional relationship types). 4 is also the most complex and involved solution.
Implementing 3 would be straightforward and I believe will support most use cases.
2 has the issue of requiring code updates on every release to change the imports.
1 doesn't support validating previous versions.
- Lenguaje dominante
- Java
- Estrellas
- 71
- Forks
- 44
- Merge medio
- 12 h 54 min
- PR fusionados (30 d)
- 7
Guía de contribución
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 spdx/Spdx-Java-Library
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
spdx/Spdx-Java-Library#449 ·
-
question
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
spdx/Spdx-Java-Library#398 ·
-
wontfix
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
spdx/Spdx-Java-Library#393 · 2 comentarios · 1 reacción ·
-
matching
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
spdx/Spdx-Java-Library#392 · 4 comentarios ·
-
matching performance
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
spdx/Spdx-Java-Library#369 · 3 comentarios · 2 reacciones ·
Todos los issues de spdx/Spdx-Java-Library
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bug needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 94/100
objectionary/hone-maven-plugin#1061 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
spring-projects/spring-modulith#1895 ·