On 24 Jan 2017, at 15:00, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
The current scanner implementation is easy, it ask for all the
accessible jars in the classloader and check if there is a .xed next
to it to get better descriptor that anything it could find in the JAR
(if there is even anything). It does not need care about where the JAR
come from. What you propose is more complex and error prone.
I don’t consider this to be a good-enough reason for the downsides I’ve listed. Maybe I’m
missing something but it doesn’t sound too hard to change the location. I guess what you
are doing is removing the last 3 characters and replace “jar” by “xed”. Since a WAR has a
fixed format all that is needed is to go up the path: we know that the first “/“ from the
end is the “lib” delimiter and one more is the “WEB-INF” one.
Basically we need to:
* Save the last path portion and replace “jar” by “xed”. Let’s call this XEDFILENAME
* Replace "WEB-INF” and everything that comes after by “META-INF/xwiki/xed/“ +
XEDFILENAME
Do you see any problem with that?
In any case I’d like first to hear what the others have to say on this topic to know if my
proposal sounds good or not.
Thanks
-Vincent
On Tue, Jan 24, 2017 at 1:26 PM, Vincent Massol
<vincent(a)massol.net> wrote:
Hi devs,
In XWiki 9.0RC1 we’re putting XED files in WEB-INF/lib next to the JAR to which they
correspond.
I have 2 issues with this:
* We’re not really supposed to use WEB-INF/lib for that. WEB-INF/lib is meant for JAR
files that are to be made available to the classloader. It’s even possible that some
servlet container would emit warnings about this.
* This is a WTF for admins when they discover this. The WAR has a spec and it’s
standardised. Thus the WTF when you see this since you’re not used to seeing this anywhere
else.
I’m thus proposing to move the XED files to a META-INF/xwiki/ directory inside the WAR
instead since META-INF is meant to contain metadata information and is thus meant exactly
for this.
WDTY?
Thanks
-Vincent
--
Thomas Mortagne