X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26747) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from [40.107.243.63] (HELO NAM12-DM6-obe.outbound.protection.outlook.com) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.14) with ESMTPS id 29054539 for webobjects-dev@wocommunity.org; Mon, 12 Dec 2022 05:20:10 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=40.107.243.63; envelope-from=Ramsey.Gurley@practicemojo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YG4o5SDwPLhHQ38tmfItYL9wQInwHQOj8kXC+WsgNZJqWnsC4e6Ddmc6PX0bvHKxS95bV4WNAx0Mo2xUL0XciMjV2gkACr41xFy/tPIbfd5mvmUniWlGyrcfHmH53xVT3qbPXSrqiO7z99/mhnKX7tb22TEtGRQzT5hnrmBEQVuqdJOjy/mLpggzyEMtFq5pWhN4jPcBCxX7CBcJaiySZZQI0Weig6DGDvq14Yo8ze61apR6Jdnco+v7yltQ2mcOObfiwBlQQTIOtgq+YkGapArWJxDl7fmo2tyc3gDrhzgRV4nWrtjYN7zJ6GcOUpztOj2LYO/05XJHBOqaEwce8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0GczKNEwfpHAozQofSebBpwg6GnAuQTadCFZMW7m2h4=; b=LMotf2C/8nlDHExLAoMVG7fArb50F4JKOs52cS3iTcCoegfJrpE/JPseHbHDgL5OH7Ko3IXiawFfwqjjxBnwUMrQ5bmAutiRVTjOfArAOu7iDCI/LgVixVchxHs7v+3yiWfMvDzNhUab8VxQBdYEINAeNHybvUiUQChD2CUzsyn0WcBSIG+wb6QwEcPBLtTSBSoMz1moj4ZiEkz+N2rHm7LzItdtm7btgNopB26fpPiqQl1FCSvxFvozNUR11ktXhWhsM8fJasi5NUfOq+z6fKf18vLb+VpswhDWJVqU28aQKpk4LRfqmmyLSI8VTB1woQvuLk/VKanlY+fPbeGjaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=practicemojo.com; dmarc=pass action=none header.from=practicemojo.com; dkim=pass header.d=practicemojo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prositesinc.onmicrosoft.com; s=selector2-prositesinc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0GczKNEwfpHAozQofSebBpwg6GnAuQTadCFZMW7m2h4=; b=AoVcrejJe4Eil4TzjSqe5F6NXXqmeHfCdEVIlvIZDy5DAuI6DnQrYygLeTaV9jMCYcn7Mcb9SsFd6Pa7bzNDaCxUqFZTx1pBgCJuXwH7dHdof4DaQbnrvpMobkFBDH9ZVjH1yIuDud90gXlZQA+KtlXoSRoBK886soe1VXeR0Es= Received: from BYAPR18MB2534.namprd18.prod.outlook.com (2603:10b6:a03:12e::29) by PH0PR18MB3895.namprd18.prod.outlook.com (2603:10b6:510:2a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 12 Dec 2022 04:19:44 +0000 Received: from BYAPR18MB2534.namprd18.prod.outlook.com ([fe80::9e23:ee74:7a26:541d]) by BYAPR18MB2534.namprd18.prod.outlook.com ([fe80::9e23:ee74:7a26:541d%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022 04:19:44 +0000 From: Ramsey Gurley To: WebObjects & WOnder Development Subject: Re: [WO-DEV] Re: duplication in frameworks: ERExtensions, javaeoaccess Thread-Topic: [WO-DEV] Re: duplication in frameworks: ERExtensions, javaeoaccess Thread-Index: AQHZDdQozfh71XF2dkigZS80h5qo865pnaao Date: Mon, 12 Dec 2022 04:19:44 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=practicemojo.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR18MB2534:EE_|PH0PR18MB3895:EE_ x-ms-office365-filtering-correlation-id: 713965c8-4b25-48ea-b3b4-08dadbf818f8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9mWDGA62TLSVG/A7WUFk/Jg/h8qdOctmlLjouO3DzIDpsmsyEffrDTgpRIYOMmuu0UtALGzR7A4x1LRaAfjC5U4ir1t+hQiqI+17TMEr31fH5Rp0zAaK56vmEPqOz/1YTfDK/WDfWFqupHWqJOde71KKHWVgbWG3wI0aaNoPYYK2+/NVhvxi/fnzyuJhoFRHtpD2HBbX6sQQHymV2+ZxnBXW5xCETM7sbMcpgb4YYaQhTboNQCIab1FyhV1YMJCDbnVXMj/lrfgb9jO/FiQoidPn4+fVNVMivGHakdCo2O1pxUakJhteUMUYvF19c0m3qpcbkvl/Ocp5AKzZmSkSB+cCICq6CLBh8pFNhfe5mrvGdWB7tWWgbXYzxuysIaqvzdaoNc9WUYj0RHJ/XmrR6moif6yhAPvAHUD78wqOHzvmxPR/61RHDbdwXBSV29asOQDe6TYXIZkoU8oxLJyaPHUMXum/s5EjpoPX3VOGy0oAwUZk80la4DVpBRzzZyD7iDFZoEJa9KSeAb6Nfd+evfVLFwtT7FiK1R85Eesi67HQYXnGnZNehd1PiRwC1G+DxAoVGjOVMge/ApNbXn84WDxRtq7zfJNx5Xt41L7qErVNF8YUI1eagj5VlEVrzXKW0QiHvUQxQzRkDSho0/upx66z3e68R4ecXktaKKUOk3fN6gGiYkRjy09aFB3wgaOZSe7ROXkNCP/9aqilN1v0nObKu1zVRFMJzLL3KfCthEg= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR18MB2534.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(39830400003)(346002)(136003)(396003)(451199015)(41300700001)(5660300002)(52536014)(8936002)(91956017)(66556008)(33656002)(76116006)(66446008)(64756008)(66476007)(66946007)(122000001)(186003)(8676002)(38100700002)(53546011)(7696005)(6506007)(9686003)(83380400001)(966005)(86362001)(38070700005)(26005)(316002)(6916009)(55016003)(478600001)(71200400001)(166002)(84970400001)(19627405001)(66899015)(2906002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?0goE22I9gnlOqbOla0hb3F9GbN/0DXwyyW4j0aNwj6dRuTrvlA7kFU9V?= =?Windows-1252?Q?1lesbqIuCkkrd5O58mS3H3NPWjT5OOS77y+WgJc/AnibEvPIostuGeOL?= =?Windows-1252?Q?yd/uZc3Uwc31VdbvvcAd5KU7X5tTWp6I+FZ2ALLULLhJx1Hz2kDtMjDT?= =?Windows-1252?Q?6sf/xQ7FXjZEB6chbNbgBJ8Ux1nzSL34RAymkdLIh3V59CbtB4ix7l/T?= =?Windows-1252?Q?IkHEAghoDHOb0yWiS7QIr6/FyJet0SM7NmXQ7Ev6gS7vBYegTo5AfjZ9?= =?Windows-1252?Q?LJLCFXerq4uAMaTqXp8A4AybekNT4PD6hGltbaHns9zclviLOvREuoFB?= =?Windows-1252?Q?fZHiHGE+bK5JZXQ+5y5y0YwqKiaXg2MblGBUsd/z1hkewkLgVaoinjcE?= =?Windows-1252?Q?nujHKT8FsuAnOBRjd9LvXAjCX0h0p2GY0uAMDY7KyeCBJrNAhVdRuvu2?= =?Windows-1252?Q?JT4Z1m8mbCzlOdqYuoqkKILJC0ihfwjrrfrtdQyu5DwOw5wP734SawX+?= =?Windows-1252?Q?66IecIme51hIS+G5uvR/0DUlRvv77zXVSAJ8ZzwuUKGr1+qjNWgs4PDm?= =?Windows-1252?Q?7iR09ljtlbdlkj23DaBX7S68gf4ttk5VYEgQk5WvXS0E9o6W4dIAK7YC?= =?Windows-1252?Q?vw1k3Jp+eWWlkNW63yFYnK4CBozvyOl8fzIwDz60uKK/w7hGgpxkeAVG?= =?Windows-1252?Q?RNpulpZznTcejrGbJbPEtPc8AAB6HQFpFWdJgPPQG4Y3IKMPG2hSjS1O?= =?Windows-1252?Q?dFD8hg3+NQehoKA5S3BqBteZBdPH8i3ZBfllSXckTnlvHzM291RpSX3P?= =?Windows-1252?Q?0Xk80zuR0nFHWSOWmtAhgth+Vr210dRSvblYRbGw5CSjbnE680zwJass?= =?Windows-1252?Q?W8ETLdHMIhH8fiErwjmkFxZMy5lIE8Ryu9V1t2P1tMMOZv6BkTjz59CQ?= =?Windows-1252?Q?56b/sqA+X6DF/yoedoQ5oiq3Z/WMhfjS/HpyowF+VKhmcaKm3odl28Ix?= =?Windows-1252?Q?xGMFU/98vj0qRwZMwXyxynH4Zt11z2JpCy2E2QrAueblg4ZwE3cVpJz4?= =?Windows-1252?Q?JBJTkadCdjrxq9ljGL4s3KrBqIkdyvmIZ8knG/Bf7K6ciZkO9G5Pw86c?= =?Windows-1252?Q?G35c+IrMRjNWNvYbQNQizc+Edcd/E5kbm8WkE86yMY1lD58nway5PvSx?= =?Windows-1252?Q?/AHdU7oICNZLTPgBgOfmasvlT20ynG+lK4IQbK3G8D7BLiGnYNC3eMIB?= =?Windows-1252?Q?7RXNWJYDmVtYi0QOki/ZphKpkDGSndTru+F7EvU038ay1djZJs1To/Kg?= =?Windows-1252?Q?5aMIs3GdnPI9Zb/SBIdQlTOf/UUUVXMKK3yXzEY6ccNfRbW7efyYfoLd?= =?Windows-1252?Q?YKCOnEapaJ1B3WOk0RgAkmkvZmp77H1TLGK3qeB5uTVTuoHMN9r8NWxz?= =?Windows-1252?Q?AUYJ5oHzHtG+1YVamVDczOd+tS3G50usL2ZrpevfrUBnzIFeWGsZ89Vo?= =?Windows-1252?Q?rleFSMy+1xs55lS1KzsylBQvKmLKIH3OgzJacrh0EI39pBfmULGakKPz?= =?Windows-1252?Q?BYZikVqQDvVA9JYbEtrezE4XUP1ExU0WspSMsukPkswc69BcrusK02C/?= =?Windows-1252?Q?RQI7JMTflG7UmUhWJaIkYNIaAm2MFeYH+SvfTeh19/Ln6kXYQYcJK0/c?= =?Windows-1252?Q?t6nIT2qWQ/aNM4F+Vk27hIukcwYMeWehfrOZg4N2zjxndpWRAmvXCQ?= =?Windows-1252?Q?=3D=3D?= Content-Type: multipart/alternative; boundary="_000_BYAPR18MB2534428FE1618E898CFC57C486E29BYAPR18MB2534namp_" MIME-Version: 1.0 X-OriginatorOrg: practicemojo.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR18MB2534.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 713965c8-4b25-48ea-b3b4-08dadbf818f8 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2022 04:19:44.3202 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: de0a5129-99d3-4d35-a928-09047a134775 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XktrH9F1yqRrYhPnryPeGSrDTJnuWGjO4MVJlbBSTpVCnVf/s4xTluTKZ3NKKgNcHrhvK2naq7AqHxpvX73Gwg7bTmoDOVQig95c17zfmYE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB3895 --_000_BYAPR18MB2534428FE1618E898CFC57C486E29BYAPR18MB2534namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable 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.webo= bjects/JavaXML. I deleted the WOWebServicePatch.java, because I don't want to drag in Apach= e Axis with all its vulns for something nobody uses anyway. I removed the r= eference 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 an= d 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 oth= er projects that have compile errors and need some repair for a full Java 1= 7 patch to be attained. Some are really old and I don't know if anyone even= cares about them anymore. ________________________________ From: WebObjects & WOnder Development on b= ehalf of Aaron Rosenzweig Sent: Monday, December 12, 2022 11:47 AM To: WebObjects & WOnder Development Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, javaeoaccess Thanks Ramsey but now I=92m more confused. Can we compile for Java 17 compliance or not? Before it sounded like you sa= id it wasn=92t possible but now it sounds like you are saying it is possibl= e. I tried to take one WOnder project, ERExtensions, and make it compile for j= ava 17 but I couldn=92t get it to work in Eclipse. Files like ERXApplicatio= n.java complain: The package org.w3c.dom is accessible from more than one m= odule: , java.xml I=92m not adding a module-info.java or trying to force it in any way to hav= e extra jigsaw JMPS bells and whistles. If I make it compile for java 1.8 (= like the .project file does in WOnder) then it=92s happy. Change it to java= 17 compliance and it fails. In our own app, where we include things like =93com.webobjects.eoaccess.EOA= ttribute=94 I get: The package com.webobjects.eoaccess is accessible from m= ore than one module: ERExtensions, javaeoaccess I only tried creating a module-info.java to see if that could buy us anythi= ng but I don=92t think it can. I=92m looking at your docker project right now. You mentioned it earlier bu= t I didn=92t understand and still don=92t really. I=92m not wanting to use = docker right now=85 but maybe your point is that this is a simple WO app us= ing Java 17 that happens to be in docker. I=92m looking around the project = in GitHub that you made and see that it is pretty simple, like a proof of c= oncept. Thank you. Is it possible that it=92s so simple that there aren=92t= any conflicts with duplicate package definitions in different jars? Have y= ou 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 > wrote: Did you have a chance to look at https://github.com/nullterminated/wodocker It uses Java 17, and it works https://github.com/nullterminated/wodocker/blob/master/pom.xml#L77 I think the main confusion is thinking we have to use jigsaw post-java 8, b= ut that's not a requirement. There's no module-info.java in that project, b= ut it still works like WO always did. Wonder can probably be updated similarly, but I see no need to cut off anyo= ne 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 an= d Java 8 can no longer compile with latest JDK, then there is more reason t= o 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 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 A= pple WebObjects and WOnder with little effort (besides the ALL-UNNAMED twea= k). Did I get that correct (at least roughly?) I want to be clear about it because it=92s easy for someone to say or hear = =93They are on Java 17=94 and not fully interpret what it means. I think al= l of us, if we are =93on Java 17=94 are running in 1.8 compliance mode. On Dec 9, 2022, at 6:28 PM, Ramsey Gurley > 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 unnecessar= y 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 ja= va. That's what origin/master should do now. As you pointed out, without access to source, it is getting harder and hard= er to drag WebObjects into the future. ________________________________ 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 [You don't often get email from aaron@chatnbike.com. Learn why this is important athttps://aka.ms/LearnAboutSenderIdentifi= cation ] The package com.webobjects.eoaccess is defined in both: ERExtensions, javae= oaccess 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= =85 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=92t = own JavaEOAccess and basically =93patched it=94 because we wanted an improv= ement that Apple didn=92t provide. We could do better than Apple and this i= s how we did it, while letting the rest of the Apple plumbing continue work= ing with particular object replacements. This cannot work past Java 1.8 can it? If we are targeting Java 17 complian= ce, we are then using JPMS (Java Package Module System) aka =93Java Modules= =94 which won=92t accept this type of patch. In my application project, I created a module-info.java and placed these li= nes in it: requires ERExtensions; requires javaeoaccess; We need both lines right? But this results in the the following unsurprisin= g 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 jar= s directly, the old hacks cannot work in the new word of Java Modules. We= =92ve done this in many places including NSArray. Are we stuck living in Ja= va 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 > ________________________________ Confidentiality Notice: This email, including all attachments and replies t= hereto, are covered by the Electronic Communications Privacy Act, 18 U.S.C.= Sections 2510-2521 and are legally privileged. This information is confide= ntial, and intended only for the use of the individuals or entities named a= bove. If you are not the intended recipient, you are hereby notified that a= ny disclosure, copying, distribution or the taking of any action in relianc= e on the contents of this transmitted information is strictly prohibited. P= lease notify us if you have received this transmission in error. Thank you. ________________________________ Confidentiality Notice: This email, including all attachments and replies t= hereto, are covered by the Electronic Communications Privacy Act, 18 U.S.C.= Sections 2510-2521 and are legally privileged. This information is confide= ntial, and intended only for the use of the individuals or entities named a= bove. If you are not the intended recipient, you are hereby notified that a= ny disclosure, copying, distribution or the taking of any action in relianc= e on the contents of this transmitted information is strictly prohibited. P= lease notify us if you have received this transmission in error. Thank you. ________________________________ Confidentiality Notice: This email, including all attachments and replies t= hereto, are covered by the Electronic Communications Privacy Act, 18 U.S.C.= Sections 2510-2521 and are legally privileged. This information is confide= ntial, and intended only for the use of the individuals or entities named a= bove. If you are not the intended recipient, you are hereby notified that a= ny disclosure, copying, distribution or the taking of any action in relianc= e on the contents of this transmitted information is strictly prohibited. P= lease notify us if you have received this transmission in error. Thank you. --_000_BYAPR18MB2534428FE1618E898CFC57C486E29BYAPR18MB2534namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
I'm not totally sure, because I haven't tried to mi= grate 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.webob= jects/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 j= avax.servlet/servlet-api/2.5 and xerces/xerces/2.4.0. I would probably do this in the parent IRL and manage the dependencies the= re, but for this quick test, that's what I did.

And now ERExtensions compiles without error in ecli= pse. 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 abou= t them anymore.


From: WebObjects & WOnd= er Development <webobjects-dev@wocommunity.org> on behalf of Aaron Ro= senzweig <aaron@chatnbike.com>
Sent: Monday, December 12, 2022 11:47 AM
To: WebObjects & WOnder Development <webobjects-dev@wocommuni= ty.org>
Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, javae= oaccess
 

Can we compile for Java 17 compliance or not? Before it sou= nded like you said it wasn=92t possible but now it sounds like you are sayi= ng it is possible. 

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

I=92m not adding a module-info.java or trying to force it i= n any way to have extra jigsaw JMPS bells and whistles. If I make it compil= e for java 1.8 (like the .project file does in WOnder) then it=92s happy. C= hange it to java 17 compliance and it fails. 

In our own app, where we include things like =93com.webobje= cts.eoaccess.EOAttribute=94 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 cou= ld buy us anything but I don=92t think it can. 

I=92m looking at your docker project right now. You mention= ed it earlier but I didn=92t understand and still don=92t really. I=92m not= wanting to use docker right now=85 but maybe your point is that this is a = simple WO app using Java 17 that happens to be in docker. I=92m 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 po= ssible that it=92s so simple that there aren=92t any conflicts with duplica= te 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, b= ut that's not a requirement. There's no module-info.java in that project, b= ut it still works like WO always did.

Wonder can probably be updated similarly, but I see no need to cut off anyo= ne 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 an= d Java 8 can no longer compile with latest JDK, then there is more reason to update it. That said, I'm also no= t against updating to 17 or whatever the latest LTS happens to be if everyo= ne loves that idea.

From: Web= Objects & WOnder Development <webobjects-dev@wocommunity.org> on behalf of Aaron Rosenzweig <aaron@chatnbike.com>
Sent: Saturday, December 10, 2022 10:59 PM
To: W= ebObjects & 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=92s easy for someone= to say or hear =93They are on Java 17=94 and not fully interpret what it m= eans. I think all of us, if we are =93on Java 17=94 are running in 1.8 comp= liance 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 shou= ld do now.

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


From: W= ebObjects & 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: <= /span>[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, javae= oaccess

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= =85 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=92t own JavaEOAccess and basically =93pat= ched it=94 because we wanted an improvement that Apple didn=92t provide. We= could do better than Apple and this is how we did it, while letting the re= st 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 complian= ce, we are then using JPMS (Java Package Module System) aka =93Java Modules= =94 which won=92t accept this type of patch.

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

requires ERExtensions;
requires javaeoaccess;

We need both lines right? But this results in the the following unsurprisin= g 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 jar= s directly, the old hacks cannot work in the new word of Java Modules. We= =92ve done this in many places including NSArray. Are we stuck living in Ja= va 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<= /a>>
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 an= d 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 us= e of the individuals or entities named above. If you are not the intended r= ecipient, you are hereby notified that any disclosure, copying, distributio= n or the taking of any action in reliance on the contents of this transmitted information is strictly prohi= bited. Please notify us if you have received this transmission in error. Th= ank 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 us= e of the individuals or entities named above. If you are not the intended r= ecipient, you are hereby notified that any disclosure, copying, distributio= n or the taking of any action in reliance on the contents of this transmitted information is strictly prohi= bited. Please notify us if you have received this transmission in error. Th= ank 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 thi= s transmitted information is strictly prohibited. Please notify us if you have received this transmission in err= or. Thank you.
--_000_BYAPR18MB2534428FE1618E898CFC57C486E29BYAPR18MB2534namp_--