X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 1.4.3/27976) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=simple/simple; d=wocommunity.org; s=mail; bh=RhC2lJVSBpLxVWS+JKfomIsTfRwNY9r3NBxKFdWl5U8=; h=From:Subject:Message-ID:Date:Content-Type:MIME-Version:To:Sender:Reply-To: List-Archive:List-Unsubscribe:List-Id; b=I/nzfFGY6f0CwffBxZDM96nx46wtzvKBDwpk djDxscoh1VUnXRIMgSE0X/v0HeepiwTYtkz+3ZrCf+i0JLNv+jKNX5hfXTxKN3L/XxAKMO839GbrB ijSzBda+653AUvPzNskRGSK9YvQ4dibzyeGZ8gVaJ8nB1olE1/GvL5EEqyqOMPgndXZv0WYFF+GQQ yzh8EJg8BLvDKtBT2uZDS+HEp4432eJlKAU1knh1Oj/j2Th49k6M+gHAMql+EY2bDaUFrUToihprD E8CXzBIDsNWmki8iBA2rRWQKBZu0n+5FDjczsHXfRdwxU4tCPdmB1bx5wiiyoI7Xiw/Q/jnxndA== Return-Path: X-ListServer: CommuniGate Pro LIST 6.3.18 List-Id: List-Unsubscribe: List-Archive: Reply-To: "WebObjects & WOnder Development" Sender: "WebObjects & WOnder Development" To: "WebObjects & WOnder Development" MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="Apple-Mail=_33D680C7-6462-4A40-8113-E02F6425E084" Date: Mon, 20 Apr 2026 08:38:41 +0200 X-Original-Message-Id: <04E00A6F-0138-4BBE-A29D-526C58F6C27C@peersandtner.de> Message-ID: Subject: [WO-DEV] Re: Struggling with ant command line build From: "Peer Sandtner" --Apple-Mail=_33D680C7-6462-4A40-8113-E02F6425E084 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Markus, to be honest, I=E2=80=99ve never really looked into the Wonder = frameworks build process and have always just used the binary = distribution. So I=E2=80=99m not at all familiar with the procedure via = =E2=80=9CWonderSource/Build/build/generic.xml=E2=80=9D. The project I=E2=80=99m working on uses its own tailored build-all.xml = (placed in the root folder), which builds and installs the individual = frameworks and applications in a fixed order and also manually collects = the Wonder frameworks and and copies them to the appropriate location. This should make the principle clear: --- =20 =20 =20 =20 . . . =E2=80=94 Peer > Am 18.04.2026 um 16:20 schrieb Markus Ruggiero (rucotec) = : >=20 > Hi Peer, >=20 >> On 17 Apr 2026, at 21:38, Peer Sandtner = wrote: >>=20 >> Hi Markus, >>=20 >> I also use an ant build outside of Eclipse. I could imagine that a = missing reference to=20 >>=20 >> ~/Library/Application Support/WOLips/wolips.properties >>=20 > this exists and is properly found and read. You can see this clearly = from the full log (which I attached to my original message).=20 >> might be the problem. However, I=E2=80=99m building against installed = Wonder frameworks, not against the Wonder source code=E2=80=A6 What do = you think? > I am also not building agains =E2=80=9Cthe source=E2=80=9D. I used the = wonder source to build and install the binaries into the paths = ...wo.local.root... and ...wo.system.root.. ( I named the locations = accordingly). When I check the classpath generated I can pick any = arbitrary framework reference and confirm it exists at that path. > Some of the frameworks have attached sources and these are in the same = location as the binaries. That is why they end up on the classpath. = However this should not matter as the classpath is just a list of jars = that are searched for a class. If a class is found in one of the files, = good, if not the search continues until the class is found or the = classpath is exhausted. This is exactly what confuses me. The classpath = seems ok so the classes should be found. >=20 > Would you mind sharing your build command/script? I must miss = something but clearly cannot see it. >=20 > Thank you > ---markus--- >=20 >>=20 >> Regards, >> Peer >>=20 >>=20 >>=20 >>> Am 16.04.2026 um 13:45 schrieb Markus Ruggiero (rucotec) = : >>>=20 >>> No one doing command line builds with ant? Or has ever done so? >>> I cannot change my environment and go to maven with 50+ projects and = absolutely no experience yet. So if anyone has any idea what=E2=80=99s = wrong here..... >>>=20 >>>> On 14 Apr 2026, at 14:41, Markus Ruggiero (rucotec) = wrote: >>>>=20 >>>> I know I am outdated and old-fashioned and not modern but I still = have ant based projects. Until now I have built frameworks and = applications with the WOLips ant tools. Works perfect. But now I have a = project that uses some 40+ frameworks and in total consists of well over = 40 WOapps. Building all those by hand .... well, you guess --> = automation is the key. So I started looking into command line build that = can be scripted.=20 >>>> Here is one of the apps I build with the help of generic.xml ant = build file. The wocompile phase fails because it cannot find the WO and = Wonder frameworks. But they are there, in the regular place and so far = all paths seem to be correct (java class path). I must miss something = but fail to see it. Anyone having better eyes than me? Directly included = here is just the failing part. I have attached a ZIP file containing the = full output for reference (hope the attachment makes it through) >>>>=20 >>>> Thanks for helping me >>>> ---markus--- >>>>=20 >>>> $ ant -debug -emacs -f = /Users/Shared/Developer/SourceDistributions/WonderSource/Build/build/gener= ic.xml \ >>>> -Dproject.type=3Dapplication \ >>>> -Dproject.name=3DImmoData \ >>>> -Dproject.principal.class=3Dch.kastl.immodata.Application \ >>>> -Dproject.dir=3D/Users/ruggiero/workspace/ImmoData \ >>>> -Dwo.local.root.bundles.embed=3Dtrue \ >>>> -Dwo.system.root.bundles.embed=3Dtrue \ >>>> generic.build >>>>=20 >>>> . . . . [snip tons of output, all looking perfectly ok] . . . .=20 >>>>=20 >>>> Compilation arguments: >>>> '-d' >>>> '/Users/ruggiero/Roots/classes/ImmoData' >>>> '-classpath' >>>> = '/Users/ruggiero/Roots/classes/ImmoData:/Users/ruggiero/workspace/ImmoData= /Libraries/fop.jar:/Users/ruggiero/workspace/ImmoData/Libraries/mysql-conn= ector-java-5.1.46-bin.jar:/Users/Shared/Developer/Libraries/Wonder/wo.syst= em.root/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoacc= ess.jar.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Li= brary/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar:/U= sers/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/J= avaEOControl.framework/Resources/Java/javaeocontrol.jar:/Users/Shared/Deve= loper/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaEOControl.fra= mework/Resources/Java/javaeocontrol.jar.src.zip:/Users/Shared/Developer/Li= braries/Wonder/wo.system.root/Library/Frameworks/JavaFoundation.framework/= Resources/Java/javafoundation.jar.src.zip:/Users/Shared/Developer/Librarie= s/Wonder/wo.system.root/Library/Frameworks/JavaFoundation.framework/Resour= ces/Java/javafoundation.jar:/Users/Shared/Developer/Libraries/Wonder/wo.sy= stem.root/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/java= jdbcadaptor.jar.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.system= .root/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/javajdbc= adaptor.jar:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Librar= y/Frameworks/JavaWOJSPServlet.framework/Resources/Java/javawojspservlet.ja= r.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Library/= Frameworks/JavaWOJSPServlet.framework/Resources/Java/javawojspservlet.jar:= /Users/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks= /JavaWebObjects.framework/Resources/Java/javawebobjects.jar.src.zip:/Users= /Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaW= ebObjects.framework/Resources/Java/javawebobjects.jar:/Users/Shared/Develo= per/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaWebServicesSupp= ort.framework/Resources/Java/javawebservicessupport.jar.src.zip:/Users/Sha= red/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaWebSe= rvicesSupport.framework/Resources/Java/javawebservicessupport.jar:/Users/S= hared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaXML= .framework/Resources/Java/javaxml.jar:/Users/Shared/Developer/Libraries/Wo= nder/wo.system.root/Library/Frameworks/JavaXML.framework/Resources/Java/ja= vaxml.jar.src.zip' >>>> '-sourcepath' >>>> '/Users/ruggiero/workspace/ImmoData/Sources' >>>> '-target' >>>> '1.8' >>>> '-encoding' >>>> 'utf-8' >>>> '-g' >>>> '-source' >>>> '1.8' >>>>=20 >>>> The ' characters around the executable and arguments are >>>> not part of the command. >>>> Files to be compiled: >>>> ......[snip]...... >>>> warning: [options] bootstrap class path not set in conjunction with = -source 8 >>>> = /Users/ruggiero/workspace/ImmoData/Sources/ch/kastl/immodata/Application.j= ava:14: error: package er.extensions.appserver does not exist >>>> import er.extensions.appserver.ERXApplication; >>>> ^ >>>>=20 >>>>=20 >>>>=20 >>>> >>>>=20 >>>>=20 >>>> Markus Ruggiero >>>>=20 >>>> rucotec GmbH web https://rucotec.ch >>>> Leonhardsberg 1 email markus.ruggiero@rucotec.ch >>>> 4051 Basel / Switzerland mobile +41 79 508 4701 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>>=20 >>>=20 >>>=20 >>> Markus Ruggiero >>>=20 >>> rucotec GmbH web https://rucotec.ch >>> Leonhardsberg 1 email markus.ruggiero@rucotec.ch >>> 4051 Basel / Switzerland mobile +41 79 508 4701 >>>=20 >>>=20 >>>=20 >>>=20 >>>=20 >>>=20 >>>=20 >>>=20 >>=20 >=20 >=20 > Markus Ruggiero >=20 > rucotec GmbH web https://rucotec.ch > Leonhardsberg 1 email markus.ruggiero@rucotec.ch > 4051 Basel / Switzerland mobile +41 79 508 4701 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 --Apple-Mail=_33D680C7-6462-4A40-8113-E02F6425E084 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
Hi Markus,

to be = honest, I=E2=80=99ve never really looked into the Wonder frameworks = build process and have always just used the binary distribution. So = I=E2=80=99m not at all familiar with the procedure via = =E2=80=9CWonderSource/Build/build/generic.xml=E2=80=9D.

The project I=E2=80=99m working on uses its own tailored = build-all.xml (placed in the root folder), which builds and installs the = individual frameworks and applications in a fixed order and also = manually collects the Wonder frameworks and and copies them to the = appropriate location.


This = should make the principle = clear:
---
<project name=3D"ProjectX" = basedir=3D".">
  
  <target = name=3D"install" depends=3D"build" = />
  
  <target name=3D"build" = depends=3D"clean">    
    <ant = dir=3D"Project1" antfile=3D"build.xml">
    =   <target name=3D"clean" />
      = <target name=3D"install" />
    = </ant>
    <ant dir=3D"Project2" = antfile=3D"build.xml">
      <target = name=3D"clean" />
      <target = name=3D"install" />
    = </ant>
    
    = <ant dir=3D"App1" antfile=3D"build.xml">
    =   <target name=3D"clean" />
      = <target name=3D"install" />
    = </ant>
  = </target>
.
.
.
=E2=80= =94

Peer


=


Am = 18.04.2026 um 16:20 schrieb Markus Ruggiero (rucotec) = <webobjects-dev@wocommunity.org>:

Hi = Peer,

On 17 Apr 2026, at 21:38, Peer Sandtner = <webobjects-dev@wocommunity.org> wrote:

Hi Markus,

I also = use an ant build outside of Eclipse. I could imagine that a missing = reference to 

~/Library/Application = Support/WOLips/wolips.properties

this exists and is properly found and read. You can see this = clearly from the full log (which I attached to my original = message). 
might be the problem. However, = I=E2=80=99m building against installed Wonder frameworks, not against = the Wonder source code=E2=80=A6 What do you = think?
I am also not building agains = =E2=80=9Cthe source=E2=80=9D. I used the wonder source to build and = install the binaries into the paths ...wo.local.root... and = ...wo.system.root.. ( I named the locations accordingly). When I check = the classpath generated I can pick any arbitrary framework reference and = confirm it exists at that path.
Some of the frameworks have = attached sources and these are in the same location as the binaries. = That is why they end up on the classpath. However this should not matter = as the classpath is just a list of jars that are searched for a class. = If a class is found in one of the files, good, if not the search = continues until the class is found or the classpath is exhausted. This = is exactly what confuses me. The classpath seems ok so the classes = should be found.

Would you mind sharing your = build command/script? I must miss something but clearly cannot see = it.

Thank = you
---markus---


Regards,
Peer
=


Am 16.04.2026 um 13:45 schrieb Markus Ruggiero = (rucotec) <webobjects-dev@wocommunity.org>:

No = one doing command line builds with ant? Or has ever done so?
I = cannot change my environment and go to maven with 50+ projects and = absolutely no experience yet. So if anyone has any idea what=E2=80=99s = wrong here.....

On 14 Apr 2026, at 14:41, Markus Ruggiero (rucotec) = <webobjects-dev@wocommunity.org> wrote:

I = know I am outdated and old-fashioned and not modern but I still have ant = based projects. Until now I have built frameworks and applications with = the WOLips ant tools. Works perfect. But now I have a project that uses = some 40+ frameworks and in total consists of well over 40 WOapps. = Building all those by hand .... well, you guess --> automation is the = key. So I started looking into command line build that can be = scripted. 
Here is one of the apps I build with the help of = generic.xml ant build file. The wocompile phase fails because it cannot = find the WO and Wonder frameworks. But they are there, in the regular = place and so far all paths seem to be correct (java class path). I must = miss something but fail to see it. Anyone having better eyes than me? = Directly included here is just the failing part. I have attached a ZIP = file containing the full output for reference (hope the attachment makes = it through)

Thanks for helping = me
---markus---

$ ant -debug -emacs -f = /Users/Shared/Developer/SourceDistributions/WonderSource/Build/build/gener= ic.xml \
-Dproject.type=3Dapplication \
-Dproject.name=3DImmoData \
-Dproject.principal.class=3Dch.kastl.immodata.Application = \
-Dproject.dir=3D/Users/ruggiero/workspace/ImmoData = \
-Dwo.local.root.bundles.embed=3Dtrue \
-Dwo.system.root.bundles.embed=3Dtrue = \
generic.build

. . . . [snip tons of = output, all looking perfectly ok] . . . = . 

Compilation = arguments:
'-d'
'/Users/ruggiero/Roots/classes/ImmoData'
'-classpath'
'/Users/ruggiero/Roots/classes/ImmoData:/Users/ruggiero/workspace/Imm= oData/Libraries/fop.jar:/Users/ruggiero/workspace/ImmoData/Libraries/mysql= -connector-java-5.1.46-bin.jar:/Users/Shared/Developer/Libraries/Wonder/wo= .system.root/Library/Frameworks/JavaEOAccess.framework/Resources/Java/java= eoaccess.jar.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.system.ro= ot/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.j= ar:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Framewo= rks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar:/Users/Shared= /Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaEOContro= l.framework/Resources/Java/javaeocontrol.jar.src.zip:/Users/Shared/Develop= er/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaFoundation.frame= work/Resources/Java/javafoundation.jar.src.zip:/Users/Shared/Developer/Lib= raries/Wonder/wo.system.root/Library/Frameworks/JavaFoundation.framework/R= esources/Java/javafoundation.jar:/Users/Shared/Developer/Libraries/Wonder/= wo.system.root/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java= /javajdbcadaptor.jar.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.s= ystem.root/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/jav= ajdbcadaptor.jar:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/L= ibrary/Frameworks/JavaWOJSPServlet.framework/Resources/Java/javawojspservl= et.jar.src.zip:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Lib= rary/Frameworks/JavaWOJSPServlet.framework/Resources/Java/javawojspservlet= .jar:/Users/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frame= works/JavaWebObjects.framework/Resources/Java/javawebobjects.jar.src.zip:/= Users/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/= JavaWebObjects.framework/Resources/Java/javawebobjects.jar:/Users/Shared/D= eveloper/Libraries/Wonder/wo.system.root/Library/Frameworks/JavaWebService= sSupport.framework/Resources/Java/javawebservicessupport.jar.src.zip:/User= s/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/Java= WebServicesSupport.framework/Resources/Java/javawebservicessupport.jar:/Us= ers/Shared/Developer/Libraries/Wonder/wo.system.root/Library/Frameworks/Ja= vaXML.framework/Resources/Java/javaxml.jar:/Users/Shared/Developer/Librari= es/Wonder/wo.system.root/Library/Frameworks/JavaXML.framework/Resources/Ja= va/javaxml.jar.src.zip'
'-sourcepath'
'/Users/ruggiero/workspace/ImmoData/Sources'
'-target'
'1.8'
'-encoding'
'utf-8'
'-g'
'-source'
'1.8'

The ' characters = around the executable and arguments are
not part of the command.
Files to be compiled:
......[snip]......
warning: [options] bootstrap class path not set in = conjunction with -source 8
/Users/ruggiero/workspace/ImmoData/Sources/ch/kastl/immodata/Applicat= ion.java:14: error: package er.extensions.appserver does not = exist
import = er.extensions.appserver.ERXApplication;
              =                 = ^



<ant = compile debug full output.txt.zip>


Markus = Ruggiero

rucotec GmbH              =           web https://rucotec.ch
Leonhardsberg 1         =           email markus.ruggiero@rucotec.ch
4051 Basel / Switzerland    =      mobile +41 79 508 4701

<= /div>
=








Markus = Ruggiero

rucotec GmbH              =           web https://rucotec.ch
Leonhardsberg 1         =           email markus.ruggiero@rucotec.ch
4051 Basel / Switzerland    =      mobile +41 79 508 4701

<= /div>
=





=



Markus = Ruggiero

rucotec GmbH              =           web https://rucotec.ch
Leonhardsberg 1         =           email markus.ruggiero@rucotec.ch
4051 Basel / Switzerland    =      mobile +41 79 508 4701

<= /div>
=







= --Apple-Mail=_33D680C7-6462-4A40-8113-E02F6425E084--