On 21/09/2011, at 7:51 AM, Chuck Hill wrote:

>>>> I'm using the .woa directory as the bundle.
>>> 
>>> The .woa directory inside the source project (dist/Foo.woa)?  Or built 
>>> someplace else?
>> 
>> The former.  The source project gets checked out into a Hudson workspace, 
>> and it builds in dist/WT2.woa.  (Yes, the WO project name differs from the 
>> Hudson project name by one character, which is why the paths I've quoted 
>> just have "WT" in them.  In retrospect this is not ideal, but I don't 
>> _think_ it's causing any problems.)
> 
> So the project is at /whatever/WT/ and built into /whatever/WT/dist/WT2.woa?  
> That might cause confusion.

Yeah, it's just the difference between the Hudson project name and the Ant/WO 
project name.  I can try making them the same if I don't get anywhere.

> Are the frameworks embedded in that bundle?

Yes.

> I am trying to work out how NSBundle is not seeing these.  There are some 
> Funky Things (tm) in Eclipse to detect bundles that don't happen when run 
> from the comment line.

Yeah.  I wish I knew what they were.

>>>> I call junit like this:
>>>> 
>>>>            <junit haltonfailure="false"
>>>>                       fork="true"
>>>>                       dir="${dest.dir}/${project.name}.woa"
>>>>                       printsummary="true"
>>>>                       failureproperty="test.failed">
>>>>                    <classpath refid="testing.classpath" />
>>>>                    <classpath>
>>>>                            <pathelement location="bin" />
>>> 
>>> What is that for?  Those are the compiled classes in the app?
>> 
>> Exactly.  Does that not need to be there?
> 
> I think this might make main bundle identification hard.  Though that does 
> not seem to be the issue.



>  I'd use
>                               <pathelement 
> location="${dest.dir}/${project.name}.woa/Contents/Resources/Java/${project.name}.jar"
>  />
> 
> (or is that ${project.name.lowercase}.jar ?)

That also works, though didn't help finding the Local bundles.

>>> Try adding
>>> <pathconvert property="junit.testing.classpath" refid="testing.classpath"/>
>>> <echo> testing.classpath is  ${testing.classpath} />
>>> 
>>> And see if the result is what you expect.
>> 
>> Did you mean ${junit.testing.classpath}?
> 
> er, yes.  That one.
> 
> 
>> Yes, it's exactly what I would expect: all of the frameworks, including 
>> JavaMemoryAdapter.framework/Resources/Java/JavaMemoryAdaptor.jar.
> 
> Relative or absolute paths?

Sorry, absolute.

>> They're also all on the classpath for the JVM that's launching the JUnit 
>> tests, so that all seems to be working.  
> 
> Well, you are forking the JVM for junit.
> 
>> The only place they're _not_ is wherever they need to be to get NSBundle to 
>> load them.  I remain stumped.
> 
> Try getting the classloader in one of your tests and print out the classpath 
> that it really is using.

It's as expected, including:

/Users/paulh/tmp/WT/workspace/Root/Library/Frameworks/JavaMemoryAdaptor.framework/Resources/Java/JavaMemoryAdaptor.jar


-- 
Paul.

http://logicsquad.net/


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to