X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26746) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail-il1-f176.google.com ([209.85.166.176] verified) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.14) with ESMTPS id 29051051 for webobjects-dev@wocommunity.org; Sat, 10 Dec 2022 15:56:16 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=209.85.166.176; envelope-from=recurve@cocoanutstech.com Received: by mail-il1-f176.google.com with SMTP id o13so1320395ilc.7 for ; Sat, 10 Dec 2022 06:56:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chatnbike.com; s=chatnbike; h=references:to:in-reply-to:subject:date:mime-version:message-id:from :from:to:cc:subject:date:message-id:reply-to; bh=yBU7A656rUtFvQCZ9AULU9NBKTThOZUwRClK+DgrbM4=; b=J5HRpVpxTlgiEWqOp5nQH9CbEcv3DAIpDnaJ3AQnF6z7gEW3xU6AZo59ESQW5MTxG/ iK7rdVCMb0rHNz3Sbp9jenV2ixIXgW3FXBRvLNsvyhgbz7+y9cmrgmzMCGxVzoWv8EEu fovueGRujBxINiVrAL0zWjJrgzVfVoVCAuj4o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:to:in-reply-to:subject:date:mime-version:message-id:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=yBU7A656rUtFvQCZ9AULU9NBKTThOZUwRClK+DgrbM4=; b=x7ztP5iH8ZWNyXZtztFbr7fjc1gTN7meVy/TwhxRRIV9qRFWmRJvD/UO+Fwm8bkClr kxU1vETjEEgmYaUuizWTc6CagaHZuz6WnnTL0/CuYa2okZ9N8kD1WpUHKt6mNNy9o49C OqxV6EztqkSmt4Te5k6tVnZaYGKwCKHUNKRCWdPjCvJmgLXaXz/oxnOCW5JgXYCCAVmY euB8gt1zIXV72z3lNDJl1nTHde2TEWBUqLcJW8PKAZxw84fBe25lX1hYWzFNfD9bhy+C C4U8DEFbRlc7metoA6ZVsNLGNLXt2jqLDBxrqrKVY87xPfhMInGpdDMLsyKkcC9Ws8F9 fMhA== X-Gm-Message-State: ANoB5pmpopjDM/6XxiPcXjhkp/Qf9LHupiPLDNxHUm/g4aV/HtiMFdQu EgBeMwKMccglKhsckiZE7FOEGBCv5RJQenvg3vQ= X-Google-Smtp-Source: AA0mqf5SYUGn6reUNPn7VbJehUQwqWsO4oPNYiDxa8IS2+9PEozl0YWvUNaEji7Nlm0itGxyS31gxg== X-Received: by 2002:a05:7500:1d84:b0:ea:3dea:39e with SMTP id dv4-20020a0575001d8400b000ea3dea039emr856587gab.35.1670680767827; Sat, 10 Dec 2022 05:59:27 -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-20020ae9f018000000b006fc2b672950sm2149011qkg.37.2022.12.10.05.59.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Dec 2022 05:59:27 -0800 (PST) From: Aaron Rosenzweig Message-Id: <99D319F5-84BE-4F35-B7D9-AA1EEE7A5081@chatnbike.com> Content-Type: multipart/alternative; boundary="Apple-Mail=_5AA89CC3-DB0C-483C-ABDB-04D58F5F8BF2" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Sat, 10 Dec 2022 08:59:26 -0500 Subject: Re: [WO-DEV] duplication in frameworks: ERExtensions, javaeoaccess In-Reply-To: To: WebObjects & WOnder Development References: X-Mailer: Apple Mail (2.3696.120.41.1.1) --Apple-Mail=_5AA89CC3-DB0C-483C-ABDB-04D58F5F8BF2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Thanks Ramsey,=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 Did I get that correct (at least roughly?)=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 > 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. --Apple-Mail=_5AA89CC3-DB0C-483C-ABDB-04D58F5F8BF2 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 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.

= --Apple-Mail=_5AA89CC3-DB0C-483C-ABDB-04D58F5F8BF2--