[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Publisher question, feature requirements

IMHO we should be reworking features to be more in line with the usecases and the way things work now. 

However, we have to keep in mind that features are used in a number of different places and, as Pascal points out, have more subtle semantics and purposes.  For example, in PDE build the difference between include and require drives PDE to only build things that are included as it is assumed that someone else will deal with the requires. This is a friend of Pascal's point about externally visible requirements and internal implementation detail includes.

In any event, I agree that features should be reviewed (pretty sure there is at least one bug open about that) but caution folks inclined to do wholesale changes based on one particular view of their use/purpose.

Jeff

On 2010-04-14, at 9:59 AM, Thomas Hallgren wrote:

> On 04/14/2010 03:18 PM, Pascal Rapicault wrote:
>> So is there a bug in the metadata generator for features? No, the behaviour is by design. Can it be changed? no this would break backward compatibility. Can it be improved in some ways in the future, yes.
>> 
>>   
> OK, fair enough. I just want to make sure that we interpret this the same way in Bucky and b3.
> 
> I think the authoring story using the feature as the vehicle for publishing needs some love. From a provisioning perspective it has no meaning if one use inclusion or requirements but at present the author must consider that:
> 
> - when a plug-in or feature is included, it is possible to specify a filter. The version is however strict.
> - when a plug-in or feature is required, filters are not an option. But the version can be a range.
> 
> This is too limiting and it can also be hard to comprehend. At least for newcomers that don't know the history behind the current design. Are there any improvements planned for this?
> 
> - thomas
> 
> 
> 
>> HTH
>> 
>> On 2010-04-14, at 4:51 AM, Thomas Hallgren wrote:
>> 
>>   
>>> Hi,
>>> There are two ways of adding a feature reference in a feature. It can be either 'included' or 'required'. My interpretation has always been:
>>> 
>>> 'included' features will be installed when the parent feature is installed.
>>> 'required' features serves as a prerequisite. They will not get installed. Instead, an error will be generated if they are not present.
>>> 
>>> Is that a correct interpretation?
>>> 
>>> If it is, then shouldn't this be reflected by the 'greedy' status of the IRequirement? From the wiki:
>>> 
>>> "When a requirement is marked greedy (greediness flag on a requirement), installable units satisfying the requirements are added to the solution, whereas IU satisfying non greedy requirements should be added to the solution by another requirement. By default all requirements are greedy."
>>> 
>>> To me, that sounds like a 1-1 correspondance to the 'includes' versus 'requires'.
>>> 
>>> The reason I ask is that I cannot find any indication that this is considered in the publisher FeaturesAction. I'm not sure that my interpretation is correct so I thought I'd ask here before I file a bug.
>>> 
>>> Thanks,
>>> - thomas
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> p2-dev mailing list
>>> p2-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/p2-dev
>>>     
>> _______________________________________________
>> p2-dev mailing list
>> p2-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/p2-dev
>>   
> 
> _______________________________________________
> p2-dev mailing list
> p2-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/p2-dev