X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26748) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail-qv1-f46.google.com ([209.85.219.46] verified) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.14) with ESMTPS id 29060014 for webobjects-dev@wocommunity.org; Tue, 13 Dec 2022 04:14:45 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=209.85.219.46; envelope-from=recurve@cocoanutstech.com Received: by mail-qv1-f46.google.com with SMTP id a17so9589399qvt.9 for ; Mon, 12 Dec 2022 19:14:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chatnbike.com; s=chatnbike; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4yE/9IJnprN+Swox5netN5rKuWezq1Sr3IqjxRetvKA=; b=YBxqxUa0esud+Y+xR/fcp+OIQ7eDpN8C3dEqW1WyacxUGdMuRt/5tp46qMCXTbvLPN ZWoiB24ilBKABK0CjQGb4GHHBALDYxA5rVA+R4+CiLFy4iRY14oqkP/XXZ5FFl87e8/i aFN9+qRO5nUUgGm4sOsZuqQtA4DJii5/M1ByA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4yE/9IJnprN+Swox5netN5rKuWezq1Sr3IqjxRetvKA=; b=mwcF3kt0GP6/BhfPXyyFaNE2a+Z+w2ERJP969q8kHHsspuujC3UYSaEXq83zj50Tqn f0w4wtUwToy3UVBlw9XqBZM+zc0WOlJ8Rj97EfHvD3Dtc3lwxRADeD5lEG+YKc88Boue UFrLj2SFi83OZlZytmVLBblP1zMm7kT9+x51HJfz6UgeNCKNEGjeAXXl3mAR4TWAjzTx 6alFJbHz+RSARiUWvwwphK7Vp4PTdGHP/fMYBU9dZ8QPTxPkqgoiECf07yC55m4ruNP4 /HSFFheiVgw/c4VLk349IrktYVLqI3a9cDMvPXT4w2sCMY/yb09uxKQ9KMiiBoGYOmXw QYtg== X-Gm-Message-State: ANoB5pnd58kO1L2+LPOJYCR2V0wNkiIvdUqVALVSQFJud6AYuujU0GQF b6qJcdFtHfFUdjBacIDGjrbmZTmN4r+kLqGwujQ= X-Google-Smtp-Source: AA0mqf4nhExNAIN0bGdGwNO/fqcA91kAzWE0mXsPWNajba+4kE4VG3ytlhArwOVbqoaSRGSwHstjzA== X-Received: by 2002:ad4:45ac:0:b0:4c7:4c9c:983c with SMTP id y12-20020ad445ac000000b004c74c9c983cmr27509421qvu.4.1670901262826; Mon, 12 Dec 2022 19:14:22 -0800 (PST) Return-Path: Received: from smtpclient.apple (pool-173-79-19-72.washdc.fios.verizon.net. [173.79.19.72]) by smtp.gmail.com with ESMTPSA id l24-20020ae9f018000000b006fc2b672950sm6976982qkg.37.2022.12.12.19.14.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 12 Dec 2022 19:14:22 -0800 (PST) Content-Type: multipart/alternative; boundary="Apple-Mail=_26DE5A7F-5B5A-46D5-ABBD-F5D6F1DA9646" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: [WO-DEV] duplication in frameworks: ERExtensions, javaeoaccess From: Aaron Rosenzweig In-Reply-To: Date: Mon, 12 Dec 2022 22:14:21 -0500 Cc: Ramsey Gurley Message-Id: <1A4E1399-3FE3-4FF0-9E04-C3A8AA50C39A@chatnbike.com> References: To: WebObjects & WOnder Development X-Mailer: Apple Mail (2.3696.120.41.1.1) --Apple-Mail=_26DE5A7F-5B5A-46D5-ABBD-F5D6F1DA9646 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Thanks Ramsey. You=E2=80=99re a scholar and a gentleman. I=E2=80=99ll = ask the PHB if I can have some leeway to try that Maven structure :-) = Thanks for these tips! > On Dec 12, 2022, at 8:46 PM, Ramsey Gurley = wrote: >=20 > If you have an Eclipse with m2e installed (I think it's preinstalled = these days), maven should mostly "just work." I found >=20 > = https://wiki.wocommunity.org/display/documentation/Maven+Kicking+the+tyres= +without+changing+your+project+structure = >=20 > Very helpful in making maven accommodate the fuzzy bunny layout. I = would suggest continued use of fuzzy bunny as the WOLips plugin is a = little rough around the edges when it comes to trying to use a standard = maven project layout.=20 >=20 > The pom.xml file in the wodocker project might be instructive too. = Specifically, the part. If you do that, you don't need to = muck around with ~/.m2/settings.xml at all or even bother to install = WebObjects with the WOInstaller.jar anymore. WOLips can now find all the = wojars via maven and you can just ignore the WORoot/System Root/User = Root/etc settings in the wolips plugin preferences altogether. >=20 > WOLips itself is also easier to develop/contribute now in this regard. = No WO installation is necessary to do that anymore either. >=20 > I mostly use maven via eclipse, I don't really use the command line = unless there is not another nice way to do something =EF=BF=BD=EF=BF=BD =20= >=20 >=20 > From: WebObjects & WOnder Development > on behalf of Aaron Rosenzweig = > > Sent: Tuesday, December 13, 2022 9:50 AM > To: WebObjects & WOnder Development > > Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, = javaeoaccess > =20 > Hi Ramsey and thank you! That=E2=80=99s some good information. Thanks = for taking the time to try that. You make it sound easy but I was coming = up empty :-)=20 >=20 > So basically you said =E2=80=9Cforget JavaXML=E2=80=9D framework and = completely avoided it. Then you deleted some source files that dealt = with Axis which came from JavaXML because=E2=80=A6 well=E2=80=A6 it was = a neat concept back in the day but we aren=E2=80=99t really using it. I = assume you added the javax.servlet and xerces because they were needed = and used to be accessed from JavaXML. Ok=E2=80=A6 I get the idea. = Creative :-) Not really that straightforward but makes sense after you = figured it out and shared with us.=20 >=20 > I think maybe I should move our build to Maven and start there first = and then maybe modernize our apps as best as I can while getting rid of = certain dependencies like JavaXML.framework like you had done. In other = words=E2=80=A6 I should probably do Maven first and then Java 17 second. = I=E2=80=99ll maybe compile the WOnder files in java 1.8 compliance mode = (at least for now).=20 >=20 > Is this the best primer on getting Maven working in Eclipse? > https://wiki.wocommunity.org/display/WOL/Quick+Start = >=20 > It's got a note from Ray Kiddy on 2022 06-24 that at least part of it = doesn=E2=80=99t work.=20 >=20 > It also talks about three ways=E2=80=A6 mvn eclipse:eclipse, = m2eclipse, and q4e=E2=80=A6. which of the three is best? perhaps = m2eclipse?=20 >=20 > Thank you, > =E2=80=94 Aaron >=20 >> On Dec 11, 2022, at 11:19 PM, Ramsey Gurley = > = wrote: >>=20 >> I'm not totally sure, because I haven't tried to migrate wonder to 17 = yet, but I think it's possible. With regards to compiling ERExtensions = with Java 17, I did that, saw your error, and corrected it on = ERExtensions:=20 >>=20 >> I updated the /pom.xml file to source/target 17 instead of 1.8. >>=20 >> I added an exclusion to JavaWebObjects in the same file, excluding = com.webobjects/JavaXML. >>=20 >> I deleted the WOWebServicePatch.java, because I don't want to drag in = Apache Axis with all its vulns for something nobody uses anyway. I = removed the reference to it in ERXApplication. >>=20 >> In ERExtensions/pom.xml, I added dependencies for = javax.servlet/servlet-api/2.5 and xerces/xerces/2.4.0. I would probably = do this in the parent IRL and manage the dependencies there, but for = this quick test, that's what I did. >>=20 >> And now ERExtensions compiles without error in eclipse. There are a = few other projects that have compile errors and need some repair for a = full Java 17 patch to be attained. Some are really old and I don't know = if anyone even cares about them anymore. >>=20 >> From: WebObjects & WOnder Development > on behalf of Aaron Rosenzweig = > >> Sent: Monday, December 12, 2022 11:47 AM >> To: WebObjects & WOnder Development > >> Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, = javaeoaccess >> =20 >> Thanks Ramsey but now I=E2=80=99m more confused.=20 >>=20 >> Can we compile for Java 17 compliance or not? Before it sounded like = you said it wasn=E2=80=99t possible but now it sounds like you are = saying it is possible.=20 >>=20 >> I tried to take one WOnder project, ERExtensions, and make it compile = for java 17 but I couldn=E2=80=99t get it to work in Eclipse. Files like = ERXApplication.java complain: The package org.w3c.dom is accessible from = more than one module: , java.xml >>=20 >> I=E2=80=99m not adding a module-info.java or trying to force it in = any way to have extra jigsaw JMPS bells and whistles. If I make it = compile for java 1.8 (like the .project file does in WOnder) then it=E2=80= =99s happy. Change it to java 17 compliance and it fails.=20 >>=20 >> In our own app, where we include things like = =E2=80=9Ccom.webobjects.eoaccess.EOAttribute=E2=80=9D I get: The package = com.webobjects.eoaccess is accessible from more than one module: = ERExtensions, javaeoaccess >>=20 >> I only tried creating a module-info.java to see if that could buy us = anything but I don=E2=80=99t think it can.=20 >>=20 >> I=E2=80=99m looking at your docker project right now. You mentioned = it earlier but I didn=E2=80=99t understand and still don=E2=80=99t = really. I=E2=80=99m not wanting to use docker right now=E2=80=A6 but = maybe your point is that this is a simple WO app using Java 17 that = happens to be in docker. I=E2=80=99m looking around the project in = GitHub that you made and see that it is pretty simple, like a proof of = concept. Thank you. Is it possible that it=E2=80=99s so simple that = there aren=E2=80=99t any conflicts with duplicate package definitions in = different jars? Have you been able to do this with an large/real = project?=20 >>=20 >> If Java 17 compliance is possible, what am I missing to be able to do = it in Eclipse?=20 >>=20 >>> On Dec 11, 2022, at 9:14 PM, Ramsey Gurley = > = wrote: >>>=20 >>> Did you have a chance to look at >>>=20 >>> https://github.com/nullterminated/wodocker = >>>=20 >>>=20 >>> It uses Java 17, and it works >>>=20 >>> https://github.com/nullterminated/wodocker/blob/master/pom.xml#L77 = >>>=20 >>> I think the main confusion is thinking we have to use jigsaw = post-java 8, but that's not a requirement. There's no module-info.java = in that project, but it still works like WO always did. >>>=20 >>> Wonder can probably be updated similarly, but I see no need to cut = off anyone still using 8 just so one of the three patches received a = year can use a switch expression or something like that :) Maybe when = JEP 182 kicks in and Java 8 can no longer compile with latest JDK, then = there is more reason to update it. That said, I'm also not against = updating to 17 or whatever the latest LTS happens to be if everyone = loves that idea. >>> From: WebObjects & WOnder Development = > = on behalf of Aaron Rosenzweig > >>> Sent: Saturday, December 10, 2022 10:59 PM >>> To: WebObjects & WOnder Development > >>> Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, = javaeoaccess >>> =20 >>> Thanks Ramsey,=20 >>>=20 >>> To be clear, your situation is that you develop and deploy on a Java = 17 VM but you compile for Java 8 (1.8). This affords you a modern VM = with any of the latest security and timestamp updates. It also affords = you the use of Apple WebObjects and WOnder with little effort (besides = the ALL-UNNAMED tweak).=20 >>>=20 >>> Did I get that correct (at least roughly?)=20 >>>=20 >>> I want to be clear about it because it=E2=80=99s easy for someone to = say or hear =E2=80=9CThey are on Java 17=E2=80=9D and not fully = interpret what it means. I think all of us, if we are =E2=80=9Con Java = 17=E2=80=9D are running in 1.8 compliance mode.=20 >>>=20 >>>=20 >>>> On Dec 9, 2022, at 6:28 PM, Ramsey Gurley = > = wrote: >>>>=20 >>>> >If we are targeting Java 17 compliance >>>>=20 >>>> I don't really see any need for WOnder to go java 17 in source. = There's not a lot of active development happening in Wonder, so it would = be unnecessary work to do that and limit backward compatibility with = those still using 8. I just care that it continues to build without = errors using the latest java. That's what origin/master should do now. >>>>=20 >>>> As you pointed out, without access to source, it is getting harder = and harder to drag WebObjects into the future. >>>>=20 >>>> From: WebObjects & WOnder Development = > = on behalf of Aaron Rosenzweig > >>>> Sent: Saturday, December 10, 2022 6:37 AM >>>> To: WebObjects & WOnder Development > >>>> Subject: [WO-DEV] duplication in frameworks: ERExtensions, = javaeoaccess >>>> =20 >>>> [You don't often get email from aaron@chatnbike.com = . Learn why this is important = athttps://aka.ms/LearnAboutSenderIdentification = ] >>>>=20 >>>> The package com.webobjects.eoaccess is defined in both: = ERExtensions, javaeoaccess >>>>=20 >>>> javaeoaccess is a framework from NeXT/Apple. >>>>=20 >>>> I believe ERExtensions recreated a distinctly apple package name so = that we could replace Apple's _EOExpressionArray with a new one from = Wonder. >>>>=20 >>>> This worked because if we load ERExtensions before = JavaEOAccess.framework=E2=80=A6 in the class path, the first one wins. = Old JVMs would happily take the first. While this is risky, it worked as = long as we were careful (and sort of knew what Apple was doing). We did = things like this because we didn=E2=80=99t own JavaEOAccess and = basically =E2=80=9Cpatched it=E2=80=9D because we wanted an improvement = that Apple didn=E2=80=99t provide. We could do better than Apple and = this is how we did it, while letting the rest of the Apple plumbing = continue working with particular object replacements. >>>>=20 >>>> This cannot work past Java 1.8 can it? If we are targeting Java 17 = compliance, we are then using JPMS (Java Package Module System) aka = =E2=80=9CJava Modules=E2=80=9D which won=E2=80=99t accept this type of = patch. >>>>=20 >>>> In my application project, I created a module-info.java and placed = these lines in it: >>>>=20 >>>> requires ERExtensions; >>>> requires javaeoaccess; >>>>=20 >>>> We need both lines right? But this results in the the following = unsurprising error: >>>> The package com.webobjects.eoaccess is accessible from more than = one module: ERExtensions, javaeoaccess >>>>=20 >>>> What am I missing? Are we stuck? Without being able to update the = Apple jars directly, the old hacks cannot work in the new word of Java = Modules. We=E2=80=99ve done this in many places including NSArray. Are = we stuck living in Java 1.8 compliance with Java 17? >>>> ############################################################# >>>> This message is sent to you because you are subscribed to >>>> the mailing list >. >>>> To unsubscribe, E-mail to: > >>>> To switch to the DIGEST mode, E-mail to = > >>>> To switch to the INDEX mode, E-mail to = > >>>> Send administrative queries to = > >>>>=20 >>>> Confidentiality Notice: This email, including all attachments and = replies thereto, are covered by the Electronic Communications Privacy = Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This = information is confidential, and intended only for the use of the = individuals or entities named above. If you are not the intended = recipient, you are hereby notified that any disclosure, copying, = distribution or the taking of any action in reliance on the contents of = this transmitted information is strictly prohibited. Please notify us if = you have received this transmission in error. Thank you. >>>=20 >>> Confidentiality Notice: This email, including all attachments and = replies thereto, are covered by the Electronic Communications Privacy = Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This = information is confidential, and intended only for the use of the = individuals or entities named above. If you are not the intended = recipient, you are hereby notified that any disclosure, copying, = distribution or the taking of any action in reliance on the contents of = this transmitted information is strictly prohibited. Please notify us if = you have received this transmission in error. Thank you. >>=20 >> Confidentiality Notice: This email, including all attachments and = replies thereto, are covered by the Electronic Communications Privacy = Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This = information is confidential, and intended only for the use of the = individuals or entities named above. If you are not the intended = recipient, you are hereby notified that any disclosure, copying, = distribution or the taking of any action in reliance on the contents of = this transmitted information is strictly prohibited. Please notify us if = you have received this transmission in error. Thank you. >=20 > Confidentiality Notice: This email, including all attachments and = replies thereto, are covered by the Electronic Communications Privacy = Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This = information is confidential, and intended only for the use of the = individuals or entities named above. If you are not the intended = recipient, you are hereby notified that any disclosure, copying, = distribution or the taking of any action in reliance on the contents of = this transmitted information is strictly prohibited. Please notify us if = you have received this transmission in error. Thank you. --Apple-Mail=_26DE5A7F-5B5A-46D5-ABBD-F5D6F1DA9646 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Thanks Ramsey. You=E2=80=99re a scholar and a gentleman. = I=E2=80=99ll ask the PHB if I can have some leeway to try that Maven = structure :-) Thanks for these tips!

On Dec 12, 2022, at 8:46 PM, Ramsey Gurley <Ramsey.Gurley@practicemojo.com> wrote:

If you have an Eclipse with m2e installed (I think it's = preinstalled these days), maven should mostly "just work." I = found


Very = helpful in making maven accommodate the fuzzy bunny layout. I would = suggest continued use of fuzzy bunny as the WOLips plugin is a little = rough around the edges when it comes to trying to use a standard maven = project layout. 

The pom.xml file in the = wodocker project might be instructive too. Specifically, the = <repositories> part. If you do that, you don't need to muck around = with ~/.m2/settings.xml at all or even bother to install WebObjects with = the WOInstaller.jar anymore. WOLips can now find all the wojars via = maven and you can just ignore the WORoot/System Root/User Root/etc = settings in the wolips plugin preferences altogether.

WOLips itself is also = easier to develop/contribute now in this regard. No WO installation is = necessary to do that anymore either.

I mostly use maven via = eclipse, I don't really use the command line unless there is not another = nice way to do something =EF=BF=BD=EF=BF=BD  



From: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org> on behalf of Aaron = Rosenzweig <aaron@chatnbike.com>
Sent: Tuesday, December 13, 2022 = 9:50 AM
To: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org>
Subject: [WO-DEV] Re: duplication in = frameworks: ERExtensions, javaeoaccess
 
Hi Ramsey and thank you! That=E2=80=99s some good = information. Thanks for taking the time to try that. You make it sound = easy but I was coming up empty :-) 

So basically you said =E2=80=9Cforget = JavaXML=E2=80=9D framework and completely avoided it. Then you deleted = some source files that dealt with Axis which came from JavaXML = because=E2=80=A6 well=E2=80=A6 it was a neat concept back in the day but = we aren=E2=80=99t really using it. I assume you added the javax.servlet = and xerces because they were needed and used to be accessed from = JavaXML. Ok=E2=80=A6 I get the idea. Creative :-) Not really that = straightforward but makes sense after you figured it out and shared with = us. 

I = think maybe I should move our build to Maven and start there first and = then maybe modernize our apps as best as I can while getting rid of = certain dependencies like JavaXML.framework like you had done. In other = words=E2=80=A6 I should probably do Maven first and then Java 17 second. = I=E2=80=99ll maybe compile the WOnder files in java 1.8 compliance mode = (at least for now). 

Is this the best primer on getting Maven working in = Eclipse?
<= div class=3D"">
It's got a note from = Ray Kiddy on 2022 06-24 that at least part of it doesn=E2=80=99t = work. 

It = also talks about three ways=E2=80=A6 mvn eclipse:eclipse, m2eclipse, and = q4e=E2=80=A6. which of the three is best? perhaps = m2eclipse? 

Thank you,
=E2=80=94 Aaron

On Dec 11, 2022, at 11:19 PM, Ramsey Gurley = <Ramsey.Gurley@practicemojo.com> wrote:

I'm not totally sure, because I haven't tried to = migrate wonder to 17 yet, but I think it's possible. With regards to = compiling ERExtensions with Java 17, I did that, saw your error, and = corrected it on ERExtensions: 

I updated the /pom.xml file to = source/target 17 instead of 1.8.

I added = an exclusion to JavaWebObjects in the same file, excluding = com.webobjects/JavaXML.

I deleted the WOWebServicePatch.java, because I = don't want to drag in Apache Axis with all its vulns for something = nobody uses anyway. I removed the reference to it in = ERXApplication.

In ERExtensions/pom.xml, I = added dependencies for javax.servlet/servlet-api/2.5 and = xerces/xerces/2.4.0. I would probably do this in the parent IRL and = manage the dependencies there, but for this quick test, that's what I = did.

And now ERExtensions = compiles without error in eclipse. There are a few other projects that = have compile errors and need some repair for a full Java 17 patch to be = attained. Some are really old and I don't know if anyone even cares = about them anymore.


From: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org> on behalf of Aaron = Rosenzweig <aaron@chatnbike.com>
Sent: Monday, December 12, 2022 = 11:47 AM
To: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org>
Subject: [WO-DEV] Re: duplication = in frameworks: ERExtensions, javaeoaccess
 
Thanks Ramsey but now I=E2=80=99m more = confused. 

Can = we compile for Java 17 compliance or not? Before it sounded like you = said it wasn=E2=80=99t possible but now it sounds like you are saying it = is possible. 

I tried to take one WOnder project, ERExtensions, and make it = compile for java 17 but I couldn=E2=80=99t get it to work in Eclipse. = Files like ERXApplication.java complain: The package org.w3c.dom is = accessible from more than one module: <unnamed>, = java.xml

I=E2=80= =99m not adding a module-info.java or trying to force it in any way to = have extra jigsaw JMPS bells and whistles. If I make it compile for java = 1.8 (like the .project file does in WOnder) then it=E2=80=99s happy. = Change it to java 17 compliance and it fails. 

In our own app, where we = include things like =E2=80=9Ccom.webobjects.eoaccess.EOAttribute=E2=80=9D = I get: The package com.webobjects.eoaccess is accessible from more = than one module: ERExtensions, javaeoaccess

I only tried creating a = module-info.java to see if that could buy us anything but I don=E2=80=99t = think it can. 

I=E2=80=99m looking at your docker project right now. You = mentioned it earlier but I didn=E2=80=99t understand and still don=E2=80=99= t really. I=E2=80=99m not wanting to use docker right now=E2=80=A6 but = maybe your point is that this is a simple WO app using Java 17 that = happens to be in docker. I=E2=80=99m looking around the project in = GitHub that you made and see that it is pretty simple, like a proof of = concept. Thank you. Is it possible that it=E2=80=99s so simple that = there aren=E2=80=99t any conflicts with duplicate package definitions in = different jars? Have you been able to do this with an large/real = project? 

If Java 17 compliance is possible, what am I missing to be = able to do it in Eclipse? 

On Dec = 11, 2022, at 9:14 PM, Ramsey Gurley <Ramsey.Gurley@practicemojo.com> wrote:

Did you have a chance to look at



It uses Java 17, and it works


I think the main confusion is = thinking we have to use jigsaw post-java 8, but that's not a = requirement. There's no module-info.java in that project, but it still = works like WO always did.

Wonder can probably be updated similarly, but I see no need to = cut off anyone still using 8 just so one of the three patches received a = year can use a switch expression or something like that :) Maybe when = JEP 182 kicks in and Java 8 can no longer compile with latest JDK, then = there is more reason to update it. That said, I'm also not against = updating to 17 or whatever the latest LTS happens to be if everyone = loves that idea.

From: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org> on behalf of Aaron = Rosenzweig <aaron@chatnbike.com>
Sent: Saturday, December 10, = 2022 10:59 PM
To: WebObjects & WOnder = Development <webobjects-dev@wocommunity.org>
Subject: [WO-DEV] Re: = duplication in frameworks: ERExtensions, javaeoaccess
 
Thanks Ramsey, 

To be clear, your situation is that you = develop and deploy on a Java 17 VM but you compile for Java 8 (1.8). = This affords you a modern VM with any of the latest security and = timestamp updates. It also affords you the use of Apple WebObjects and = WOnder with little effort (besides the ALL-UNNAMED = tweak). 

Did I get that correct (at least roughly?) 

I want to be clear about = it because it=E2=80=99s easy for someone to say or hear =E2=80=9CThey = are on Java 17=E2=80=9D and not fully interpret what it means. I think = all of us, if we are =E2=80=9Con Java 17=E2=80=9D are running in 1.8 = compliance mode. 


On Dec 9, 2022, at 6:28 PM, Ramsey Gurley = <Ramsey.Gurley@practicemojo.com> wrote:

>If we are targeting Java 17 = compliance

I don't really see any need for WOnder to go java 17 = in source. There's not a lot of active development happening in Wonder, = so it would be unnecessary work to do that and limit backward = compatibility with those still using 8. I just care that it continues to = build without errors using the latest java. That's what origin/master = should do now.

As you pointed out, without access to source, it is = getting harder and harder to drag WebObjects into the = future.


From: WebObjects & = WOnder Development <webobjects-dev@wocommunity.org> on behalf of Aaron = Rosenzweig <aaron@chatnbike.com>
Sent: Saturday, December = 10, 2022 6:37 AM
To: WebObjects & = WOnder Development <webobjects-dev@wocommunity.org>
Subject: [WO-DEV] duplication = in frameworks: ERExtensions, javaeoaccess
 
[You don't often get email from aaron@chatnbike.com. = Learn why this is important athttps://aka.ms/LearnAboutSenderIdentification ]

The package com.webobjects.eoaccess is defined in both: = ERExtensions, javaeoaccess

javaeoaccess is = a framework from NeXT/Apple.

I believe = ERExtensions recreated a distinctly apple package name so that we could = replace Apple's _EOExpressionArray with a new one from Wonder.

This worked because if we load ERExtensions = before JavaEOAccess.framework=E2=80=A6 in the class path, the first one = wins. Old JVMs would happily take the first. While this is risky, it = worked as long as we were careful (and sort of knew what Apple was = doing). We did things like this because we didn=E2=80=99t own = JavaEOAccess and basically =E2=80=9Cpatched it=E2=80=9D because we = wanted an improvement that Apple didn=E2=80=99t provide. We could do = better than Apple and this is how we did it, while letting the rest of = the Apple plumbing continue working with particular object = replacements.

This cannot work past Java = 1.8 can it? If we are targeting Java 17 compliance, we are then using = JPMS (Java Package Module System) aka =E2=80=9CJava Modules=E2=80=9D = which won=E2=80=99t accept this type of patch.

In my application project, I created a module-info.java and = placed these lines in it:

requires = ERExtensions;
requires javaeoaccess;

We need both lines right? But this results in the the = following unsurprising error:
The package = com.webobjects.eoaccess is accessible from more than one module: = ERExtensions, javaeoaccess

What am I = missing? Are we stuck? Without being able to update the Apple jars = directly, the old hacks cannot work in the new word of Java Modules. = We=E2=80=99ve done this in many places including NSArray. Are we stuck = living in Java 1.8 compliance with Java 17?
#############################################################This message is sent to you because you are subscribed = to
  the mailing list <webobjects-dev@wocommunity.org>.
To = unsubscribe, E-mail to: <webobjects-dev-off@wocommunity.org>
To = switch to the DIGEST mode, E-mail to <webobjects-dev-digest@wocommunity.org>
To = switch to the INDEX mode, E-mail to <webobjects-dev-index@wocommunity.org>
Send= administrative queries to  <webobjects-dev-request@wocommunity.org>


Confidentiality = Notice: This email, including = all attachments and replies thereto, are covered by the Electronic = Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally = privileged. This information is confidential, and intended only for the = use of the individuals or entities named above. If you are not the = intended recipient, you are hereby notified that any disclosure, = copying, distribution or the taking of any action in reliance on the = contents of this transmitted information is strictly prohibited. Please = notify us if you have received this transmission in error. Thank = you.


Confidentiality Notice: This email, including = all attachments and replies thereto, are covered by the Electronic = Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally = privileged. This information is confidential, and intended only for the = use of the individuals or entities named above. If you are not the = intended recipient, you are hereby notified that any disclosure, = copying, distribution or the taking of any action in reliance on the = contents of this transmitted information is strictly prohibited. Please = notify us if you have received this transmission in error. Thank = you.


Confidentiality Notice: This email, including all = attachments and replies thereto, are covered by the Electronic = Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally = privileged. This information is confidential, and intended only for the = use of the individuals or entities named above. If you are not the = intended recipient, you are hereby notified that any disclosure, = copying, distribution or the taking of any action in reliance on the = contents of this transmitted information is strictly prohibited. Please = notify us if you have received this transmission in error. Thank = you.


Confidentiality Notice: This email, including all = attachments and replies thereto, are covered by the Electronic = Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally = privileged. This information is confidential, and intended only for the = use of the individuals or entities named above. If you are not the = intended recipient, you are hereby notified that any disclosure, = copying, distribution or the taking of any action in reliance on the = contents of this transmitted information is strictly prohibited. Please = notify us if you have received this transmission in error. Thank = you.

= --Apple-Mail=_26DE5A7F-5B5A-46D5-ABBD-F5D6F1DA9646--