Discussion: how to handle SPDX Spec version 3 dot releases
まだ誰も着手していません。
評価
調査の方向性
まず、spdx-model-to-java コードジェネレーターと、このライブラリが現在 SPDX 2 仕様のバージョンをどのように扱っているかを確認してください。enum の互換性と以前のバージョンの検証を含め、提案されている4つの package および interface のアプローチを比較してください。完了とは、SPDX 3 のドットリリースをどのように表現するかについて maintainer の決定に至ることです。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Java
- スター
- 71
- フォーク
- 44
- 平均マージ
- 12時間 54分
- マージ済み PR(30日)
- 7
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
spdx/Spdx-Java-Library のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
spdx/Spdx-Java-Library#449 ·
-
question
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
spdx/Spdx-Java-Library#398 ·
-
wontfix
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
spdx/Spdx-Java-Library#393 · コメント 2 件 · リアクション 1 件 ·
-
matching
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
spdx/Spdx-Java-Library#392 · コメント 4 件 ·
-
matching performance
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
spdx/Spdx-Java-Library#369 · コメント 3 件 · リアクション 2 件 ·
spdx/Spdx-Java-Library の issue をすべて見る
似ている issue
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful オープンarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100