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 [40.107.102.59] (HELO NAM04-DM6-obe.outbound.protection.outlook.com) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.14) with ESMTPS id 29059902 for webobjects-dev@wocommunity.org; Tue, 13 Dec 2022 02:46:57 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=40.107.102.59; envelope-from=Ramsey.Gurley@practicemojo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nFsOO5gACLZqAchiHGO1S8bIz7BbB/qj366vx1cTIwFTer0n7Hu6YxsCXPpTtiTsivcj3ba2EiAecXQencP90GJBgDZmeE6M1Y+XNknGl/qLYTjO8EgcquLOXvZglashTzXCG9KQBe7T2deMCKjITgbBw0JI24ykwgG7FZs2byoCEtbLvWXTRdnUIeKgKJPcFHmWa/A/KE4WMxMgOKruseRjAHpCnC5Wi47aRIKKUdH7+oFvfV2di6fznYvaNGqYRcjnSMgj5b7wOI0ojlwSatU3eaF/dE9hCzmScI4VGnrKShqJbPdPndKxqpZiOf+DVNAOhkABpMQdBuqz3/82nQ== 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=eevkkbwnoojfkPxV7Syc+hXJOyxzD2PssiPlPTlEe6k=; b=gHh6GxVaBDocU7LK4WNKq+xYPE5WO58/RNcTd0TnXIBv76+C2AQCgYgeSE/tRcCCUuAC1BDpw/uQ5mSOVbq/Ny7/gBWJwA++GSOiMw4U8F6u3nBxlfGHbzu+KBNSJqOo2FKLqqMcJyhNx0vkYlRwcd9eE0HOknYsGJRomCk/+UO1VAzmMLb60DbWVP3ILtKObKO7WJwc/7fQem3lmfK2nJFLjBRRAnT5iAE7K0469kKeXuYOZiT/Qzqds02Qrfw44WimlwxgNKqBkYigP2dbCoBncPL7g+wV+JzZrAPbpKKaQ7C8MTqm30nCR4Cpq/nLvLj1Kavp+uOxnQfuSzCILQ== 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=eevkkbwnoojfkPxV7Syc+hXJOyxzD2PssiPlPTlEe6k=; b=MjiiLVRhsOXoYKA57QZMK+UvTOqKcnquM39rYOrs7rgeVuzJAznbHD32MoiwdwNycWsCAkyBYpCjoxqFI4xe7ankO6kGgiv1EN412HewQ1wpZSYMJlAhhAxoIDmq085bhqd5IAIX4ftSBuE0Iabd6ZwCS1yTrW1y57iHpGJijyI= Received: from BYAPR18MB2534.namprd18.prod.outlook.com (2603:10b6:a03:12e::29) by CO6PR18MB4049.namprd18.prod.outlook.com (2603:10b6:5:347::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec 2022 01:46:32 +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; Tue, 13 Dec 2022 01:46:32 +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: AQHZDo0HbMfEByWuFEW7r/dLqiqgXq5rAx/T Date: Tue, 13 Dec 2022 01:46:31 +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_|CO6PR18MB4049:EE_ x-ms-office365-filtering-correlation-id: a749e84b-3399-4698-5a31-08dadcabdc4a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: plZMQaLw+HJtwKXtlqcluu1jevpkra4oBQEJ9jrqXJvVUyPT5wACAzKFv42mwP8cCh+e8l11c5rKj2FEfFDK5eeDg27SAlcjPtZ7elRrMxlIMinVUbo2N2yGCtOZCBNaO2Mk+vGX/xlEFqspl020hsTW1qQlUJHt6C1tslUq2UbC5DmeWV/GlAHJkMfnwKOxgBepmzmfggfnQajxX6GWitac61++YZCjRppY06R4FLB6F7EyrAXDghtRifs5YcA79pmqxVaP3AHWlwx2FeR0pAiwkjlrBfWGeucI0I9rMO/r6pTt4FlDfFlR4kMouzVyqBZPJ+uyzZgyWT+rur57tbJ4h/61k+AKaxy6leSDCpypFBMbv8y5s2sbgEE8+Y0zAQCh9tGQkhd+4HagmaYgIuAdwnmWNUioVTDd3ELNvfz8lRpBNWxoiQ1lykiiVgDljykkDIw0FOm8LjOkjVcJmfpV3mjsv2dysCn46xJwW7yCO4WkSW683j35URv6mBbi+oSFs8wVtRrw3Y6kgfx6zdNtj/eY0OD5o4nTxkMKoV8U9Yua+RgBVnYYMf/ar/eHyHwBkisifQ7Ll1/yxXbk/4ONDCbmDzIxSIYbw58HXAzLdhRtE21OfUt8+ytv7f2QlgF58RNRQkMfbiIdwCNI4iQjC/xo77+SHzvNfH+cP7N/8gHwGU8HYLxBQCKCK0bYzSKKdwiv/wvP0eumNgQPvd/EESJ5f97f6L6KRAsRq/I= 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)(39850400004)(366004)(136003)(376002)(346002)(396003)(451199015)(7696005)(6506007)(71200400001)(66899015)(53546011)(966005)(19627405001)(9686003)(26005)(478600001)(84970400001)(66446008)(8676002)(66946007)(66556008)(64756008)(66476007)(316002)(76116006)(6916009)(91956017)(33656002)(41300700001)(55016003)(2906002)(186003)(5660300002)(38070700005)(52536014)(86362001)(8936002)(166002)(83380400001)(30864003)(38100700002)(122000001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?TBCfBAgBAyrrYKPUW9zYcUlSNTijrhL+Rf3NIjg5UCbXXpOwFjHBqhLA?= =?Windows-1252?Q?BIE09AVlWIHXwfJoZ5luh0QHBlGGd27XLgQWLXHmsq9MKR3M6cmE7Kzn?= =?Windows-1252?Q?ZYjz9XJOlDyPWJ1+JWffgm39SwDnCvgE161XscLK1fnCAl2/FnpZBxHd?= =?Windows-1252?Q?ZEPVTtB7All7cwGbjrQ7/g+M2LQx3eBp830PpM3v6IxUd3nRk/PbFl21?= =?Windows-1252?Q?hwXX2ngRo1KYnQ8yDc8zGobC9P4l4GFvNhBjeNIM8d+c1cMfSggJ49Cz?= =?Windows-1252?Q?3bf8nRoLYIg79250vsGEeyGKwNdlTNl84DX3bxaWPo+whCAcNIFLc9IZ?= =?Windows-1252?Q?mXZbxK0pLTeZpmT9GSQ5/a7tExPx2wluSyz/hjNuWwSNpOSQpB1CSoFw?= =?Windows-1252?Q?vplHYY1efSqhT+96/r/2U5+IW4/B+C1oaZvb4RNeyZBaZYrgKo0+an6S?= =?Windows-1252?Q?O383vkfjRNhsZhQahYFO4Y4tG2o5aYV8H52FtfSe8UE+wkBLdVFUi+os?= =?Windows-1252?Q?Rn2x/SEe3ojxzMxacRhCOwjeF2PBRJgd+4jNNjsyrwARPxHG9PfgxIPM?= =?Windows-1252?Q?0cy02547gPsbMhhXOdznrawLqpNLzLbJgFTC54MQTucb/Aa6l71XEq28?= =?Windows-1252?Q?4ayTgtX10DEBAErK3auL296b91FlkyxzldxJv4bPqHxTCKE1u/cC+LkI?= =?Windows-1252?Q?eXkr1jncgHlcL5RwYz7X8Lq7sLUDPZ7xfzCg6RD87GndJfV/bJQtRHaD?= =?Windows-1252?Q?PnheBCdjiVR84NvCTh6ez353SDwIiXr5hr4FHvbT1xDRtA9ZGaK1Unkf?= =?Windows-1252?Q?u/iGJ0hFUEc+eJOrg93mFjoGAqcC6djm+2qaNCEokJpOebbRJ4QYbOSo?= =?Windows-1252?Q?K7ZIMJsUpmZhg6NJnmvx3CK9U5mQx/JHnKLA0xwfr0lEHUfObZoACCmq?= =?Windows-1252?Q?d1lDNN3TcyXkFY8N4b4aOUZhBxJlA3KjHG4cgONgY0go8wFilPp6zBbR?= =?Windows-1252?Q?uwqMV3UQqgLpd16NoM/nzLIl6TPAV4Z7ThUIenUC3mkWkwdYzDGDCb9D?= =?Windows-1252?Q?8Qr4rRK3CuV0LC5Yiq9oRK7z/VwVLBPqD86eHZLmr1RAuc/fG2MDE6jq?= =?Windows-1252?Q?fSLpWWjBwzUlxWmaG3uLfpwaI9GULXaBEqEmZbYqeD52gwm1n0eaJtTa?= =?Windows-1252?Q?opSbuJEyZ6uswOKLDFxAvtIMjr8wOd7LMYoir5DYo7WdNV0QDR4LcQpG?= =?Windows-1252?Q?3f35HyaRkayU/y3+bcBM3/b/sY4lfq4cNobV+qzqbKBHi50fTk1vQue8?= =?Windows-1252?Q?fcqb/mx3VQYGK4pb1im4SPL6hVaSZro9XDlUlP4KkJGV8PAAVjNV146P?= =?Windows-1252?Q?sHLl1JNLw1qMlQCxVCUzb0BWAt8Ejw3UsDsoq9+T07LffZ6HCS9hXY8o?= =?Windows-1252?Q?KiEw6XPUYmlElz5HKhBNNodpJLuzVcHfRqtTJarGqtjhzC9yK4+SFqbV?= =?Windows-1252?Q?bO/EDSjGnBEDxnGFMPTyGQqVp3pAmS1XpsPExp8U1DCiIR2aV/YXvgZ9?= =?Windows-1252?Q?vtBJfuoqsISSVCrcglsdU5ST7Z0BJw2ZMLQBM4ITOcS0Hr/V64OVyZm1?= =?Windows-1252?Q?SGCe3bJi24/1YB/MWRxowdLkUZ62v4u9w819JPhyHAkQUA3oztZDX/Kp?= =?Windows-1252?Q?yv/Jm6Hl3aO5DOy4M9nrbaM7Lz7nBG9O0+EEevoPWFA6n1VFva1Ebg?= =?Windows-1252?Q?=3D=3D?= Content-Type: multipart/alternative; boundary="_000_BYAPR18MB2534C58D821CCA8BF3663CFB86E39BYAPR18MB2534namp_" 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: a749e84b-3399-4698-5a31-08dadcabdc4a X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 01:46:31.9412 (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: XuAhF0m3cQpk28NQYkvzaCC7K86vKYTN8axrnLKRbWENHp+Gf4hu/UOClI3v1CXppS65YcYU/CFKGBoG6nM2cUZeBsPZrzNCqMldn4Gc2Z8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB4049 --_000_BYAPR18MB2534C58D821CCA8BF3663CFB86E39BYAPR18MB2534namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable If you have an Eclipse with m2e installed (I think it's preinstalled these = days), maven should mostly "just work." I found https://wiki.wocommunity.org/display/documentation/Maven+Kicking+the+tyres+= without+changing+your+project+structure Very helpful in making maven accommodate the fuzzy bunny layout. I would su= ggest continued use of fuzzy bunny as the WOLips plugin is a little rough a= round the edges when it comes to trying to use a standard maven project lay= out. The pom.xml file in the wodocker project might be instructive too. Specific= ally, the part. If you do that, you don't need to muck aroun= d 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 a= nd 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 W= O 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 ?? ________________________________ From: WebObjects & WOnder Development on b= ehalf of Aaron Rosenzweig Sent: Tuesday, December 13, 2022 9:50 AM To: WebObjects & WOnder Development Subject: [WO-DEV] Re: duplication in frameworks: ERExtensions, javaeoaccess Hi Ramsey and thank you! That=92s 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 =93forget JavaXML=94 framework and completely avoided= it. Then you deleted some source files that dealt with Axis which came fro= m JavaXML because=85 well=85 it was a neat concept back in the day but we a= ren=92t really using it. I assume you added the javax.servlet and xerces be= cause they were needed and used to be accessed from JavaXML. Ok=85 I get th= e 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 th= en maybe modernize our apps as best as I can while getting rid of certain d= ependencies like JavaXML.framework like you had done. In other words=85 I s= hould probably do Maven first and then Java 17 second. I=92ll 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? https://wiki.wocommunity.org/display/WOL/Quick+Start It's got a note from Ray Kiddy on 2022 06-24 that at least part of it doesn= =92t work. It also talks about three ways=85 mvn eclipse:eclipse, m2eclipse, and q4e= =85. which of the three is best? perhaps m2eclipse? Thank you, =97 Aaron On Dec 11, 2022, at 11:19 PM, Ramsey Gurley > 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.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 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 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. ________________________________ 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_BYAPR18MB2534C58D821CCA8BF3663CFB86E39BYAPR18MB2534namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
If you have an Eclipse wit= h 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 su= ggest continued use of fuzzy bunny as the WOLips plugin is a little rough a= round the edges when it comes to trying to use a standard maven project lay= out. 

The pom.xml file in the wodocker project might be instructive too. Specific= ally, 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/S= ystem Root/User Root/etc settings in the wolips plugin preferences altogeth= er.

WOLips itself is also easier to develop/contribute now in this regard. No W= O 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 ��  



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

So basically you said =93forget JavaXML=94 framework and co= mpletely avoided it. Then you deleted some source files that dealt with Axi= s which came from JavaXML because=85 well=85 it was a neat concept back in = the day but we aren=92t really using it. I assume you added the javax.servlet and xerces because they were needed and used t= o be accessed from JavaXML. Ok=85 I get the idea. Creative :-) Not really t= hat straightforward but makes sense after you figured it out and shared wit= h us. 

I think maybe I should move our build to Maven and start th= ere 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 ot= her words=85 I should probably do Maven first and then Java 17 second. I=92ll maybe compile the WOnder files in ja= va 1.8 compliance mode (at least for now). 

Is this the best primer on getting Maven working in Eclipse= ?

It's got a note from Ray Kiddy on 2022 06-24 that at least = part of it doesn=92t work. 

It also talks about three ways=85 mvn eclipse:eclipse, m2ec= lipse, and q4e=85. which of the three is best? perhaps m2eclipse? 

Thank you,
=97 Aaron

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

I'm not totally sure, bec= ause 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.webob= jects/JavaXML.

I deleted the WOWebServic= ePatch.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, tha= t's what I did.

And now ERExtensions comp= iles without error in eclipse. There are a few other projects that have com= pile 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: Web= Objects & WOnder Development <webobjects-dev@wocommunity.org> on behalf of Aaron Rosenzweig <aaron@chatnbike.com>
Sent: Monday, December 12, 2022 11:47 AM
To: W= ebObjects & WOnder Development <webobjects-dev@wocommunity.org>
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 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: W= ebObjects & 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: <= /span>[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: 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 a= thttps= ://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 = and replies thereto, are covered by the Electronic Communications Privacy A= ct, 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 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_BYAPR18MB2534C58D821CCA8BF3663CFB86E39BYAPR18MB2534namp_--