Re: pax exam: Problem with unwanted import when using TinyBundles with a custom BuildStrategy

2017-10-20 Thread Christian Schneider
Hi Christoph,

2017-10-20 14:11 GMT+02:00 'Christoph Läubrich' via OPS4J <
ops4j@googlegroups.com>:

> We might circumvent the problem in the future since I'm working on a
> feature that allows the seperation of Test-Class + Configure Method, this
> ill then also break the runtime dependencies between classes in the
> configure method and the test it self.
>

That sounds very good. I think that will also avoid some other cases where
I had problems.

>
> A similar problem arises if you use the pax-cm module, even though it is
> not required for the run of the test you have to include it because of the
> usage in the configure method.


I have not yet encountered this problem.  When I used the cm module I did
not have to install it at runtime.

Christian

-- 
-- 
Christian Schneider
http://www.liquid-reality.de


Computer Scientist
http://www.adobe.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.


Re: pax exam: Problem with unwanted import when using TinyBundles with a custom BuildStrategy

2017-10-20 Thread 'Christoph Läubrich' via OPS4J
I think this is okay, even though in most cases if someone uses 
tinybundles there will be a point where it is required to include 
tinybundles as a bundle in the test.


We migth circumvent the problem in the future since I'm working on a 
feature that allows the seperation of Test-Class + Configure Method, 
this ill then also break the runtime dependencies between classes in the 
configure method and the test it self.


A similar problem arises if you use the pax-cm module, even though it is 
not required for the run of the test you have to include it because of 
the usage in the configure method.


Am 19.10.2017 um 07:20 schrieb Christian Schneider:

Hi Christoph,

I now experimented a bit more with the problem of 
.ClassNotFoundException: org.ops4j.pax.tinybundles.core.BuildStrategy.

It seems the problem occurs when I use:
InputStream inp = bundle().add(DsService.class).build(withBnd());

It seems the problem is that build(strategey) has a reference to 
BuildStrategy. So if we had .buildWithBnd() there would be no problem.
Does it make sense to add this? (Even if I know it pollutes the nice 
abstraction a bit).


Another possible solution would be to switch the default builder to bnd 
.. but this would create compatibility problems.


Christian

2017-10-05 9:58 GMT+02:00 'Christoph Läubrich' via OPS4J 
>:


> I only use this in the @Configuration so my test should not require
> TinyBundles at runtime.

Even though you does not require the code to run in @Configure you
still have an (class-import) dependecy to that code.

Is it a real problem to include tiny-bundles in your test?
If yes you have to put your code into a Utilmethod in a seperate
class (e.g. with static method returning just the Inputstream) and
reference that class with FQN.

Besides that, isn't there already a "withBND()" Option?




Am 05.10.2017 um 09:14 schrieb Christian Schneider:

I am trying to tune TinyBundles to create DS xml for standard DS
annotations.
To achieve this I created my own BuildStrategy that adds the bnd
plugin for DS.

I only use this in the @Configuration so my test should not
require TinyBundles at runtime.
Still I get a ClassNotFoundException when I run the test (see
below).

So my question is how can I use TinyBundles and a BuildStrategy
in pax exam without creating a runtime dependency to TinyBundles?

Christian

java.lang.ClassNotFoundException:
org.ops4j.pax.tinybundles.core.BuildStrategy not found by
PAXEXAM-PROBE-800674a4-e6a6-456d-9eb4-0d184e5abb1e [18]
at

org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)
at

org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at

org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at

org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:94)
at

org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73)
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)


-- 
-- 
Christian Schneider

http://www.liquid-reality.de

>

Computer Scientist
http://www.adobe.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

Re: pax exam: Problem with unwanted import when using TinyBundles with a custom BuildStrategy

2017-10-18 Thread Christian Schneider
Hi Christoph,

I now experimented a bit more with the problem of .ClassNotFoundException:
org.ops4j.pax.tinybundles.core.BuildStrategy.
It seems the problem occurs when I use:
InputStream inp = bundle().add(DsService.class).build(withBnd());

It seems the problem is that build(strategey) has a reference to
BuildStrategy. So if we had .buildWithBnd() there would be no problem.
Does it make sense to add this? (Even if I know it pollutes the nice
abstraction a bit).

Another possible solution would be to switch the default builder to bnd ..
but this would create compatibility problems.

Christian

2017-10-05 9:58 GMT+02:00 'Christoph Läubrich' via OPS4J <
ops4j@googlegroups.com>:

> > I only use this in the @Configuration so my test should not require
> > TinyBundles at runtime.
>
> Even though you does not require the code to run in @Configure you still
> have an (class-import) dependecy to that code.
>
> Is it a real problem to include tiny-bundles in your test?
> If yes you have to put your code into a Utilmethod in a seperate class
> (e.g. with static method returning just the Inputstream) and reference that
> class with FQN.
>
> Besides that, isn't there already a "withBND()" Option?
>
>
>
>
> Am 05.10.2017 um 09:14 schrieb Christian Schneider:
>
>> I am trying to tune TinyBundles to create DS xml for standard DS
>> annotations.
>> To achieve this I created my own BuildStrategy that adds the bnd plugin
>> for DS.
>>
>> I only use this in the @Configuration so my test should not require
>> TinyBundles at runtime.
>> Still I get a ClassNotFoundException when I run the test (see below).
>>
>> So my question is how can I use TinyBundles and a BuildStrategy in pax
>> exam without creating a runtime dependency to TinyBundles?
>>
>> Christian
>>
>> java.lang.ClassNotFoundException: 
>> org.ops4j.pax.tinybundles.core.BuildStrategy
>> not found by PAXEXAM-PROBE-800674a4-e6a6-456d-9eb4-0d184e5abb1e [18]
>> at org.apache.felix.framework.BundleWiringImpl.findClassOrResou
>> rceByDelegation(BundleWiringImpl.java:1574)
>> at org.apache.felix.framework.BundleWiringImpl.access$400(Bundl
>> eWiringImpl.java:79)
>> at org.apache.felix.framework.BundleWiringImpl$BundleClassLoade
>> r.loadClass(BundleWiringImpl.java:2018)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> at java.lang.Class.getDeclaredMethods0(Native Method)
>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>> at java.lang.Class.privateGetPublicMethods(Class.java:2902)
>> at java.lang.Class.getMethods(Class.java:1615)
>> at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.
>> findAndInvoke(JUnitProbeInvoker.java:94)
>> at org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.
>> call(JUnitProbeInvoker.java:73)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>>
>>
>> --
>> --
>> Christian Schneider
>> http://www.liquid-reality.de > dir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46=http%3a%2f%
>> 2fwww.liquid-reality.de>
>>
>> Computer Scientist
>> http://www.adobe.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 > ops4j+unsubscr...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> --
> --
> 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.
>



-- 
-- 
Christian Schneider
http://www.liquid-reality.de


Computer Scientist
http://www.adobe.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.


Re: pax exam: Problem with unwanted import when using TinyBundles with a custom BuildStrategy

2017-10-05 Thread Christian Schneider
I created an issue for this:
https://ops4j1.jira.com/browse/PAXTB-28

Christian

2017-10-05 10:09 GMT+02:00 'Christoph Läubrich' via OPS4J <
ops4j@googlegroups.com>:

> That sounds good, the best would be to add a JIRA just now for this :-)
>
> Am 05.10.2017 um 10:07 schrieb Christian Schneider:
>
>> The static method in a separate class sounds good .. I will try this.
>>
>> There indeed is a withBnd method but it just calls plain bnd without the
>> DSAnnotations bnd plugin.
>>
>> If I succeed then I think we should add this functionality to
>> TinyBundles. I think it would also be great for users to be able to add bnd
>> plugins when using withBnd. This would allow to enhance the functionality
>> without adding too much to TinyBundles.
>>
>> Christian
>>
>> 2017-10-05 9:58 GMT+02:00 'Christoph Läubrich' via OPS4J <
>> ops4j@googlegroups.com >:
>>
>>
>> > I only use this in the @Configuration so my test should not require
>> > TinyBundles at runtime.
>>
>> Even though you does not require the code to run in @Configure you
>> still have an (class-import) dependecy to that code.
>>
>> Is it a real problem to include tiny-bundles in your test?
>> If yes you have to put your code into a Utilmethod in a seperate
>> class (e.g. with static method returning just the Inputstream) and
>> reference that class with FQN.
>>
>> Besides that, isn't there already a "withBND()" Option?
>>
>>
>>
>>
>> Am 05.10.2017 um 09:14 schrieb Christian Schneider:
>>
>> I am trying to tune TinyBundles to create DS xml for standard DS
>> annotations.
>> To achieve this I created my own BuildStrategy that adds the bnd
>> plugin for DS.
>>
>> I only use this in the @Configuration so my test should not
>> require TinyBundles at runtime.
>> Still I get a ClassNotFoundException when I run the test (see
>> below).
>>
>> So my question is how can I use TinyBundles and a BuildStrategy
>> in pax exam without creating a runtime dependency to TinyBundles?
>>
>> Christian
>>
>> java.lang.ClassNotFoundException:
>> org.ops4j.pax.tinybundles.core.BuildStrategy not found by
>> PAXEXAM-PROBE-800674a4-e6a6-456d-9eb4-0d184e5abb1e [18]
>> at
>> org.apache.felix.framework.BundleWiringImpl.findClassOrResou
>> rceByDelegation(BundleWiringImpl.java:1574)
>> at
>> org.apache.felix.framework.BundleWiringImpl.access$400(Bundl
>> eWiringImpl.java:79)
>> at
>> org.apache.felix.framework.BundleWiringImpl$BundleClassLoade
>> r.loadClass(BundleWiringImpl.java:2018)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> at java.lang.Class.getDeclaredMethods0(Native Method)
>> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
>> at java.lang.Class.privateGetPublicMethods(Class.java:2902)
>> at java.lang.Class.getMethods(Class.java:1615)
>> at
>> org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.
>> findAndInvoke(JUnitProbeInvoker.java:94)
>> at
>> org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.
>> call(JUnitProbeInvoker.java:73)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>>
>>
>> -- -- Christian Schneider
>> http://www.liquid-reality.de
>> > 2bd062c5a7e46=http%3a%2f%2fwww.liquid-reality.de
>> > 2bd062c5a7e46=http%3a%2f%2fwww.liquid-reality.de>>
>>
>> Computer Scientist
>> http://www.adobe.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
>> .
>>
>>
>> -- -- --
>> OPS4J - http://www.ops4j.org - ops4j@googlegroups.com
>> 
>>
>> --- You received this message because you are subscribed to the
>> Google 

Re: pax exam: Problem with unwanted import when using TinyBundles with a custom BuildStrategy

2017-10-05 Thread 'Christoph Läubrich' via OPS4J

> I only use this in the @Configuration so my test should not require
> TinyBundles at runtime.

Even though you does not require the code to run in @Configure you still 
have an (class-import) dependecy to that code.


Is it a real problem to include tiny-bundles in your test?
If yes you have to put your code into a Utilmethod in a seperate class 
(e.g. with static method returning just the Inputstream) and reference 
that class with FQN.


Besides that, isn't there already a "withBND()" Option?



Am 05.10.2017 um 09:14 schrieb Christian Schneider:
I am trying to tune TinyBundles to create DS xml for standard DS 
annotations.
To achieve this I created my own BuildStrategy that adds the bnd plugin 
for DS.


I only use this in the @Configuration so my test should not require 
TinyBundles at runtime.

Still I get a ClassNotFoundException when I run the test (see below).

So my question is how can I use TinyBundles and a BuildStrategy in pax 
exam without creating a runtime dependency to TinyBundles?


Christian

java.lang.ClassNotFoundException: 
org.ops4j.pax.tinybundles.core.BuildStrategy not found by 
PAXEXAM-PROBE-800674a4-e6a6-456d-9eb4-0d184e5abb1e [18]
at 
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)
at 
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)
at 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:94)
at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73)

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)


--
--
Christian Schneider
http://www.liquid-reality.de 



Computer Scientist
http://www.adobe.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.


--
--
--
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.