X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26798) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail-qt1-f170.google.com ([209.85.160.170] verified) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.17) with ESMTPS id 29305225 for webobjects-dev@wocommunity.org; Tue, 31 Jan 2023 15:00:00 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=209.85.160.170; envelope-from=recurve@cocoanutstech.com Received: by mail-qt1-f170.google.com with SMTP id e8so13335689qts.1 for ; Tue, 31 Jan 2023 06:00:00 -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=rOZvokBL1oiuvpcdARmaxXdQ3tUX5Lj+ctGIRz3m3Cc=; b=MDG+DHHlNgTovi0f77RGMTBu2qU8LEg4JqjT26ihO9FIxWrwy3i2Ilu8E5Iy1prUAy kIeFfydGN0G6PmtSQ3P2jsQQYOQe42DVRY3IYqlDit1Qn9o2+rNyeyUVNyswRHk6tWg5 3trAWGjYqF0sWTBHWunJY4pbNDBC/ktdM5aYc= 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=rOZvokBL1oiuvpcdARmaxXdQ3tUX5Lj+ctGIRz3m3Cc=; b=6N7dwJIibAippejj/j007Mhv4d6HXXHdNGL15elpa+eo2c+Xjrzifv7CODUnMngcfz iLr4e5a2fFRj8X1HWOPeuUbqtX3OBE8pLYqWYQm72ld9uVLyojQjnCUZzli3l2TSMRmH iJw+8RlPwxhXAIyvxBcUSptwB6iWrb6o2TxptyRtoQrsuP59y1i8VZRxqmlS5mF1YTEW XM6El5QR53cOxoWfx2Lc4/qI6eGu+PngBdHwEaTcmz6tM6KpSINn1t6WWnFcwBPvy+ya 1JzK4l/GduR+Hzsy0PN1uB1dbneWz/bqatVS74o2Bfi5Lqd0HhfG6AV33d5/thBcFn/A X9cg== X-Gm-Message-State: AFqh2kpcv0G79E1lNTt4co3iLEQCJSjXNjqJQ2mUxSbS8GpqxouptO3v EeAk7syL/7fID8YohR4txVcSBeunGfrh6/+YsWA= X-Google-Smtp-Source: AMrXdXthW+y0SsEsibfkc365I/vqV0HsBmeOXQs9G/V+Wqxj2Yzy1UMQBD8ZL5fyMjjPobA0Q4P3pQ== X-Received: by 2002:ac8:7cb2:0:b0:3b6:3e4f:f876 with SMTP id z18-20020ac87cb2000000b003b63e4ff876mr68347339qtv.18.1675173578409; Tue, 31 Jan 2023 05:59:38 -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 27-20020a05620a071b00b007208a81e11esm3264564qkc.41.2023.01.31.05.59.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Jan 2023 05:59:38 -0800 (PST) Content-Type: multipart/alternative; boundary="Apple-Mail=_5C7C83B8-96FE-4F5D-8673-262B2B3955BA" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\)) Subject: Re: Maven Components subfolders incompatibility? From: Aaron Rosenzweig In-Reply-To: <8A845459-6563-4059-91DE-531211A4E235@chatnbike.com> Date: Tue, 31 Jan 2023 08:59:37 -0500 Cc: Ramsey Gurley Message-Id: <71E45474-24A6-4D8A-BBAB-E8278C3C2A63@chatnbike.com> References: <8A845459-6563-4059-91DE-531211A4E235@chatnbike.com> To: WebObjects & WOnder Development X-Mailer: Apple Mail (2.3696.120.41.1.2) --Apple-Mail=_5C7C83B8-96FE-4F5D-8673-262B2B3955BA Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi thank you Ramsey. You are always so kind and fast to reply.=20 Yes! your advice of overriding =E2=80=9CinstallPatches()=E2=80=9D to = manually kick WO to have a mapping to the missing components works! As I = click around the app I=E2=80=99m finding lots of WOComponents having = this problem but they only are discernible as you step into them.=20 It=E2=80=99s concerning but a good workaround. I didn=E2=80=99t have = these problems before with ANT builds. <>=20 In other news I noticed there are upgrades on the maven lifecycle plug = in. In your docker example, you are using v2.2.1 (others recommended = 2.3-SNAPSHOT) and now there is a 2.5 - upgrading didn=E2=80=99t make any = changes for the component discovery but I=E2=80=99ll note the following = changes in the POM to include it: 1) org.objectstyle.woproject.maven2 -> = org.wocommunity 2) maven-wolifecycle-plugin -> = wolifecycle-maven-plugin 3) 2.3-SNAPSHOT -> 2.5 Can learn more about v2.5 here: = https://github.com/wocommunity/wolifecycle-maven-plugin = =20 Our Viking friend also an alternative plugin: = https://github.com/undur/vermilingua-maven-plugin = =20 Thank you, =E2=80=94 Aaron > On Jan 30, 2023, at 3:46 PM, Aaron Rosenzweig = wrote: >=20 > Hi All,=20 >=20 > I discovered this option for the Maven lifecycle plugin: >=20 > > true > >=20 > I tried it and I can see inside the target directory it was honored=E2=80= =A6 but the error message is still the same, cannot find UserSwitcher.=20= >=20 > I=E2=80=99m trying to launch from within Eclipse but I don=E2=80=99t = understand how to get it to go. I don=E2=80=99t see the .woa built = anywhere, is this a type of bundles build process? Or where is the .woa = built? It=E2=80=99s not in the target folder.=20 >=20 > Thank you, > =E2=80=94 Aaron >=20 >> On Jan 30, 2023, at 2:12 PM, Aaron Rosenzweig = wrote: >>=20 >> I=E2=80=99m trying to convert my Eclipse workspace front ANT -> Maven = builds but I=E2=80=99ve run into a snag. Hoping a kind WOrrior can lend = me their axe >>=20 >> When I launch the app it cannot find some WOComponents. I get errors = like:=20 >>=20 >> WOBundle.lookForClassInAllBundles(UserSwitcher) failed! >>=20 >> WARNING: = Unable to find component class named "UserSwitcher". If this is not = intended to be a classless component, check your framework settings and = the contents of your classpath file (in the .woa's = Contents/ subdirectory). >>=20 >> =E2=80=A6 >>=20 >> =E2=80=9CUserSwitcher.wo=E2=80=9D is a component in this app, not an = included framework.=20 >>=20 >> It lives in: Components/Permissions/UserSwitcher.wo >>=20 >> It seems that the =E2=80=9CPermissions=E2=80=9D subfolder is causing = issues as components defined directly under Components are discovered = and work properly.=20 >>=20 >> I would rather continue to keep subfolders in Components if = possible=E2=80=A6 while using Maven.=20 >>=20 >> What I think is the relevant part of the POM looks like: >> >> >> Resources >> false >> Components >> >> >> Resources >> false >> Components/Permissions >> >> >>=20 >> When I check the =E2=80=9Ctarget=E2=80=9D directory=E2=80=A6 which I = think is where the Maven temporary files live=E2=80=A6 I do find the = following intact: >> target/classes/Resources/Permissions/UserSwitcher.wo >>=20 >> So it sort of looks like it is working but the running app in Eclipse = cannot find this component. How does Eclipse launch it from here? Is it = a type of bundle-less build? Where is the next step to debug to figure = out how UserSwitcher.wo is not getting put into the right location? >>=20 >> Any help appreciated, thank you :-) >> =E2=80=94 Aaron >=20 --Apple-Mail=_5C7C83B8-96FE-4F5D-8673-262B2B3955BA Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi = thank you Ramsey. You are always so kind and fast to reply. 

Yes! your advice of = overriding =E2=80=9CinstallPatches()=E2=80=9D to manually kick WO to = have a mapping to the missing components works! As I click around the = app I=E2=80=99m finding lots of WOComponents having this problem but = they only are discernible as you step into them. 

It=E2=80=99s concerning = but a good workaround. I didn=E2=80=99t have these problems before with = ANT builds. <<scratches head>> 

In other news I noticed there are = upgrades on the maven lifecycle plug in. In your docker example, you are = using v2.2.1 (others recommended 2.3-SNAPSHOT) and now there is a 2.5 - = upgrading didn=E2=80=99t make any changes for the component discovery = but I=E2=80=99ll note the following changes in the POM to include = it:

1) = <groupId>org.objectstyle.woproject.maven2</groupId> ->= <groupId>org.wocommunity</groupId>

2) = <artifactId>maven-wolifecycle-plugin</artifactId> -> = <artifactId>wolifecycle-maven-plugin</artifactId>

3) = <version>2.3-SNAPSHOT</version> -> = <version>2.5</version>

Can learn more about v2.5 here: https://github.com/wocommunity/wolifecycle-maven-plugin&nbs= p;

Our Viking = friend also an alternative plugin: https://github.com/undur/vermilingua-maven-plugin
 
Thank you,
=E2=80=94 Aaron

On Jan = 30, 2023, at 3:46 PM, Aaron Rosenzweig <aaron@chatnbike.com>= wrote:

Hi All,

I discovered this = option for the Maven lifecycle plugin:

<configuration>
= <flattenComponents>true</flattenComponents>
</configuration>

I tried = it and I can see inside the target directory it was honored=E2=80=A6 but = the error message is still the same, cannot find UserSwitcher.

I=E2=80=99m trying to launch from within = Eclipse but I don=E2=80=99t understand how to get it to go. I don=E2=80=99= t see the .woa built anywhere, is this a type of bundles build process? = Or where is the .woa built? It=E2=80=99s not in the target folder.

Thank you,
=E2=80=94 Aaron

On Jan = 30, 2023, at 2:12 PM, Aaron Rosenzweig <aaron@chatnbike.com>= wrote:

I=E2=80=99m trying to convert my = Eclipse workspace front ANT -> Maven builds but I=E2=80=99ve run into = a snag. Hoping a kind WOrrior can lend me their axe

When I launch the app it cannot find some WOComponents. I get = errors like:

WOBundle.lookForClassInAllBundles(UserSwitcher) failed!

<com.webobjects.appserver._private.WOComponentDefinition>= WARNING: Unable to find component class named "UserSwitcher".  If = this is not intended to be a classless component, check your framework = settings and the contents of your classpath file (in the .woa's = Contents/<PLATFORM_NAME> subdirectory).

=E2=80=A6

=E2=80=9CUserSwitcher.wo= =E2=80=9D is a component in this app, not an included framework.

It lives in: = Components/Permissions/UserSwitcher.wo

It = seems that the =E2=80=9CPermissions=E2=80=9D subfolder is causing issues = as components defined directly under Components are discovered and work = properly.

I would rather continue to keep = subfolders in Components if possible=E2=80=A6 while using Maven.

What I think is the relevant part of the POM = looks like:
<resources>
= <resource>
=     <targetPath>Resources</targetPath>
=     <filtering>false</filtering>
=     <directory>Components</directory>
</resource>
<resource>
=     <targetPath>Resources</targetPath>
=     <filtering>false</filtering>
=     <directory>Components/Permissions</direct= ory>
</resource>
</resources>

When I check = the =E2=80=9Ctarget=E2=80=9D directory=E2=80=A6 which I think is where = the Maven temporary files live=E2=80=A6 I do find the following = intact:
target/classes/Resources/Permissions/UserSwitcher.wo

So it sort of looks like it is working but the = running app in Eclipse cannot find this component. How does Eclipse = launch it from here? Is it a type of bundle-less build? Where is the = next step to debug to figure out how UserSwitcher.wo is not getting put = into the right location?

Any help = appreciated, thank you :-)
=E2=80=94 Aaron


= --Apple-Mail=_5C7C83B8-96FE-4F5D-8673-262B2B3955BA--