X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26745) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail-qv1-f53.google.com ([209.85.219.53] verified) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.14) with ESMTPS id 29049622 for webobjects-dev@wocommunity.org; Fri, 09 Dec 2022 22:38:09 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=209.85.219.53; envelope-from=recurve@cocoanutstech.com Received: by mail-qv1-f53.google.com with SMTP id c14so3961658qvq.0 for ; Fri, 09 Dec 2022 13:38:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chatnbike.com; s=chatnbike; h=to:message-id:subject:date:mime-version:content-transfer-encoding :from:from:to:cc:subject:date:message-id:reply-to; bh=1oHbLKZWeOZ7VedSJwbv5MqEyNMF736GXkBVMMD7atI=; b=cwa2Hb9VP7aiMVMkrkuzX6cWOgc6HnZZ9dtEiiMgiqxftbIgO+wGPgHMDX4pavIY1m zPEwY5FGLNGqhqYdLQpilysqs49x29CFjdm5111ajr4Iphc0kB85kVYm4TQSvbf8ur8r Z7ffzIoQ9smhH/Abz8DCgd3j1Ccf84SRcSHhY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:message-id:subject:date:mime-version:content-transfer-encoding :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1oHbLKZWeOZ7VedSJwbv5MqEyNMF736GXkBVMMD7atI=; b=ebogjKQf1ofYpOGlC3c9YuQ+a+dMdh3JGf9RBMf+au3z7B3/ZrGjRmFlhwrLdrKspt 19fo996gSmUfo2vQESrNeiUzdi8MKDuLXD/R+qrjBlk80gTPSoG8Ee7m9yGXUMB0yNKf +Ey0WX4JEUJCNSZdTuNel+kX2gZRe2eC6l9MVPDank74mmjZB4/U2pePnsLwoDpT8CNs iyHY/rmg7gGPwzMlVzo6JFbgRSna2WWQ7EIckGA4FPMv45NQqqa9tlWmE0e49QzZDfLT DfCG/aeKiZ7edGrRKWYYZtd39FSp2mKZ9JPf1P/xqjCEkhyADT7SNBUzAlSdHE5FJtbd DBdA== X-Gm-Message-State: ANoB5pkskObe0IbtAootOSItRuY9AgFTNRtgQfGMz0u8eVLUHlFjnXxe Ew1uQ7UtuLvKCPUiAseflag6+CRmwBExykwLDCo= X-Google-Smtp-Source: AA0mqf7kdd1p8lC9FjsGlsPSmYJVPtGBWiimoOQ6ILqOJJdpur66UHY35tkiWphq0li+nsZ+WZC0yA== X-Received: by 2002:a05:6214:e82:b0:4c6:f658:6e08 with SMTP id hf2-20020a0562140e8200b004c6f6586e08mr15486185qvb.31.1670621867359; Fri, 09 Dec 2022 13:37:47 -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 x22-20020a05620a449600b006eee3a09ff3sm731527qkp.69.2022.12.09.13.37.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Dec 2022 13:37:47 -0800 (PST) From: Aaron Rosenzweig Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Fri, 9 Dec 2022 16:37:46 -0500 Subject: duplication in frameworks: ERExtensions, javaeoaccess Message-Id: To: WebObjects & WOnder Development X-Mailer: Apple Mail (2.3696.120.41.1.1) The package com.webobjects.eoaccess is defined in both: ERExtensions, = javaeoaccess 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: 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?=20=