Good mornign! It's me again!

I tried not to question anything more, I thought your advise would helped me 
but I changed ALL junit dependencies version from 3.8.1 to 4.8.1 in the entire 
ipojo project and all its subprojects (including junit4osgi, handler extender, 
felix-command, swing-gui, and the rest of them)   the only places where I found 
junit version where in all pom.xml files, so that is what I did. 

After that there was the same missing packages problem 
"org.osgi.framework.BundleException: Unresolved constraint in bundle 
org.apache.felix.ipojo.junit4osgi [463]: package; 
(package=org.junit.internal)".  Weird since as clement said:
"junit4osgi embeds junit. So, you can't use a different version. But you can 
easily modify the junit4osgi bundle to expose the missing package / update the 
junit dependency"
I understood that my junit jar (id 408) is not the one that is providing junit 
packages,  this is junit4osgi's labour.  So I looked inside the manifest of 
junit4osgi and I am not sure why it is not exporting those packages missing 
packages (likeorg.junit.internal) : legible MANIFEST:

                                Manifest-Version:1.0
                                Export-Package:
                                        
org.apache.felix.ipojo.junit4osgi.helpers;uses:=
                                                        
"org.apache.felix.ipojo.junit4osgi,
                                                        
org.apache.felix.ipojo.architecture,
                                                        org.apache.felix.ipojo,
                                                        org.osgi.framework,
                                                        org.osgi.service.cm,
                                                        
org.apache.felix.ipojo.metadata,
                                                        
org.apache.felix.ipojo.parser",
                                        junit.framework;uses:=
                                                        
"org.junit.runner.manipulation,
                                                        org.junit.runner,
                                                        
org.junit.runner.notification,
                                                        org.junit",
                                        org.apache.felix.ipojo.junit4osgi;uses:=
                                                        "junit.framework,
                                                        org.osgi.framework,
                                                        
org.osgi.service.packageadmin",
                                        junit.runner;uses:=
                                                "junit.framework",
                                                
junit.textui;uses:="junit.framework,
                                                junit.runner",
                                        junit.extensions;uses:=
                                                "junit.framework"
                                iPOJO-Components:
                                        component{
                                                
$classname="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender_1"
                                                
org.apache.felix.ipojo.extender:extender{
                                                        $extension="Test-Suite"
                                                        
$onarrival="onBundleArrival"
                                                        
$ondeparture="onBundleDeparture"
                                                }
                                                callback{
                                                        $transition="invalidate"
                                                        $method="stopping"
                                                }
                                                callback{
                                                        $transition="validate"
                                                        $method="starting"
                                                }
                                                provides{}
                                                manipulation{
                                                        
$super="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender"
                                                        field{$name="m_suites" 
$type="java.util.Map"}
                                                        field{$name="m_printer" 
$type="junit.textui.ResultPrinter"}
                                                        
field{$name="m_log"$type="org.osgi.service.log.LogService"}
                                                        method{$name="$init"}
                                                        
method{$arguments="{junit.framework.Test}"$name="doRun"$return="junit.framework.TestResult"}
                                                }
                                                
requires{$field="m_log"$default-implementation="org.apache.felix.ipojo.junit4osgi.impl.LogServiceImpl"$optional="true"}
                                        }
                                        
instance{$component="org.apache.felix.ipojo.junit4osgi.impl.JunitExtender_1"}
                                Private-Package:
                                        org.apache.felix.ipojo.junit4osgi.impl,
                                        org.apache.felix.ipojo.junit4osgi.test
                                Built-By:annakarinanavasoriano
                                Tool:Bnd-0.0.255
                                Bundle-Name:ApacheFelixiPOJOOSGiJunitRunner
                                Created-By:ApacheMavenBundlePlugin&iPOJO1.4.0
                                Bundle-Vendor:TheApacheSoftwareFoundation
                                Build-Jdk:1.6.0_20
                                Bundle-Version:1.1.0.SNAPSHOT
                                Bnd-LastModified:1284058534606
                                
Bundle-ManifestVersion:2Bundle-License:http://www.apache.org/licenses/LICENSE-2.0.txt
                                
Bundle-Description:ApacheFelixisanOSGiimplementation.
                                Import-Package:
                                        
org.apache.felix.ipojo.junit4osgi.helpers,
                                        org.junit.internal,
                                        junit.runner,
                                        org.apache.felix.ipojo;version=1.6,
                                        org.junit.runner.notification,
                                        javax.xml.parsers,
                                        
org.osgi.service.packageadmin;version=1.1,
                                        org.w3c.dom,
                                        junit.textui,
                                        
org.apache.felix.ipojo.parser;version=1.6,
                                        org.junit,
                                        junit.extensions,
                                        org.junit.runner.manipulation,
                                        org.osgi.service.log;version=1.2,
                                        junit.framework,
                                        org.apache.felix.ipojo.junit4osgi,
                                        
org.apache.felix.ipojo.architecture;version=1.6,
                                        org.junit.runner,
                                        org.osgi.framework;version=1.2,
                                        org.osgi.service.cm;version=1.1,
                                        org.apache.felix.ipojo.metadata
                                
Bundle-SymbolicName:org.apache.felix.ipojo.junit4osgi
                                Bundle-DocURL:http://www.apache.org/

Then I decided to include this missing packages to the junit-4.8.1.jar, I did 
that and that  Unresolved constraint problem disappeared.  But isn't this 
opposed to the previous fact that junit4osgi embed junit? do I need to add this 
missing packages to the junit-4.8.1.jar's MANIFEST? or as it is embedded it 
should act the same than previously when it was not necessary to add anything 
to junit.jar since that wasn't the packages provider (it was junit4osgi)? 

Well, the thing is that even thinking the previous assumptions.  I included to 
the junit-4.8.1.jar the missing packages.  But the same problem with junit 
command.  I mean junit command is not available in felix ("command not found") 
even having everything installed and activated.  Then I did the same inspect: 

[ 408] [Active     ] [    1] 
file:/Applications/NetBeans/sges-v3/glassfish/modules/junit-4.8.1.jar
[ 458] [Active     ] [    1] Apache Felix iPOJO (1.7.0.SNAPSHOT)
[ 459] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner - Swing Gui 
(1.1.0.SNAPSHOT)
[ 462] [Active     ] [    1] Apache Felix iPOJO Extender Pattern Handler 
(1.5.0.SNAPSHOT)
[ 463] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner 
(1.1.0.SNAPSHOT)
[ 464] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner - Felix 
Command (1.1.0.SNAPSHOT)
-> inspect s c 464
Apache Felix iPOJO OSGi Junit Runner - Felix Command (464) provides services:
-----------------------------------------------------------------------------
component.class = org.apache.felix.ipojo.junit4osgi.command.JunitCommand
component.description = <unknown value type>
component.properties = <unknown value type>
component.providedServiceSpecifications = org.apache.felix.shell.Command
factory.name = org.apache.felix.ipojo.junit4osgi.command.JunitCommand
factory.state = 1
objectClass = org.apache.felix.ipojo.Factory, 
org.osgi.service.cm.ManagedServiceFactory
service.id = 44
service.pid = org.apache.felix.ipojo.junit4osgi.command.JunitCommand
-> 


I am not sure but I think that there is a problem trying to have packages from 
junit4osgi and also from junit.  but the problem is that I don't know how to 
"force" the export of all needed packages from the junit4osgi project.   I 
mean, the manifest is created automatically when compiling the maven project 
from the pom.xml and the metadata.xml files.  Mi junit4osgi MANIFEST is the 
entire one above.  So Do you know if in that resulting manifest file are 
missing exports? what could cause that problem? and how can I add those exports?

Thanks again, I just need this working and do not know what else to do.








On Sep 9, 2010, at 8:01 PM, Clement Escoffier wrote:

> 
> On 09.09.2010, at 19:32, Anna Karina Nava Soriano wrote:
> 
>> I know that about annotations, I already solved it in my tests (it is not a 
>> problem anymore), but I need some classes of junit 4.8.   
>> 
>> I can try your advice, I only need to be sure that if I update the junit 
>> dependency it wont break anything from junit4osgi.  Let me check if I caught 
>> the idea... for updating the junit dependency I only need to change  the 
>> junit version in felix command pom.xml:
>>                <dependency>
>>                      <groupId>junit</groupId>
>>                      <artifactId>junit</artifactId>
>>                      <version>3.8.1</version>
>>              </dependency>
>> 
>> I noticed that I already changed that version but in junit4osgi jar.
>> 
>> Then the question is... is there a problem if I change everything to 
>> junit-4.8.1 or what would be the alternative? adapting to 3.8.1? (this last 
>> option will be more difficult for me, trying to find workarounds for missing 
>> classes in junit-3.8.1
>> 
>> Thank you very very much! this is important for me!
> 
> 
> You can safely update to 4.8.1. As this version contains the classes from the 
> 3.8.1.
> 
> Regards,
> 
> Clement
> 
> 
>> 
>> 
>> On Sep 9, 2010, at 7:11 PM, Clement Escoffier wrote:
>> 
>>> Hi,
>>> 
>>> junit4osgi embeds junit. So, you can't use a different version. But you can 
>>> easily modify the junit4osgi bundle to expose the missing package / update 
>>> the junit dependency. However, the launcher does not support annotations, 
>>> so, you must use the junit 3 development model.
>>> 
>>> Regards,
>>> 
>>> Clement
>>> 
>>> 
>>> On 09.09.2010, at 18:01, Anna Karina Nava Soriano wrote:
>>> 
>>>> thanks Richard!!!!
>>>> 
>>>> Now in the junit-4.8.1.jar MANIFEST I included all the missing packages 
>>>> and the result is:
>>>> Manifest-Version: 1.0
>>>> Ant-Version: Apache Ant 1.7.1
>>>> Export-Package: org.junit.runner.notification,org.junit,
>>>> org.junit.runner.manipulation,org.junit.runner
>>>> Created-By: 1.5.0_20-141 (Apple Inc.)
>>>> 
>>>> Now everithing is able to be installed and started:  
>>>> [ 404] [Active     ] [    1] Apache Felix iPOJO Extender Pattern Handler 
>>>> (1.4.0)
>>>> [ 405] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner - Felix 
>>>> Command (1.0.0)
>>>> [ 408] [Active     ] [    1] 
>>>> file:/Applications/NetBeans/sges-v3/glassfish/modules/junit-4.8.1.jar
>>>> [ 409] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner - Swing 
>>>> Gui (1.0.0)
>>>> [ 410] [Active     ] [    1] Apache Felix iPOJO OSGi Junit Runner 
>>>> (1.1.0.SNAPSHOT)
>>>> [ 412] [Active     ] [    1] Apache Felix iPOJO (1.6.4)
>>>> [ 428] [Active     ] [    1] Broker Project Services TESTS (1.3)
>>>> 
>>>> but even having the Felix Command bundle installed and active. I got no 
>>>> junit command :( and previously I was.  In fact if I type help
>>>> -> help
>>>> bundlelevel
>>>> cd
>>>> find
>>>> headers
>>>> help
>>>> inspect
>>>> install
>>>> log
>>>> ps
>>>> refresh
>>>> resolve
>>>> scr
>>>> shutdown
>>>> start
>>>> startlevel
>>>> stop
>>>> sysprop
>>>> uninstall
>>>> update
>>>> version
>>>> 
>>>> see? no junit command :( I haven't changed that bundle at all. I don't 
>>>> know what is happening here.  I tried uninstall everything from 404 and 
>>>> reinstalling it but having the same result.  May be it is there is a 
>>>> problem if some part of the unit test packages are being exported by 
>>>> junit4osgi and other by the junit library?  I don't know how to make 
>>>> junit4osgi treat this packages the same way since its manifest is 
>>>> automatically built when I compile the junit4osgi project
>>>> 
>>>> Thanks for your supor!
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Sep 9, 2010, at 3:34 PM, Richard S. Hall wrote:
>>>> 
>>>>> On 9/9/10 6:28, Anna Karina Nava Soriano wrote:
>>>>>> Hello everyone!
>>>>>> 
>>>>>> Nice tool junit4osgi!
>>>>>> 
>>>>>> I am working with junit4osgi and needed to extend the JunitExtender 
>>>>>> class to run tests in a particular way (the reason is not important).  
>>>>>> MyJunitExtender is the new class and it extends JunitExtender and only 
>>>>>> overrides the run method.  I tested it and this was working fine! 
>>>>>> (obviously I changed metadata.xml to tell the new MyJunitExtender class) 
>>>>>> so far so good.
>>>>>> 
>>>>>> The thing is that I need now org.junit.internal.JUnitSystem.  So in 
>>>>>> MyJunitExtender I added  "import org.junit.internal.JUnitSystem;" then I 
>>>>>> compile the project again, and the import-Package in my new MANIFEST 
>>>>>> looks like this:
>>>>>> ....
>>>>>> Import-Package: org.apache.felix.ipojo.junit4osgi.helpers, org.junit.i
>>>>>> nternal, junit.runner, org.apache.felix.ipojo;version=1.6, org.junit.
>>>>>> runner.notification, javax.xml.parsers, org.osgi.service.packageadmin
>>>>>> ;version=1.1, org.w3c.dom, junit.textui, org.apache.felix.ipojo.parse
>>>>>> r;version=1.6, org.junit, junit.extensions, org.junit.runner.manipula
>>>>>> tion, org.osgi.service.log;version=1.2, junit.framework, org.apache.f
>>>>>> elix.ipojo.junit4osgi, org.apache.felix.ipojo.architecture;version=1.
>>>>>> 6, org.junit.runner, org.osgi.framework;version=1.2, org.osgi.service
>>>>>> .cm;version=1.1, org.apache.felix.ipojo.metadata
>>>>>> ....
>>>>>> 
>>>>>> as you can see, the org.junit.internal is there.  I install this new jar 
>>>>>> in my Felix (see the last line)
>>>>>> ....
>>>>>> [ 320] [Active     ] [    1] 
>>>>>> file:/Applications/NetBeans/sges-v3/glassfish/modules/junit-4.8.1.jar
>>>>>> [ 326] [Active     ] [    1] Apache Felix iPOJO Extender Pattern Handler 
>>>>>> (1.4.0)
>>>>>> [ 327] [Installed  ] [    1] Apache Felix iPOJO OSGi Junit Runner - 
>>>>>> Felix Command (1.0.0)
>>>>>> [ 330] [Installed  ] [    1] Apache Felix iPOJO OSGi Junit Runner - 
>>>>>> Swing Gui (1.0.0)
>>>>>> [ 332] [Active     ] [    1] Apache Felix iPOJO (1.6.4)
>>>>>> [ 339] [Installed  ] [    1] Broker Project Services TESTS (1.3)
>>>>>> [ 354] [Installed  ] [    1] Apache Felix iPOJO OSGi Junit Runner 
>>>>>> (1.1.0.SNAPSHOT)
>>>>>> 
>>>>>> and when I do "start 354"  it keeps saying:
>>>>>> "org.osgi.framework.BundleException: Unresolved constraint in bundle 
>>>>>> org.apache.felix.ipojo.junit4osgi [354]: package; 
>>>>>> (package=org.junit.internal)"
>>>>>> 
>>>>>> I know probably there is some stupid thing that I am missing.  My junit 
>>>>>> file (you can see it with the id "320") has this manifest:
>>>>>> "Manifest-Version: 1.0
>>>>>> Ant-Version: Apache Ant 1.7.1
>>>>>> Created-By: 1.5.0_20-141 (Apple Inc.)"
>>>>> 
>>>>> If that's all it has, then it is not a bundle. It needs to, at least, 
>>>>> export its packages.
>>>>> 
>>>>> -> richard
>>>>> 
>>>>>> So... does somebody knows what am I doing wrong? I am new in the 
>>>>>> junit4osgi world and I always get kind of lost with all dependencies.
>>>>>> 
>>>>>> Thank you so much in advance!
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>>> For additional commands, e-mail: users-h...@felix.apache.org
>>>>>> 
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>> For additional commands, e-mail: users-h...@felix.apache.org
>>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>> For additional commands, e-mail: users-h...@felix.apache.org
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>> For additional commands, e-mail: users-h...@felix.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>> For additional commands, e-mail: users-h...@felix.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to