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

None singleton bundles support #56

Closed
dgolovin opened this issue May 11, 2015 · 8 comments
Closed

None singleton bundles support #56

dgolovin opened this issue May 11, 2015 · 8 comments
Labels

Comments

@dgolovin
Copy link

Currently none singletons processed as singletons in validation and .target generation. Example is .tpd file referencing three different versions of javax.wsdl from orbit repository. There are at least two problems in none singletons processing:

  1. Validation complains about "Duplicated IU 'javax.wsdl' for location";
  2. Target file generation includes only one "Duplicated IU" with latest version.
@dgolovin dgolovin changed the title Distinguish none singleton bundles None singleton bundles support May 11, 2015
@mbarbero mbarbero added the bug label Oct 30, 2015
@mbarbero mbarbero added this to the 2.2.0 — notorious-angry milestone Oct 30, 2015
@mbarbero mbarbero removed this from the 2.2.0 — notorious-angry milestone Sep 5, 2018
@mduft
Copy link

mduft commented Aug 20, 2019

Hey. I hit this problem today, and we really need this to be able to include 2 guava versions in the target. I work around this right now by manually adding the second version to the .target file right now, but this is not cool :|

@haubi
Copy link
Contributor

haubi commented Mar 20, 2024

Since content like this should be quite common these days: Any updates here?

location "https://download.eclipse.org/releases/2024-03/" {
	jakarta.annotation-api [1.3.5,2.0.0)
	jakarta.annotation-api [2.1.1,3.0.0)
}

The workaround I use right now is to add two maven artifacts:

maven javax.annotation-api scope=compile,test dependencyDepth=none missingManifest=generate includeSources {
	dependency { groupId="jakarta.annotation" artifactId="jakarta.annotation-api" version="1.3.5" }
}
maven jakarta.annotation-api scope=compile,test dependencyDepth=none missingManifest=generate includeSources {
	dependency { groupId="jakarta.annotation" artifactId="jakarta.annotation-api" version="2.1.1" }
}

@merks
Copy link
Contributor

merks commented Mar 20, 2024

There's not much active development so generally the things that actually get done basically get done because whomever wants it does the actual work.

I've tried to make it really easy to set up a development environment to contribute:

https://github.com/eclipse-cbi/targetplatform-dsl/blob/master/CONTRIBUTING.md#setting-up-a-development-environment

I'll review pull requests and answer questions...

@haubi
Copy link
Contributor

haubi commented Mar 20, 2024

It turns out that since #130 the editor validator accepts identical IU names having non-overlapping version ranges, but just one of them actually ends up in the generated .target file it seems.

@merks
Copy link
Contributor

merks commented Mar 20, 2024

@haubi

That seems trickier to fix. I don't know the implementation details very well. Are you continuing to investigate. I'm happy to help where I can. I have quite a bit of experience with p2 and PDE...

@haubi
Copy link
Contributor

haubi commented Mar 20, 2024

Thanks!
And yes, I expect myself to continue here, but with low priority, since there is the maven workaround.

haubi added a commit to haubi/targetplatform-dsl that referenced this issue Mar 20, 2024
Regarding version overrides:
- a specified version range always is fulfilled
- within the same location declaration:
  - first declaration resolves to most recent as declared
  - subsequent unversioned declaration resolves to any former one
- across subsequent location declarations:
  - earlier unversioned declaration is overridden
  - later unversioned declaration resolves to most recent available
@haubi
Copy link
Contributor

haubi commented Mar 20, 2024

Findings for today:
Looking at the testIUOverride* tests, it turns out that it is not too obvious how version overrides should behave when we start to resolve multiple versions.

haubi added a commit to haubi/targetplatform-dsl that referenced this issue Mar 21, 2024
Regarding overrides:
- a specified version range always is resolved
- within the same location declaration:
  - first declaration (with or without version) resolves
  - subsequent unversioned declaration is ignored
- across subsequent location declarations:
  - earlier unversioned declaration is overridden
  - later unversioned declaration resolves to most recent available
Regarding duplicates to be ignored:
  - within same location: has real 'duplicate' semantics
  - across locations: has 'redundant override' semantics
merks pushed a commit to merks/targetplatform-dsl that referenced this issue Mar 26, 2024
Regarding overrides:
- a specified version range always is resolved
- within the same location declaration:
  - first declaration (with or without version) resolves
  - subsequent unversioned declaration is ignored
- across subsequent location declarations:
  - earlier unversioned declaration is overridden
  - later unversioned declaration resolves to most recent available
Regarding duplicates to be ignored:
  - within same location: has real 'duplicate' semantics
  - across locations: has 'redundant override' semantics
merks pushed a commit that referenced this issue Mar 26, 2024
Regarding overrides:
- a specified version range always is resolved
- within the same location declaration:
  - first declaration (with or without version) resolves
  - subsequent unversioned declaration is ignored
- across subsequent location declarations:
  - earlier unversioned declaration is overridden
  - later unversioned declaration resolves to most recent available
Regarding duplicates to be ignored:
  - within same location: has real 'duplicate' semantics
  - across locations: has 'redundant override' semantics
@merks
Copy link
Contributor

merks commented Mar 26, 2024

This is fixed and available in the latest nightly build:

https://download.eclipse.org/cbi/updates/tpd/nightly/latest

@haubi Thanks for your contribution! ❤️ 🥇

@merks merks closed this as completed Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants