Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Rework of Reference Hints #1212

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

mandelsoft
Copy link
Contributor

@mandelsoft mandelsoft commented Dec 27, 2024

What this PR does / why we need it

Rework a design flaw with reference hints in access specifications.

see docs/adrs/0003-reference-hints.md](docs/adrs/0003-reference-hints.md #1213

Which issue(s) this PR fixes

Fixes #1213

Incompatible Changes:

Component Version Representation
  • The new library creates always typed hints for new elements. Old hints are
    left as they are. This means, that old versions of the OCM tooling
    cannot work correctly with component versions with persisted hints in
    access specifications
  • If explicit hints are created, they are not observed by old tool versions.
    Those component versions cannot be verified by an older tool version.
OCM Library
  • The SetResourceBlob and SetSourceBlob API methods now accept
    a hint specification instead of a string. To be as compatible as possible,
    it still accepts a string (as before), which is mapped by a hint parser to a hint list.
    Therefore, the technical type is interface{}, which accepts
    various effective types (single hints, string and hint lists).

  • Uploaders provided by a plugin now get a serialized hint list
    instead of a simple untyped reference format.

  • There are new options for creating resource(source access objects.

@mandelsoft mandelsoft requested a review from a team as a code owner December 27, 2024 08:53
@github-actions github-actions bot added kind/feature new feature, enhancement, improvement, extension area/documentation Documentation related component/ocm-cli OCM Command Line Interface kind/dependency dependency update, etc. component/ocm-spec Open Component Model Specification size/l Large labels Dec 27, 2024
@mandelsoft mandelsoft force-pushed the hints branch 2 times, most recently from 89d366d to 1df4ae0 Compare December 27, 2024 09:33
@github-actions github-actions bot added the component/github-actions Changes on GitHub Actions or within `.github/` directory label Dec 27, 2024
@mandelsoft mandelsoft force-pushed the hints branch 2 times, most recently from 963818b to 61279df Compare December 27, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/documentation Documentation related component/github-actions Changes on GitHub Actions or within `.github/` directory component/ocm-cli OCM Command Line Interface component/ocm-spec Open Component Model Specification kind/dependency dependency update, etc. kind/feature new feature, enhancement, improvement, extension size/l Large
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rework of Reference Hints
1 participant