Agree with you but as this feature is not documented, it is not obvious for
our users that bundle dependency=true means that obr feature must be
deployed previously on Karaf (which is not the case).


On Sun, Sep 29, 2013 at 7:55 AM, Jean-Baptiste Onofré <[email protected]>wrote:

> The purpose is dependency is to be used by OBR resolver (else it doesn't
> make sense).
>
> Regards
> JB
>
>
> On 09/28/2013 10:23 AM, Charles Moulliard wrote:
>
>> I will debug with an example but until now the <bundle
>> dependency="true"> option of feature is only use when OBR is installed
>> on Karaf. As obr is not deployed by default, this option is never used
>>
>> See ObrResolver Class line 105-110
>>
>>          for (Resource res : ress) {
>>              if (!infos.get(res).isDependency(**)) {
>>                  resolver.add(res);
>>              }
>>          }
>>
>> of method (line 76)
>>
>>      public List<BundleInfo> resolve(Feature feature) throws Exception {
>>
>> Regards,
>>
>> Charles
>>
>>
>>
>>
>> On Fri, Sep 27, 2013 at 5:23 PM, Charles Moulliard <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     When we install a feature (method installFeatures of
>>     FeaturesServiceImpl, we collect BundleInfo and check the state of
>>     the bundle but the code does not check isDependency ....) ?
>>
>>
>>     On Fri, Sep 27, 2013 at 5:18 PM, Jean-Baptiste Onofré
>>     <[email protected] <mailto:[email protected]>> wrote:
>>
>>         It's in the feature core during resolution.
>>
>>         Regards
>>         JB
>>
>>
>>         On 09/27/2013 05:15 PM, Charles Moulliard wrote:
>>
>>             Hi,
>>
>>             When I read the code of karaf feature, I see that the field
>>             isDependency
>>             of BundleInfoImpl is only use by class CreateKarMojo
>>
>>                   /**
>>                    * Read and load the bundles and configuration files
>>             contained in
>>             the features file.
>>
>>                   private List<Artifact> readResources() throws
>>             MojoExecutionException {
>>                       List<Artifact> resources = new
>> ArrayList<Artifact>();
>>                       try {
>>                           RepositoryImpl featuresRepo = new
>>             RepositoryImpl(featuresFile.__**toURI());
>>
>>                           Feature[] features = featuresRepo.getFeatures();
>>                           for (Feature feature : features) {
>>                               for (BundleInfo bundle :
>>             feature.getBundles()) {
>>                                   if (ignoreDependencyFlag ||
>>             (!ignoreDependencyFlag
>>             && !bundle.isDependency())) {
>>
>>             Question: Do we use this attribute/field for something else
>>             ? If yes,
>>             which class/method ?
>>
>>             Regards
>>
>>             --
>>             Charles Moulliard
>>             Apache Committer / Architect @RedHat
>>             Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
>>         --
>>         Jean-Baptiste Onofré
>>         [email protected] <mailto:[email protected]>
>>
>>         http://blog.nanthrax.net
>>         Talend - http://www.talend.com
>>
>>
>>
>>
>>     --
>>     Charles Moulliard
>>     Apache Committer / Architect @RedHat
>>     Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
>>
>>
>> --
>> Charles Moulliard
>> Apache Committer / Architect @RedHat
>> Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 
Charles Moulliard
Apache Committer / Architect @RedHat
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com

Reply via email to