Brill,

I've been reading along, and I agree that you have a valid use case.
However, this is all academic until you send in some sort of patch. I
might even use this patch if it were sent in - but I don't have time to
develop it myself. Sorry, but you're starting to put the cart before the
horse here...submit a patch, _then_ nag (pardon the expression) the
committers [on the -dev list, BTW] for attention. If you send in a
patch, I'll look at it and discuss it with you...then, maybe I'll help
you lobby for it (I'm not certain of my status wrt committing plugins;
this is something that's been generally up for debate recently). But
understand, the only help I'll offer in any capacity will be subject to
my own availability. Just as I'm sure you have, I have a day job that
doesn't center on maven. :)

HTH,
john

On Wed, 2004-06-30 at 10:44, Brill Pappin wrote:
> Ok, let me explain this one more time.
> 
> What you are saying is indeed part of the servlet spec, and the 
> container may actually read and care about what's in the WAR manifest, 
> however code running in the application context doesn't know, and 
> doesn't care.
> It doesn't care because for things to be working, the webapp must be 
> working properly already and if it wasn't the code running in the 
> context would have other problems anyway.
> 
> By allowing a user to jar up and add a manifest for the *application 
> code* you allow the user to specify all sorts of meta information about 
> the code at runtime (as mentioned in the versioning spec). The 
> application code runs in the containers context but the versioning 
> information *for the war* means nothing to the application itself, in 
> fact the versioning API can't even get the WARs versioning information 
> (at least not in any container I use), but it *can* get versioning 
> information for the libraries it depends on which means the user code 
> that was JAR'ed up.
> 
> An example of where I specifically use this information:
> I'm sure you've seen how you have have log4j output the file and line 
> number of a log message. Now using the versioning API you can also 
> output other information as well as the file and line number, such as 
> what version it is, the module or company it came from... you can even 
> tell things like what dependencies it has etc.
> 
> As you can see it would be pretty useless to anything but the webapp 
> container to have all this in the WAR file. Not only would it no longer 
> be relevant to the runtime code, but all libraries in the context would 
> have the same information.
> 
> I hope I am being clear here because I can't think of a simpler was to 
> describe this.
> 
> For those interested in more detail, the versioning spec is at:
> http://java.sun.com/j2se/1.4.2/docs/guide/versioning/index.html
> 
> As an aside, Maven might be able to use this to determine the dependency 
> structure of a library which I know if a holy-grail for the first 
> release, but I leave that to the folks working on the artifact stuff.
> 
> - Brill Pappin
> 
> Maczka Michal wrote:
> 
> > Here is what spec says:
> >
> >"Web containers are recommended to have a mechanism by which web
> >applications can learn what JAR files containing resources and code are
> >available,
> >and for making them available to the application. Containers should provide
> >a
> >convenient procedure for editing and configuring library files or
> >extensions.
> >It is recommended that Application developers provide a META-INF/
> >MANIFEST.MF entry in the WAR file listing extensions, if any, needed by the
> >WAR.
> >The format of the manifest entry should follow standard JAR manifest format.
> >In
> >expressing dependencies on extensions installed on the web container, the
> >manifest entry should follow the specification for standard extensions
> >defined at
> >http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html.
> >Web Containers should be able to recognize declared dependencies expressed
> >in the manifest entry of any of the library JARs under the WEB-INF/lib entry
> >in a
> >WAR. If a web container is not able to satisfy the dependencies declared in
> >this
> >manner, it should reject the application with an informative error message."
> >
> >So realy the spec makes no difference between any of the manifest files
> >which are provided inside wars
> >and clearly defines where they can be placed. 
> >But for strange reason  it says: "It is recommended that Application
> >developers provide a META-INF/MANIFEST.MF entry in the WAR file listing
> >extensions". 
> >
> >  
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
-- 
John Casey
[EMAIL PROTECTED]
CommonJava Open Components Project
http://www.commonjava.org


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to