I think the problem might be the maven-bundle-plugin version. I updated
the version to 3.2.0 and it worked for me.
I also change the config to just this:
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven.bundle.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
I think that the old plugin maybe does not fully work with the most
current DS annotations.
Btw. This is what I use most often now to create bundles:
https://github.com/cschneider/Karaf-Tutorial/blob/master/tasklist-ds/pom.xml#L107-L118
I then define the OSGi settings in bnd.bnd files if necessary. Like here
https://github.com/cschneider/Karaf-Tutorial/blob/master/tasklist-ds/model/bnd.bnd
Christian
On 06.04.2017 17:01, Massimo Bono wrote:
Just to be sure, I totally remove the whole "bundle-example" project,
leaving only the "bundle-example-impl" (I also removed the artifact
from my maven repository just to be sure).
Pax exam still gives the same error though. :(
On Thursday, April 6, 2017 at 3:52:28 PM UTC+2, Massimo Bono wrote:
Ehm... that one is totallly my fault. In my first test I separated
interface from module implementation. Since I couldn't test it, I
thought simplifying the project might solve the issue.
As you can see in /microsi-root/pom.xml/ that project is *not used
at all*:
<modules>
<!-- <module>examples/bundle-example</module>-->
<module>examples/bundle-example-impl</module>
<module>examples/itest-bundle-example</module>
</modules>
Clearly, even removing the interface bundle and moving the
BundleExample.java into bundle-example-impl project didn't solve
the issue. :(
Do you have another idea of what I might be missing?
On Thursday, April 6, 2017 at 3:25:36 PM UTC+2, Christian
Schneider wrote:
No .. that looks fine .. I guess I was just blind :-)
I think the the problem is about where the service interface
comes from. The BundleExample interface is present in the
bundle-example bundle as well as in the bundle-example-impl
bundle.
The service is created based on the interface from
bundle-example-impl but the itest depends on the
bundle-example bundle. So I guess they see different interfaces.
Christian
On 06.04.2017 15:00, Massimo Bono wrote:
I thought by installing SCR bundle I was be able to exploit
DS service.
Are you telling me that:
CoreOptions.mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.scr").version("2.0.8"),
is not sufficient to exploit DS?
On Thursday, April 6, 2017 at 2:25:44 PM UTC+2, Christian
Schneider wrote:
In your BundleExample impl you use declarative services
but you do not install the scr bundle in your test
config. So your bundle is installed but the @Component
will not do anything. So TestBundleExayou can not inject
the service because there is no such service published in
the runtime. Christian On 06.04.2017 14:14, Massimo Bono
wrote:
Hello to all!
I'm learning OSGi technology and I discover pax exam 4.
I've tried to follow the guide lines at Getting Started
with OSGi Tests
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/Getting+Started+with+OSGi+Tests>
and
OSGi Containers
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/OSGi+Containers>.
However, it seems I can't start the testing.
The error is the following one:
simpleGreetingImplCheck(com.massimobono.microsi.examples.bundleexample.TestBundleExampleImpl):
gave up waiting for service
com.massimobono.microsi.examples.bundleexample.BundleExample
test(com.massimobono.microsi.examples.bundleexample.TestBundleExampleImpl):
gave up waiting for service
com.massimobono.microsi.examples.bundleexample.BundleExample
It seems that pax exam starts correctly, but fails to
inject bundle-example (a "hello world" bundle I'm testing).
I'm putting all the source code here
<https://github.com/Koldar/pax-exam-test>.
Furthermore, here some additional information:
1. I'm using Java 1.8.0_121;
2. The OSGi implementation chosen is 5.6.2;
3. I'm using maven and I'm using the one available via
m2e Eclipse plugin (m2e version 1.7);
4. Eclipse version is 4.6.0 (Neon);
5. Pax exam version is 4;
If you look at the POM of the test
(itest-bundle-example), you'll notice I've added other
dependencies aside those cite in Osgi Containers
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/OSGi+Containers>.
I've added them because I got other errors before
getting stuck on the "gave up waiting" one.
* *org.ops4j.pax.exam:pax-exam-container-native:4.10.0*:
I've added it because otherwise Pax complained with
"No TestContainer implementation in Classpath";
*
* *org.ops4j.pax.exam:pax-exam-link-assembly:4.10.0*:
I've added it because otherwise Pax complained with
"Problem starting test container";
If you look at the log maven generates (see attachment
maven.log) you'll see that the platform correctly
*resolve and install* my bundle:
14:05:05.895 [main] DEBUG
org.ops4j.pax.url.mvn.internal.Connection - *Resolving
*[mvn:com.massimobono.microsi.examples/bundle-example-impl/0.0.1-SNAPSHOT]
14:05:05.897 [main] DEBUG
shaded.org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider
- Using manager PaxLocalRepositoryManager with priority
0.0 for E:\Users\massi\.m2\repository
14:05:05.919 [main] DEBUG
org.ops4j.pax.url.mvn.internal.AetherBasedResolver -
*Resolved
*(com.massimobono.microsi.examples:bundle-example-impl:jar:0.0.1-SNAPSHOT)
as
E:\Users\massi\.m2\repository\com\massimobono\microsi\examples\bundle-example-impl\0.0.1-SNAPSHOT\bundle-example-impl-0.0.1-SNAPSHOT.jar
14:05:05.922 [main] DEBUG
org.ops4j.pax.exam.nat.internal.NativeTestContainer - +
*Install *(start@3)
MavenArtifactUrlReference{groupId='com.massimobono.microsi.examples',
artifactId='bundle-example-impl',
version='0.0.1-SNAPSHOT', type='null'}
If I comment out the "@Inject" annotation, everything
works, so I think I configured wrongly pax exam.
Waiting for any kind reply!
-- -- ------------------ OPS4J - http://www.ops4j.org -
op...@googlegroups.com --- You received this message
because you are subscribed to the Google Groups "OPS4J"
group. To unsubscribe from this group and stop receiving
emails from it, send an email to
ops4j+un...@googlegroups.com. For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
-- -- ------------------ OPS4J - http://www.ops4j.org -
op...@googlegroups.com --- You received this message because
you are subscribed to the Google Groups "OPS4J" group. To
unsubscribe from this group and stop receiving emails from
it, send an email to ops4j+un...@googlegroups.com. For more
options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
-- -- ------------------ OPS4J - http://www.ops4j.org -
ops4j@googlegroups.com --- You received this message because you are
subscribed to the Google Groups "OPS4J" group. To unsubscribe from
this group and stop receiving emails from it, send an email to
ops4j+unsubscr...@googlegroups.com
<mailto:ops4j+unsubscr...@googlegroups.com>. For more options, visit
https://groups.google.com/d/optout.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
--
--
------------------
OPS4J - http://www.ops4j.org - ops4j@googlegroups.com
---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to ops4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.