Hi all,

quick question:

Does anyone know if ERXApplication.Loader does anything of value, or that's 
required for a maven application to function?

I spent yesterday looking into it and ended up just disabling it in my wonder 
fork/all my projects (12 apps using a variety of frameworks), and for 
development I just check if I'm currently doing development and then set 
NSProjectBundleEnabled=true. These projects have all been redeployed without 
the "Loader" and they look just peachy, both in dev and prod.

(for reference: 
https://github.com/undur/wonder-slim/blob/b136aca326ee50f210332680ea0c795c57f6e636/ERExtensions/src/main/java/er/extensions/appserver/ERXApplication.java#L186-L198
 )

The Loader seemingly does a variety of things, mostly classpath reordering, but 
it doesn't seem valuable. Might have been/be required for an Ant build since in 
that case, classpath construction is something of an art — but when using maven 
you can just make ERExtensions your application's first declared dependency and 
voila; ERExtensions, ERFoundation and ERWebObjects come before JavaFoundation 
and JavaWebObjects  on the classpath.

I'm wondering about this because hacking around in the classpath and bundle 
loading just feels… wrong. And if we don't have to, why do it. Besides, in it's 
current state, it can cause errors on startup since it assumes certain things 
about the project's and environment's layout that, at least in a modern/maven 
context, might be considered obsolete.

If anyone's interested or it helps with thoughts about this; here's the 
(half-)refactored version of the Loader I ended up with while investigating 
this yesterday, when I still thought my plan was to "fix it" by creating an 
"extensible, generic bundle- and classpath-f*ckery mechanism". If the Loader 
actually _does_ something, I'll probably continue this cleanup, but at the 
moment it just feels redundant.

https://github.com/undur/wonder-slim/blob/bcf1e898b2143159f13627bf06c4ca8228b39533/ERExtensions/src/main/java/er/extensions/appserver/ERXLoader.java

(already posted on the slack channel ,but since there are people here that 
might be more "in the know, I'm posting it here too)

Cheers,
- hugi
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to