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

Introduce a default-for attribute #62

Closed
sdeleuze opened this issue Sep 23, 2022 · 1 comment · Fixed by #275
Closed

Introduce a default-for attribute #62

sdeleuze opened this issue Sep 23, 2022 · 1 comment · Fixed by #275
Assignees
Labels
enhancement New feature or request

Comments

@sdeleuze
Copy link
Collaborator

sdeleuze commented Sep 23, 2022

latest attribute seems not robust enough since it does not manage any notion of semantic versioning.

For example, I am going to add metadata for ch.qos.logback:logback-classic 1.4.1 with the latest flag set to true. Once Logback 1.2.12 will be out and used by somebody, native compilation will be broken due to the default to the latest if we just have metadata for 1.2.11.

As discussed with @melix, we could introduce a default-for attribute with a regexp value used to match the version of the dependency. latest would translate to "default-for": ".*", and we could document and use regexp for matching the same major + major version, which would be the most common use case.

@sdeleuze sdeleuze added the enhancement New feature or request label Sep 23, 2022
@sdeleuze sdeleuze mentioned this issue Sep 26, 2022
2 tasks
@sdeleuze sdeleuze self-assigned this Apr 27, 2023
@sdeleuze sdeleuze added this to the 0.3.0 milestone Apr 27, 2023
sdeleuze added a commit to sdeleuze/graalvm-reachability-metadata that referenced this issue Apr 28, 2023
This new index.json attribute is design to allow more
flexible version matching to avoid breakage due to
switch on latest version for untested ones.

It should have a `default-for` key and a regexp as a
string value, for example "1\\.0\\..*" which should
match versions like "1.0.0", "1.0.1", "1.0.2", etc.

Closes oracle#62
sdeleuze added a commit to sdeleuze/graalvm-reachability-metadata that referenced this issue Apr 28, 2023
This new index.json attribute is design to allow more
flexible version matching to avoid breakage due to
switch on latest version for untested ones.

It should have a `default-for` key and a regexp as a
string value, for example "1\\.0\\..*" which should
match versions like 1.0.0, 1.0.1, 1.0.2, etc.

Closes oracle#62
sdeleuze added a commit to sdeleuze/graalvm-reachability-metadata that referenced this issue Apr 28, 2023
This new index.json attribute is designed to allow more
flexible version matching to avoid breakage due to
switching on the latest version for untested ones.

It should have a `default-for` key and a regexp as a
string value, for example "1\\.0\\..*" which should
match versions like 1.0.0, 1.0.1, 1.0.2, etc.

Closes oracle#62
sdeleuze added a commit to sdeleuze/native-build-tools that referenced this issue Apr 28, 2023
This new index.json attribute is design to allow more
flexible version matching to avoid breakage due to
switch on latest version for untested ones.

It should have a `default-for` key and a regexp as a
string value, for example "1\\.0\\..*" which should
match versions like "1.0.0", "1.0.1", "1.0.2", etc.

See oracle/graalvm-reachability-metadata#62
See oracle/graalvm-reachability-metadata#275
@sdeleuze
Copy link
Collaborator Author

Related NBT PR is graalvm/native-build-tools#432.

dnestoro pushed a commit that referenced this issue May 3, 2023
This new index.json attribute is designed to allow more
flexible version matching to avoid breakage due to
switching on the latest version for untested ones.

It should have a `default-for` key and a regexp as a
string value, for example "1\\.0\\..*" which should
match versions like 1.0.0, 1.0.1, 1.0.2, etc.

Closes #62
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant