I also think this is definately not a micro-change! If it is incompatible with client-code then this has to be a major version bump.

Beside this I think embedding things should only be used in very rare cases but instead we should try to use bnds class check to make sure we always use a compatible version then there won't be any problem.

Am 20.10.2017 um 09:25 schrieb Christian Schneider:
I just tried to upgrade pax exam to the current snapshot of the base modules to test a change I plan to do in the exec module.

Some of the tests fail with the exception below. This seems to be because of the introduction of StreamStore in base.store. This happens if a bundle like tinybundles 3.0.0 is compiled against base.store 1.5.0 but is then run with base 1.5.1. I propose to revert this commit and go back to Store<InputStream>.

In general we should also think of ways to make us more independent of such changes in util modules. I have seen an approach in the brave project where they always embed util packages with a changes name to make it unique. I think this is a very good approach to make the code modular by minimising runtime dependencies. Unfortunately their approach does not work with the maven bundle plugin out of the box. See https://github.com/openzipkin/zipkin/blob/master/zipkin/pom.xml#L153-L154

Christian

---
java.lang.NoSuchMethodError: org.ops4j.store.StoreFactory.anonymousStore()Lorg/ops4j/store/Store; at org.ops4j.pax.tinybundles.core.TinyBundles.getDefaultStore(TinyBundles.java:104)
at org.ops4j.pax.tinybundles.core.TinyBundles.bundle(TinyBundles.java:50)
at org.ops4j.pax.exam.forked.ForkedFrameworkFactoryTest.generateBundle(ForkedFrameworkFactoryTest.java:154) at org.ops4j.pax.exam.forked.ForkedFrameworkFactoryTest.forkWithBootClasspath(ForkedFrameworkFactoryTest.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:539) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:761) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:461) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:207)


--
--
Christian Schneider
http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>

Computer Scientist
http://www.adobe.com

--
--
------------------
OPS4J - http://www.ops4j.org - [email protected]

---
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 [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
--
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to