Bug 462376 - [target] Allow version range in target definition files
Summary: [target] Allow version range in target definition files
Status: NEW
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.5   Edit
Hardware: All All
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: PDE-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-17 11:01 EDT by Mickael Istria CLA
Modified: 2016-04-27 13:58 EDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mickael Istria CLA 2015-03-17 11:01:59 EDT
It would be useful to support version ranges in .target files.
I believe this has 2 parts:
* One is allowing version ranges in parser and .target file resolver
* The other is about creating some efficient UI.
Comment 1 Curtis Windatt CLA 2015-03-17 12:20:53 EDT
Are you talking about version ranges when selecting IUs for p2 repo locations?
Comment 2 Mickael Istria CLA 2015-03-17 12:23:16 EDT
(In reply to Curtis Windatt from comment #1)
> Are you talking about version ranges when selecting IUs for p2 repo
> locations?

Yes.
Comment 3 David Williams CLA 2015-03-17 13:40:48 EDT
Would probably be helpful to list some concrete examples of where this would be helpful. I bet Orbit, right? :) 

IMHO, the purpose of the .target file is to specify exact versions, to have reproducible builds. So, I hope we don't end up encouraging people to make "loose builds". 

BUT, I believe even now you can specify "4.5.0" (no qualifier) and it's simply taken as "4.5.0" or higher, So, ... I guess .. if someone is doing that, it would improve reproducibility if they specify [4.5.0...4.5.1) or similar.
Comment 4 Mickael Istria CLA 2015-03-18 02:01:05 EDT
(In reply to David Williams from comment #3)
> Would probably be helpful to list some concrete examples of where this would
> be helpful. I bet Orbit, right? :) 
> IMHO, the purpose of the .target file is to specify exact versions, to have
> reproducible builds. So, I hope we don't end up encouraging people to make
> "loose builds". 

I share your appreciation about fully qualified version in .target making build more predictable and more reproducible, and that's what I'd encourage anyone to use.
However, IIRC the reason behing this request (that's not actually mine although I'm reporting it) is that some people find it's too much maintenance for example when moving from a milestone to another and would like to use version ranges, which are a tradeoff between fully qualified version, and a too magic 0.0.0.
Comment 5 Jörg Thönnes CLA 2016-04-27 13:58:58 EDT
This Stack Overflow article refers to an alternative to be used:
* [How to avoid the specific feature versions in eclipse target definitions|http://stackoverflow.com/questions/33646330/how-to-avoid-the-specific-feature-versions-in-eclipse-target-definitions]

There the [Target Platform Definition DSL and Generator|https://github.com/mbarbero/fr.obeo.releng.targetplatform/] is suggested to be used.

Maybe this also provides some ideas to implement it in Eclipse PDE?