Hi,

another possibility for non-osgi bundles is to use the wrap syntax.
For example wrap(mavenBundle("groupID", "artifactID").version("version")

regards, Achim


2015-02-12 16:03 GMT+01:00 Helm, Phil <[email protected]>:

>  Thanks for the help so far Christian. I can only read so many
> books/blogs/docs before I just need to get my hands dirty – getting direct
> feedback is nice.
>
>
>
> I changed to the most current version of pax.
>
>
>
> I agree about specifying bundle file names – my problem is that not every
> dependency is an actual osgi bundle (for example, the json jar does not
> export a package). I have made the changes to mavenBundle as you suggested,
> but leaving the json jar as is (I just modified it locally to add
> Export-Package to the manifest).
>
>
>
> I also added the depends plugin, thanks for that guidance. I wasn’t sure
> about the versioning as it seemed to be in multiple places.
>
>
>
> Anyway, (hope I am not going backwards) I am now getting a strange error
> that I hope is just a simple setup thing based on my changes:
>
>
>
> ERROR: Bundle org.ops4j.pax.exam [1] Error starting
> link:classpath:META-INF/links/org.ops4j.pax.exam.link
> (java.lang.IncompatibleClassChangeError: Class
> org.apache.felix.framework.wiring.BundleRequirementImpl does not implement
> the requested interface org
>
> .osgi.resource.Requirement)
>
> java.lang.IncompatibleClassChangeError: Class
> org.apache.felix.framework.wiring.BundleRequirementImpl does not implement
> the requested interface org.osgi.resource.Requirement
>
>         at
> org.apache.felix.framework.StatefulResolver.findProvidersInternal(StatefulResolver.java:190)
>
>         at
> org.apache.felix.framework.ResolveContextImpl.findProviders(ResolveContextImpl.java:83)
>
>         at
> org.apache.felix.framework.resolver.Candidates.populateRevision(Candidates.java:269)
>
>         at
> org.apache.felix.framework.resolver.Candidates.populate(Candidates.java:155)
>
>         at
> org.apache.felix.framework.resolver.ResolverImpl.resolve(ResolverImpl.java:91)
>
>         at
> org.apache.felix.framework.StatefulResolver.resolve(StatefulResolver.java:412)
>
>         at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4088)
>
>         at org.apache.felix.framework.Felix.startBundle(Felix.java:2114)
>
>         at
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1368)
>
>         at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>
>         at java.lang.Thread.run(Thread.java:745)
>
>
>
> I updated the repository: https://github.com/dendron8/paxosgi
>
>
>
> *Phil Helm** | **Principal Software Engineer** | Global Employee Benefits*
>
> 5411 Page Road, 4th Floor, C4145 | Durham, NC 27703
>
> Office: 919.907.4118 | E-mail: [email protected]
>
>
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Christian Schneider
> *Sent:* Thursday, February 12, 2015 9:00 AM
>
> *To:* OSGi Developer Mail List
> *Subject:* Re: [osgi-dev] Integration Testing framework recommendation
>
>
>
> Not sure about the RMI problems but I see you specify the bundles with a
> file name. This is very fragile and for example I can not run your test as
> the files are not present on my machine.
> Try to use mavenBundle and the maven coordinates. You should also use the
> maven-depends-plugin. It creates a file in target that pax exam uses for
> .versionAsInProject(). This means you only
> need to specify the versions in the pom file.
>
> You also should consider using the newest pax exam:
> https://ops4j1.jira.com/wiki/display/PAXEXAM4/OSGi+Containers
> The pax exam version 2.5 you use is quite ancient.
>
> This is a snippet for the depends plugin:
>             <plugin>
>                 <groupId>org.apache.servicemix.tooling</groupId>
>                 <artifactId>depends-maven-plugin</artifactId>
>                 <version>1.2</version>
>                 <executions>
>                     <execution>
>                         <id>generate-depends-file</id>
>                         <goals>
>                             <goal>generate-depends-file</goal>
>                         </goals>
>                     </execution>
>                 </executions>
>             </plugin>
>
> Christian
>
> n 12.02.2015 14:43, Helm, Phil wrote:
>
> Thanks for the response Christian. I separated the service code and the
> test code into two separate bundles, as well as added the ds as a
> dependency in the service project and loaded the ds bundle in the test
> project. Updated code (as well as the maven output – debug.out) is here:
> https://github.com/dendron8/paxosgi
>
>
>
> How can I verify that the service bundle is installed? I know how to do it
> in a standalone Felix environment, but I am not sure about this pax-embeded
> one.
>
>
>
> After making these changes I am getting the same error. I turned on maven
> debug (-X) in hopes I would see more meaningful messages from the Felix
> runtime, but the only Felix message I see is this
>
>
>
> [FelixStartLevel] INFO org.ops4j.pax.exam.rbc.internal.Activator - Name,
> port or host is null. So this RBC remains inactive.
>
>
>
> Previously I was getting an RMI timeout and I had to edit my hosts file to
> map local host (127.0.0.1) to my machine name to bypass the error.
>
>
>
> *Phil Helm** | Principal Software Engineer | Global Employee Benefits*
>
> 5411 Page Road, 4th Floor, C4145 | Durham, NC 27703
>
> Office: 919.907.4118 |E-mail: [email protected]
>
>
>
> *From:* [email protected] [
> mailto:[email protected] <[email protected]>] *On
> Behalf Of *Christian Schneider
> *Sent:* Wednesday, February 11, 2015 3:28 PM
> *To:* OSGi Developer Mail List
> *Subject:* Re: [osgi-dev] Integration Testing framework recommendation
>
>
>
> Looks like the code you want to test is inside the same project as the pax
> exam test. This will not work.
>
> Move the test to a separate project and mae sure you also install the
> bundle that contains the service.
> As your service seems to use declarative services you will also need a ds
> runtime in the pax test setup.
>
> Christian
>
>
> On 11.02.2015 20:24, Helm, Phil wrote:
>
> Thanks Toni.
>
>
>
> Sample code here: https://github.com/dendron8/paxosgi
>
>
>
> *Phil Helm** | Principal Software Engineer | Global Employee Benefits*
>
> 5411 Page Road, 4th Floor, C4145 | Durham, NC 27703
>
> Office: 919.907.4118 |E-mail: [email protected]
>
>
>
>
>
>
>  --
>
> Christian Schneider
>
> http://www.liquid-reality.de
>
>
>
> Open Source Architect
>
> http://www.talend.com
>
> The information contained in this message may be CONFIDENTIAL and is for
> the intended addressee only.  Any unauthorized use, dissemination of the
> information, or copying of this message is prohibited.  If you are not the
> intended addressee, please notify the sender immediately and delete this
> message.
>
>
>  _______________________________________________
>
> OSGi Developer Mail List
>
> [email protected]
>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
>
>  --
>
> Christian Schneider
>
> http://www.liquid-reality.de
>
>
>
> Open Source Architect
>
> http://www.talend.com
>
>  The information contained in this message may be CONFIDENTIAL and is for
> the intended addressee only.  Any unauthorized use, dissemination of the
> information, or copying of this message is prohibited.  If you are not the
> intended addressee, please notify the sender immediately and delete this
> message.
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to