X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 1.4.3/27976) X-Junk-Score: 0 [] X-KAS-Score: 0 [] From: "Peer Sandtner" Received: from www273.your-server.de ([188.40.28.173] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.18) with ESMTPS id 35553860 for webobjects-dev@wocommunity.org; Mon, 20 Apr 2026 08:39:02 +0200 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=188.40.28.173; envelope-from=peer@peersandtner.de DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=peersandtner.de; s=default2209; h=Message-Id:In-Reply-To:To:References:Date :Subject:Mime-Version:Content-Type:From:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=XLSUV04fN7kpEpKtSUGScBnXZpqlAmXLTIe1s6jl3Bc=; b=Og58mTru5h/IqdHmewywg+gHG3 mz/JfpwylO34x4a1nXmpDi5OPhpKlCd99Xb61TldIRlCT/AYlo62ZUQMSEmGGeX7y9DtrcIpMaB0T BrXLJJrRlbM8QcKxh1yvZhHLqmYbQC4/fy3e06nC7GxCRHpjDgbGdSo//UHXPZqZm3Z0wP+rGmu5P UwiPMloVSEchR0JV8bkHQMgQstWGotS2aPkv4Eht1PRzFuJzd9Jfk+Hhp3ool6k7SD0sjs5Bt6gca mhtjaG8cxUi12P3gjDVDtsy/E7cFAmWJIT2t95ds6AcspMkRnAlV7kSltlQ08yAIA7bd3bsN1Ih0f tc3j+CYw==; Received: from sslproxy07.your-server.de ([78.47.199.104]) by www273.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1wEiHU-0008Bg-2T for webobjects-dev@wocommunity.org; Mon, 20 Apr 2026 08:38:52 +0200 Received: from localhost ([127.0.0.1]) by sslproxy07.your-server.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wEiHU-0000KI-1F for webobjects-dev@wocommunity.org; Mon, 20 Apr 2026 08:38:52 +0200 Content-Type: multipart/alternative; boundary="Apple-Mail=_33D680C7-6462-4A40-8113-E02F6425E084" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: [WO-DEV] Struggling with ant command line build Date: Mon, 20 Apr 2026 08:38:41 +0200 References: To: WebObjects & WOnder Development In-Reply-To: Message-Id: <04E00A6F-0138-4BBE-A29D-526C58F6C27C@peersandtner.de> X-Mailer: Apple Mail (2.3864.400.21) X-Virus-Scanned: Clear (ClamAV 1.4.3/27976/Sun Apr 19 08:26:09 2026) --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--