Hi Ryan, Do you mean you are using resources repository (define in etc/org.apache.karaf.features.cfg) ?
A features repository can also contains capability and requirements. To be able to find the req/cap, the resolver needs to know the cap/req. If they are splitted in different repositories, then you have first to "load" the repositories to be visible by the resolver. Else the resolver won't know "where" the cap is provided. Cave can help in two ways: 1. the features gateway is able to gather several features repositories in a meta-global-one. 2. Cave can serve as resources repositories backend Can you share your test case in order for me to take a look ? Regards JB On 19/06/2019 23:18, Ryan Moquin wrote: > Hi JB, > > I decided to try the req/cap again. The reason it didn't work for me > before apparently is because a capability satisfying a requirement isn't > detected by the resolver if they are in different feature repositories > (which is the same as a feature XML I believe). I tried to reference a > feature as a dependency in a different repository but it wouldn't work > unless I had it in the same repository. > > I'm not sure if that's by design or if something like Cave would be > needed for that scenario. Otherwise I need to rethink how I handle the > requirement and capabilities. I am trying to keep separate feature > repositories because if I aggregate, then it takes longer to create the > updated aggregate feature xml. > > Ryan > > On Sat, Jun 15, 2019, 12:01 PM Jean-Baptiste Onofré <[email protected] > <mailto:[email protected]>> wrote: > > Hi Ryan, > > I will provide a more complete answer (I don't have time right now), but > you can take a look on the way we use cap/req in Pax Web (for the HTTP > provider capability). > > Basically, the cap/req are global in the feature resolver, considering > the req/cap at feature level, but also at bundle level. > > Regards > JB > > On 15/06/2019 16:28, Ryan Moquin wrote: > > I apologize if this is a stupid question. I've been trying to > understand > > how to leverage capabilities and requirements in a way to allow > defining > > the provisioning of a system by specifying requirements in a feature. > > > > I've read through the posts on the mailing list about it, the docs and > > the karaf features.xml but haven't found the information I am looking > > for. I also tried some experiments with a bundle providing a > capability > > and a feature requiring it but it didn't seem to work. I am wondering > > if I am just over thinking or over complicating it in my head. > Here are > > the questions: > > > > 1. When a feature specifies a requirement, what is the "scope" of > > resolution used by the feature resolver? Meaning, does it only pick > > from features specified within that feature with dependency=true > > specified? Or from any feature defined in the features.xml and any > > feature repository defined that provides a satisfying capability? > > > > 2. Can you specify a requirement in a feature for a requirement > > provided by a bundle? > > > > 3. If a bundle or feature provides a capability, but you don't > specify > > you require it. Does it always get considered for installation if > it's > > in a feature that doesn't have dependency=true? > > > > Part of this is because I still can't understand when to use > > dependency=true for a feature. I am primarily talking about custom > > capabilities and requirements I make up myself for a system to pull > > things in. > > > > Not sure if the above questions fully make sense, having a hard time > > articulating exactly what I am trying to figure out. > > > > Thanks for any help! > > > > Ryan > > -- > Jean-Baptiste Onofré > [email protected] <mailto:[email protected]> > http://blog.nanthrax.net > Talend - http://www.talend.com > -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
