On Jun 15, 2009, at 6:28 PM, Chuck Hill wrote:

Ah Grasshopper,

When you can build cleanly with Ant, then you will be ready to leave us.

I hate Ant. I'd probably hate Maven worser.

On Jun 15, 2009, at 3:14 PM, David Avendasora wrote:

Progress. I have two new things:

First, I missed these to lines in the Ant debug:
fileset: Setup scanner in dir /Developer/Hudson/Workspaces/ BakeryManagementD2JavaClient/Trunk/Libraries with patternSet{ includes: [*.jar] excludes: [] } fileset: Setup scanner in dir /Developer/WebObjects/bestmaid/ Library/WebObjects/Extensions with patternSet{ includes: [*.jar] excludes: [] } So, it is scanning files in the project "Libraries" directory, whether they are on the classpath or not!

Maybe. Which task is this for? What does your build.xml say for this task?

build.woapp.

And lookie there:

                        <lib dir="Libraries">
                                <include name="*.jar" />
                        </lib>

I checked, and this little gem is in the build.xml file of all the App and Framework project templates.

I'm guessing there's a reason that it just loads everything in Libraries, but it's counterintuitive when the incremental builder doesn't do that. Not as far as I can tell, anyway.

Is that right? Even if there are files in the Libraries directory, that doesn't automatically put them on the classpath, you still have to add them, so I wouldn't think that Ant should be specifically going out of it's way to find them there.

Reality is that which when you stop believing in it refuses to go away.

:-P

The same should hold true for /Library/WebObjects/Extensions/ if people shouldn't be putting stuff in there, and it seems to cause a lot of confusion, why go and automatically load everything in there?

For compatibility with how the runtime works. Just because people say that you should not be putting things in there, does not mean that other people will listen.

Can we at least make Ant write "You moron! There's stuff in the WebObjects/Extensions directory. Get rid of it." into the console if the directory isn't empty? It would have only mildly hurt my feelings yesterday, but would have saved me a few hours time.

Second, I added an external .jar file to my project, it shows up in the .classpath file in the project, but Ant is _not_ loading that one. Why?

How did you add it?  What does it look like in the .classpath file?

In the Build Path properties window I clicked the "Add External JARs" button and selected it. It is the client-side jar of EODistribution (Since WOLips doesn't automatically add the client-side jars to the classpath when you add a framework to the build path).

<classpathentry kind="lib" path="/Developer/WebObjects/bestmaid/ System/Library/Frameworks/JavaEODistribution.framework/Versions/A/ WebServerResources/Java/JavaEODistribution.jar"/>

Dave




Chuck



On Jun 15, 2009, at 4:10 PM, David Avendasora wrote:

Hold on.

Where is Ant loading the classpath from? I assumed it was from the .classpath file in the project, but I changed the classpath to no load wojavaclient.jar anymore, but it still references it.

Dave


On Jun 15, 2009, at 3:10 PM, David Avendasora wrote:

It appears that Ant is loading the kind="lib" entry from the project's .classpath file first even though it is the last entry in the .classpath file.

I the ant classpath listing below, you'll see that the first .jar on the classpath is wojavaclient.jar which has all the com.webobjects.foundation classes in it and since it is loading first, it's winning. Right? But in the .classpath file of the project, the wojavaclient.jar is the _last_ entry. See below also.

It then appears to load the rest of the .classpath file (type="con") in the order specified.

Dave

[wocompile] '-classpath'
[wocompile] '/Developer/Hudson/Workspaces/ BakeryManagementD2JavaClient/Trunk/bin:/Developer/Hudson/ Workspaces/BakeryManagementD2JavaClient/Trunk/Libraries/ wojavaclient.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/BMExtensions.framework/Resources/Java/ bmextensions.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERExtensions.framework/Resources/Java/ ERExtensions.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/MicrosoftPlugIn.framework/Resources/Java/ microsoftplugin.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERJars.framework/Resources/Java/ERJars.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/ERJars.framework/Resources/ Java/erxservletadaptor.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERJars.framework/Resources/Java/erxwo54.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/ERJars.framework/Resources/ Java/icu4j-3_8_1.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERJars.framework/Resources/Java/junit.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/ERJars.framework/Resources/ Java/log4j-1.2.14.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERJars.framework/Resources/Java/slf4j-api-1.5.0.jar:/ Developer/WebObjects/bestmaid/Library/Frameworks/ERJars.framework/ Resources/Java/slf4j-log4j12-1.5.0.jar:/Developer/WebObjects/ bestmaid/Library/Frameworks/BakeryManagementFoundation.framework/ Resources/Java/bakerymanagementfoundation.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/ERJavaMail.framework/ Resources/Java/activation-1.1.1.jar:/Developer/WebObjects/ bestmaid/Library/Frameworks/ERJavaMail.framework/Resources/Java/ dsn-1.4.1.jar:/Developer/WebObjects/bestmaid/Library/Frameworks/ ERJavaMail.framework/Resources/Java/ERJavaMail.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/ERJavaMail.framework/ Resources/Java/imap-1.4.1.jar:/Developer/WebObjects/bestmaid/ Library/Frameworks/ERJavaMail.framework/Resources/Java/ mailapi-1.4.1.jar:/Developer/WebObjects/bestmaid/Library/ Frameworks/ERJavaMail.framework/Resources/Java/pop3-1.4.1.jar:/ Developer/WebObjects/bestmaid/Library/Frameworks/ ERJavaMail.framework/Resources/Java/smtp-1.4.1.jar:/Developer/ WebObjects/bestmaid/Library/Frameworks/JavaWOExtensions.framework/ Resources/Java/JavaWOExtensions.jar:/Developer/WebObjects/ bestmaid/System/Library/Frameworks/JavaDirectToWeb.framework/ Resources/Java/javadirecttoweb.jar:/Developer/WebObjects/bestmaid/ System/Library/Frameworks/JavaDTWGeneration.framework/Resources/ Java/javadtwgeneration.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaEOAccess.framework/Resources/Java/ javaeoaccess.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaEOApplication.framework/Resources/Java/ javaeoapplication.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaEOControl.framework/Resources/Java/ javaeocontrol.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaEODistribution.framework/Resources/Java/ javaeodistribution.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaEOGeneration.framework/Resources/Java/ javaeogeneration.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaEOInterface.framework/Resources/Java/ javaeointerface.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaEOInterfaceSwing.framework/Resources/Java/ javaeointerfaceswing.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaEOProject.framework/Resources/Java/ javaeoproject.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaEORuleSystem.framework/Resources/Java/ javaeorulesystem.jar:/Developer/WebObjects/bestmaid/System/ Library/Frameworks/JavaFoundation.framework/Resources/Java/ javafoundation.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaJDBCAdaptor.framework/Resources/Java/ javajdbcadaptor.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaWebObjects.framework/Resources/Java/ javawebobjects.jar:/Developer/WebObjects/bestmaid/System/Library/ Frameworks/JavaWOJSPServlet.framework/Resources/Java/ javawojspservlet.jar:/usr/share/ant/lib/ant-launcher.jar:/ Developer/Hudson/Dependencies/woproject.jar:/usr/share/ant/lib/ ant-jai.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant- junit.jar:/usr/share/ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ ant-swing.jar:/usr/share/ant/lib/ant-testutil.jar:/usr/share/ant/ lib/ant-trax.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ xercesImpl.jar:/usr/share/ant/lib/xml-apis.jar'

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="src" path="Sources"/>
        <classpathentry kind="con" path="WOFramework/BMExtensions"/>
        <classpathentry kind="con" path="WOFramework/ERExtensions"/>
        <classpathentry kind="con" path="WOFramework/MicrosoftPlugIn"/>
        <classpathentry kind="con" path="WOFramework/ERJars"/>
<classpathentry kind="con" path="WOFramework/ BakeryManagementFoundation"/>
        <classpathentry kind="con" path="WOFramework/ERJavaMail"/>
        <classpathentry kind="con" path="WOFramework/JavaWOExtensions"/>
        <classpathentry kind="con" path="WOFramework/JavaDirectToWeb"/>
        <classpathentry kind="con" path="WOFramework/JavaDTWGeneration"/>
        <classpathentry kind="con" path="WOFramework/JavaEOAccess"/>
        <classpathentry kind="con" path="WOFramework/JavaEOApplication"/>
        <classpathentry kind="con" path="WOFramework/JavaEOControl"/>
        <classpathentry kind="con" path="WOFramework/JavaEODistribution"/>
        <classpathentry kind="con" path="WOFramework/JavaEOGeneration"/>
        <classpathentry kind="con" path="WOFramework/JavaEOInterface"/>
<classpathentry kind="con" path="WOFramework/ JavaEOInterfaceSwing"/>
        <classpathentry kind="con" path="WOFramework/JavaEOProject"/>
        <classpathentry kind="con" path="WOFramework/JavaEORuleSystem"/>
        <classpathentry kind="con" path="WOFramework/JavaFoundation"/>
        <classpathentry kind="con" path="WOFramework/JavaJDBCAdaptor"/>
        <classpathentry kind="con" path="WOFramework/JavaWebObjects"/>
        <classpathentry kind="con" path="WOFramework/JavaWOJSPServlet"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="lib" path="Libraries/wojavaclient.jar"/>
        <classpathentry kind="output" path="bin"/>
</classpath>


On Jun 15, 2009, at 2:06 PM, Mike Schrag wrote:

this is all determined by classpath/framework ordering, so it obviously looks like the order is wrong somehow ... hudson isn't doing anything special here, so i would run ant with debug manually and see what's going on. it should fail identically from commandline.

On Jun 15, 2009, at 1:34 PM, David Avendasora wrote:

Hi All (mostly Mike, again)

I've gotten all my frameworks and applications to successfully build with Hudson, including fully embedded servlet deployments, except for one.

Of course it is a Java Client project that makes use of some client-side classes from one of my frameworks that is failing. Here's the situation:

I'm using Generics with WO 5.3.3. Normally you'd use Wonder to get Generic versions of com.webobjects.foundation.NSArray and friends, only ERExtensions doesn't create a client-side jar for use with WebStart Java Client apps (WebServerResources/Java/ ERExtensions.jar), so I had to create my own framework that does. I've included my BMExtensions.framework on the classpath of my Project and ensured that it loads prior to even ERExtensions.framework. No big deal, and running the Ant build from within Eclipse handles things just fine (I'm guessing it is really looking at the server-side class), but when Hudson tries to build the project, I get:
compile:
[mkdir] Created dir: /Developer/Hudson/Workspaces/ BakeryManagementD2JavaClient/Trunk/bin [wocompile] Compiling 262 source files to /Developer/Hudson/ Workspaces/BakeryManagementD2JavaClient/Trunk/bin [wocompile] /Developer/Hudson/Workspaces/ BakeryManagementD2JavaClient/Trunk/Sources/com/bestmaid/ bakeryManagement/client/integration/_ExternalCustomer.java:62: type com.webobjects.foundation.NSArray does not take parameters [wocompile] public NSArray <com.bestmaid.bakeryManagement.client.orderManagement.Customer> bmCustomers() {
[wocompile]                       ^
So it is obviously using JavaFoundation.framework's version of NSArray instead of my custom one, or even the ERExtensions server-side one. How do I override which one it is using to do the compile so it won't fail?

Thanks,

Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40mdimension.com

This email sent to msch...@mdimension.com

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

This email sent to webobje...@avendasora.com

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

This email sent to webobje...@avendasora.com

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

This email sent to webobje...@avendasora.com

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to ch...@global-village.net

--
Chuck Hill             Senior Consultant / VP Development

Come to WOWODC'09 in San Fran this June!
http://www.wocommunity.org/wowodc09/




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

This email sent to arch...@mail-archive.com

Reply via email to