You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Juan Pablo Santos Rodríguez <ju...@gmail.com> on 2013/05/01 00:51:43 UTC

Re: notes on Mavenization...

Hi!

comments inline

On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com> wrote:

> Hi Team, a few notes:
>
> 1.) In your local {jspwiki_home}/lib directory, please delete these two
> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
> project again, Ant will download them again with names precisely matching
> what is in the Maven Central repository.   This way, when we do a diff -r
> between the Maven and Ant WARs to check equivalence it won't keep reporting
> that Ant is missing two JARs and Maven is missing another two, when in fact
> they're the same but just with different names.
>

ok, also, 'til we swicth to maven, the .classpath file needs to be updated
too.


>
> 2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to
> have a "distribution" submodule similar to CXF here:
> http://svn.apache.org/viewvc/**cxf/trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>, it would allow us to nicely store the LICENSE, Notice, and other static
> text information away from the development folders:
> http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>.
>
>
didn't thought of it, but I think it's a great idea, would you mind opening
a JIRA for this, so we can track it?



> 3.) Does anyone know if we need src/images/jspwiki_alert_**icons.xcf?
> (It's a GIMP image file), AFAICT by grepping the source code it's
> completely unused by the project so I'd like to delete it.
>

+1 on removing it


>
> 4.) Do we need the "corepageszip" target in the build.xml?  I don't know
> what it's used for: http://svn.apache.org/viewvc/**
> incubator/jspwiki/trunk/build.**xml?revision=1477835&view=**markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>.   I'd like to remove it if we aren't using it anymore--fewer
> distractions, the better.
>

it's used as part of the dist target, to bundle the wikipages in the zipped
bin distribution, one file per language. On a Maven equivalent they would
be normal jar modules (jspwiki-[en|fi|de|etc.]-wikipages), one per
language, without java classes and the wikipages living at
src/main/resources. Probably they should be submodules of i.e.,
jspwiki-wikipages, something alike the module for IT tests living at the
maven branch


>
> Thanks,
> Glen
>
> <http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
> >
>


br,
juan pablo

Re: notes on Mavenization...

Posted by Harry Metske <ha...@gmail.com>.
oeps, my previous reply was on the wrong mail.
Anyway it is clear that it indicated the cause of the NPE on
UserPreferences when war is built with maven.

+1 on removing the GIMP file, no idea where it came from.

regards,
Harry



On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:

> On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>
>> Hi!
>>
>> comments inline
>>
>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>> wrote:
>>
>>  Hi Team, a few notes:
>>>
>>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>> project again, Ant will download them again with names precisely matching
>>> what is in the Maven Central repository.   This way, when we do a diff -r
>>> between the Maven and Ant WARs to check equivalence it won't keep
>>> reporting
>>> that Ant is missing two JARs and Maven is missing another two, when in
>>> fact
>>> they're the same but just with different names.
>>>
>>>  ok, also, 'til we swicth to maven, the .classpath file needs to be
>> updated
>> too.
>>
>
> Updated.
>
>
>  2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to
>>> have a "distribution" submodule similar to CXF here:
>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>> <http:**//svn.apache.org/viewvc/cxf/**trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>>,
>>> it would allow us to nicely store the LICENSE, Notice, and other static
>>> text information away from the development folders:
>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****
>>> main/release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>> <http://svn.**apache.org/viewvc/cxf/trunk/**
>>> distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>> **>.
>>>
>>>
>>>  didn't thought of it, but I think it's a great idea, would you mind
>> opening
>> a JIRA for this, so we can track it?
>>
>>
> Done (JSPWiki-1776).
>
>
>
>>  3.) Does anyone know if we need src/images/jspwiki_alert_****icons.xcf?
>>> (It's a GIMP image file), AFAICT by grepping the source code it's
>>> completely unused by the project so I'd like to delete it.
>>>
>>>  +1 on removing it
>>
>>
> Gone now.  (Gambling no one else will see a need for it.)
>
>
>  4.) Do we need the "corepageszip" target in the build.xml?  I don't know
>>> what it's used for: http://svn.apache.org/viewvc/****<http://svn.apache.org/viewvc/**>
>>> incubator/jspwiki/trunk/build.****xml?revision=1477835&view=****
>>> markup#l642<http://svn.apache.**org/viewvc/incubator/jspwiki/**
>>> trunk/build.xml?revision=**1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>>.
>>>   I'd like to remove it if we aren't using it anymore--fewer
>>> distractions, the better.
>>>
>>>  it's used as part of the dist target, to bundle the wikipages in the
>> zipped
>> bin distribution, one file per language. On a Maven equivalent they would
>> be normal jar modules (jspwiki-[en|fi|de|etc.]-**wikipages), one per
>> language, without java classes and the wikipages living at
>> src/main/resources. Probably they should be submodules of i.e.,
>> jspwiki-wikipages, something alike the module for IT tests living at the
>> maven branch
>>
>>
> Perhaps the Maven assembly plugin can play a helpful role here, it
> basically creates multiple JARs, all of which are a subset of whatever the
> module itself would generate as a whole, I've used it before:
> https://github.com/gmazza/**blog-samples/blob/master/web_**
> service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
> and
> https://github.com/gmazza/**blog-samples/blob/master/web_**
> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>
> Regards,
> Glen
>
>

Re: notes on Mavenization...

Posted by Juan Pablo Santos Rodríguez <ju...@gmail.com>.
ugh, just committed a minute ago; the code still looks for
default_en.properties file to check for english language. At least, now it
doesn't depend on a specific jar name. Have to look if
default_en.properties filename is used elsewhere, but if it doesn't, then
it should be a straightforward change.

br,
juan pablo

On Fri, May 3, 2013 at 9:20 PM, Glen Mazza <gl...@gmail.com> wrote:

> Regardless of solution, if we can have one that obviates our need to
> manually copy default.properties to default_en.properties in our
> build.xml/pom.xml (e.g., just hardcode the English option instead in our
> code), that would be a nice improvement.
>
> Glen
>
>
> On 05/02/2013 10:38 AM, Juan Pablo Santos Rodríguez wrote:
>
>> Hi,
>>
>> I must say I was surprised seeing my name in there, b/c I can't remember
>> why or what did I did.. After some digging in the OldChangeLog, it seems
>> to
>> be code from 2008, so it makes sense. The idea, as Harry pointed out is to
>> retrieve all the templates/default_*.properties files, in order to know
>> which languages are available.
>>
>> Can't remember why we chose to look into JSPWiki jar, but something based
>> on http://stackoverflow.com/a/**15331935<http://stackoverflow.com/a/15331935>should be equally valid without
>> depending on the jar filename. I can take a look at it, but not until
>> weekend/next week, so if anybody wants to, feel free to step in.
>>
>>
>> br,
>> juan pablo
>>
>>
>> On Wed, May 1, 2013 at 10:07 PM, Glen Mazza <gl...@gmail.com> wrote:
>>
>>  Excellent, now I know how to set the logging.  Also, I fixed (c) below
>>> with my last commit.
>>>
>>> In case you weren't aware yet, the fastest way to build the WAR via Maven
>>> is "mvn clean install -Dmaven.test.skip", and to deploy it via embedded
>>> Tomcat is "mvn tomcat7:run-war -Dmaven.test.skip" for it to appear at
>>> http://localhost:8080/JSPWiki.
>>>
>>> Here's the method in question, as you pointed out earlier, apparently
>>> Juan
>>> Pablo played a role in its design:
>>> http://svn.apache.org/viewvc/****incubator/jspwiki/trunk/src/****<http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/src/**>
>>> main/java/org/apache/wiki/ui/****TemplateManager.java?**revision=**
>>> 1471631&view=markup#l420<http:**//svn.apache.org/viewvc/**
>>> incubator/jspwiki/trunk/src/**main/java/org/apache/wiki/ui/**
>>> TemplateManager.java?revision=**1471631&view=markup#l420<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/main/java/org/apache/wiki/ui/TemplateManager.java?revision=1471631&view=markup#l420>
>>> >
>>>
>>>
>>> I was trying to find a way to open a resource via wildcard, instead of
>>> JSPWiki.jar using JSPWiki*.jar, but couldn't find an API for that.  The
>>> only other solutions I can do are (1) switch to the long name in both Ant
>>> and Maven (which will be subject to rather frequent version changes), (2)
>>> filter the version into the file (kind of messy as it would have to be
>>> compatible for both Ant and Maven right now); (3) just hardcode the list
>>> of
>>> languages and update the list when we add a new language in; (4) some
>>> solution like below you mention.
>>>
>>> If you could test (4) I'd appreciate it.  If (4) is not readily workable,
>>> I don't mind (3) at all -- we add new languages so rarely, also with (3)
>>> at
>>> least we'd no longer need to copy the default.properties to
>>> default_en.properties in order to get English to appear in the list.
>>>
>>> Thanks,
>>> Glen
>>>
>>>
>>> On 05/01/2013 03:49 PM, Harry Metske wrote:
>>>
>>>  in the jspwiki.properties, down the bottom you can find the log4j
>>>> configuration. I just set the root logger to debug, then the stacktrace
>>>> pops up in jspwiki.log.
>>>> Looking at the code I would say it's just trying to get the resource
>>>> "templates/default_*.****properties" from classpath, I would have to
>>>> test
>>>>
>>>> to
>>>> see if that works without "unjarring" the JSPWiki.jar.
>>>>
>>>> regards,
>>>> Harry
>>>>
>>>>
>>>>
>>>> On 1 May 2013 21:07, Glen Mazza <gl...@gmail.com> wrote:
>>>>
>>>>   Thanks, Harry, how did you get that stacktrace to appear?  I couldn't
>>>>
>>>>> find
>>>>> it anywhere--not in catalina.out, not in the jspwiki log file...
>>>>> Maybe
>>>>> I
>>>>> need to adjust the logging level (where to do?).
>>>>>
>>>>> I wonder if TemplateManager *must* be given the name of the JAR file to
>>>>> read (kind of yucky), if it just can't access the files it wants to
>>>>> look
>>>>> at
>>>>> from the classpath.  As we just have one pom, I don't have the
>>>>> flexibility
>>>>> yet in naming the JAR as I do the WAR, so I would have to hardcode
>>>>> TemplateManager to the Maven name, and update the Ant build.xml to use
>>>>> the
>>>>> long name.  Maven has filtering, if need be, so the classfile can
>>>>> update
>>>>> to
>>>>> whatever the project version is if we have to go that route.
>>>>>
>>>>> As for the other differences between the WARs, (a) the JARs: Maven
>>>>> downloads a few different different sub-dependencies by default
>>>>> compared
>>>>> to
>>>>> what we earlier hardcoded for Ant (as viewable by running mvn
>>>>> dependency:tree), I wouldn't want to put in Maven overrides unless we
>>>>> know
>>>>> there's a problem with including them. Generally, when we formally
>>>>> declare
>>>>> a dependency on A and Maven Central says A needs B and C, then we
>>>>> should
>>>>> just rely on the default of all three unless we know otherwise. (b)
>>>>> META-INF: doesn't matter, Maven constructs a different META-INF
>>>>> compared
>>>>> to
>>>>> what Ant does including the POM and other config info; and (c) these
>>>>> files:
>>>>>
>>>>> +./geronimo-web.xml
>>>>> +./jspwiki.policy
>>>>> +./jspwiki.tld
>>>>> +./jstl-fmt.tld
>>>>> +./oscache.tld
>>>>>
>>>>>
>>>>> I goofed up here -- I need to put them under webapp/WEB-INF not just
>>>>> webapp and the pom.xml is wrongly copying them into two locations.
>>>>>  I'll
>>>>> get this fixed first.
>>>>>
>>>>> and (d) The WEB-INF/classes directory is empty (Maven apparently
>>>>> creates
>>>>> it by default) so that one doesn't matter.
>>>>>
>>>>> Thanks,
>>>>> Glen
>>>>>
>>>>>
>>>>>
>>>>> On 05/01/2013 02:31 PM, Harry Metske wrote:
>>>>>
>>>>>   The NPE has the following stacktrace (snipped) :
>>>>>
>>>>>> java.lang.******NullPointerException: in is null
>>>>>> at java.util.zip.ZipInputStream.<******init>(ZipInputStream.java:**
>>>>>> **100)
>>>>>> at java.util.zip.ZipInputStream.<******init>(ZipInputStream.java:**
>>>>>> **79)
>>>>>> at java.util.jar.JarInputStream.<******init>(JarInputStream.java:**
>>>>>> **76)
>>>>>> at java.util.jar.JarInputStream.<******init>(JarInputStream.java:**
>>>>>> **62)
>>>>>> at
>>>>>> org.apache.wiki.ui.******TemplateManager.listLanguages(******
>>>>>> TemplateManager.java:437)
>>>>>> at
>>>>>> org.apache.jsp.templates.******default_.PreferencesTab_jsp._******
>>>>>> jspService(PreferencesTab_jsp.******java:167)
>>>>>> at org.apache.jasper.runtime.******HttpJspBase.service(****
>>>>>> HttpJspBase.java:70)
>>>>>> at javax.servlet.http.******HttpServlet.service(******
>>>>>> HttpServlet.java:728)
>>>>>> at
>>>>>> org.apache.jasper.servlet.******JspServletWrapper.service(**
>>>>>> JspServletWrapper.java:432)
>>>>>> at org.apache.jasper.servlet.******JspServlet.serviceJspFile(**
>>>>>> JspServlet.java:390)
>>>>>> at org.apache.jasper.servlet.******JspServlet.service(JspServlet.****
>>>>>> **java:334)
>>>>>> at javax.servlet.http.******HttpServlet.service(******
>>>>>> HttpServlet.java:728)
>>>>>>
>>>>>>
>>>>>> The NPE is a result of the fact the the JSPWiki.jar in the war file
>>>>>> has
>>>>>> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
>>>>>> The TemplateManager has a hardcode path to it in line 92 :
>>>>>>
>>>>>>        public static final String I18NRESOURCE_PATH =
>>>>>> "/WEB-INF/lib/JSPWiki.jar";
>>>>>>
>>>>>>
>>>>>> There are quite a few more diffs, dont know if they break jspwiki:
>>>>>> (diff -u output on the sorted files of the maven and ant builds) :
>>>>>>
>>>>>> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
>>>>>> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
>>>>>> @@ -14,6 +14,7 @@
>>>>>>
>>>>>>
>>>>>>     @@ -36,8 +40,14 @@
>>>>>>     ./Message.jsp
>>>>>>     ./META-INF
>>>>>>     ./META-INF/MANIFEST.MF
>>>>>> +./META-INF/maven
>>>>>> +./META-INF/maven/org.apache.******incubator
>>>>>> +./META-INF/maven/org.apache.******incubator/jspwiki
>>>>>> +./META-INF/maven/org.apache.******incubator/jspwiki/pom.******
>>>>>> properties
>>>>>> +./META-INF/maven/org.apache.******incubator/jspwiki/pom.xml
>>>>>>
>>>>>>     ./NewBlogEntry.jsp
>>>>>>     ./NewGroup.jsp
>>>>>>     ./PageInfo.jsp
>>>>>>     ./PageModified.jsp
>>>>>>     ./Preview.jsp
>>>>>> @@ -187,6 +197,7 @@
>>>>>>     ./Upload.jsp
>>>>>>     ./UserPreferences.jsp
>>>>>>     ./WEB-INF
>>>>>> +./WEB-INF/classes
>>>>>>     ./WEB-INF/geronimo-web.xml
>>>>>>     ./WEB-INF/groupdatabase.xml
>>>>>>     ./WEB-INF/jspwiki.policy
>>>>>> @@ -201,20 +212,21 @@
>>>>>>     ./WEB-INF/lib/commons-******httpclient-3.1.jar
>>>>>>     ./WEB-INF/lib/commons-io-1.4.******jar
>>>>>>     ./WEB-INF/lib/commons-lang-2.******6.jar
>>>>>> +./WEB-INF/lib/commons-******logging-1.0.4.jar
>>>>>>     ./WEB-INF/lib/commons-logging-******api-1.0.4.jar
>>>>>>     ./WEB-INF/lib/ecs-1.4.2.jar
>>>>>>     ./WEB-INF/lib/freshcookies-******security-0.60.jar
>>>>>> +./WEB-INF/lib/jakarta-regexp-******1.4.jar
>>>>>>     ./WEB-INF/lib/jaxen-1.1-beta-******6.jar
>>>>>>     ./WEB-INF/lib/jdom-1.0.jar
>>>>>> -./WEB-INF/lib/jrcs-diff-0.4.******2.jar
>>>>>>     ./WEB-INF/lib/json-rpc-1.0.jar
>>>>>> -./WEB-INF/lib/jsonrpc-1.0.jar
>>>>>> -./WEB-INF/lib/JSPWiki.jar
>>>>>> +./WEB-INF/lib/jspwiki-2.9.1-******SNAPSHOT.jar
>>>>>>     ./WEB-INF/lib/jstl-1.1.2.jar
>>>>>>     ./WEB-INF/lib/log4j-1.2.14.jar
>>>>>>     ./WEB-INF/lib/lucene-core-3.6.******0.jar
>>>>>>     ./WEB-INF/lib/lucene-******highlighter-3.6.0.jar
>>>>>>     ./WEB-INF/lib/lucene-memory-3.******6.0.jar
>>>>>> +./WEB-INF/lib/lucene-queries-******3.6.0.jar
>>>>>>     ./WEB-INF/lib/mail-1.4.jar
>>>>>>     ./WEB-INF/lib/nekohtml-0.9.4.******jar
>>>>>>     ./WEB-INF/lib/org.suigeneris.******jrcs.diff-0.4.2.jar
>>>>>>
>>>>>> @@ -222,7 +234,10 @@
>>>>>>     ./WEB-INF/lib/oscache-2.3.jar
>>>>>>     ./WEB-INF/lib/sandler-0.5.jar
>>>>>>     ./WEB-INF/lib/standard-1.1.2.******jar
>>>>>> +./WEB-INF/lib/xercesImpl-2.4.******0.jar
>>>>>> +./WEB-INF/lib/xml-apis-1.3.******04.jar
>>>>>>     ./WEB-INF/lib/xmlrpc-2.0.1.jar
>>>>>> +./WEB-INF/lib/xpp3-1.1.3.4-******RC3.jar
>>>>>>
>>>>>>     ./WEB-INF/oscache.tld
>>>>>>     ./WEB-INF/userdatabase.xml
>>>>>>     ./WEB-INF/web.xml
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>>>>>>
>>>>>>    On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>>>>>
>>>>>>     Hi!
>>>>>>>
>>>>>>>  comments inline
>>>>>>>>
>>>>>>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>     Hi Team, a few notes:
>>>>>>>>
>>>>>>>>   1.) In your local {jspwiki_home}/lib directory, please delete
>>>>>>>> these
>>>>>>>>
>>>>>>>>> two
>>>>>>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build
>>>>>>>>> the
>>>>>>>>> project again, Ant will download them again with names precisely
>>>>>>>>> matching
>>>>>>>>> what is in the Maven Central repository.   This way, when we do a
>>>>>>>>> diff
>>>>>>>>> -r
>>>>>>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>>>>>>> reporting
>>>>>>>>> that Ant is missing two JARs and Maven is missing another two, when
>>>>>>>>> in
>>>>>>>>> fact
>>>>>>>>> they're the same but just with different names.
>>>>>>>>>
>>>>>>>>>     ok, also, 'til we swicth to maven, the .classpath file needs
>>>>>>>>> to be
>>>>>>>>>
>>>>>>>>>   updated
>>>>>>>>>
>>>>>>>> too.
>>>>>>>>
>>>>>>>>    Updated.
>>>>>>>>
>>>>>>>>      2.) When we go to a two-tier pom.xml (Juan Pablo's work), we
>>>>>>> may
>>>>>>> wish
>>>>>>> to
>>>>>>>
>>>>>>>   have a "distribution" submodule similar to CXF here:
>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/**********cxf/trunk/distribution/<http://svn.apache.org/viewvc/********cxf/trunk/distribution/>
>>>>>>>>> **<http://svn.apache.org/viewvc/********cxf/trunk/distribution/<http://svn.apache.org/viewvc/******cxf/trunk/distribution/>
>>>>>>>>> >
>>>>>>>>> <h**ttp://svn.apache.org/**viewvc/******cxf/trunk/**distribution/<http://svn.apache.org/viewvc/******cxf/trunk/distribution/>
>>>>>>>>> <http://svn.**apache.org/viewvc/****cxf/**trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>>>> >
>>>>>>>>> <htt**p://svn.apache.org/****viewvc/****cxf/trunk/****
>>>>>>>>> distribution/<http://svn.apache.org/**viewvc/****cxf/trunk/**distribution/>
>>>>>>>>> <http://svn.**apache.org/viewvc/****cxf/**trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>>>> >
>>>>>>>>> <http://svn.**apache.org/**viewvc/**cxf/trunk/****distribution/<http://apache.org/viewvc/**cxf/trunk/**distribution/>
>>>>>>>>> <http://svn.**apache.org/viewvc/**cxf/trunk/**distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>>>>>>> >
>>>>>>>>> <http:**//svn.apache.org/******viewvc/cxf/**trunk/******
>>>>>>>>> distribution/<http://svn.apache.org/****viewvc/cxf/**trunk/****distribution/>
>>>>>>>>> <http://svn.**apache.org/**viewvc/cxf/****trunk/**distribution/<http://svn.apache.org/**viewvc/cxf/**trunk/**distribution/>
>>>>>>>>> >
>>>>>>>>> <http://svn.**apache.org/**viewvc/cxf/**trunk/****distribution/<http://apache.org/viewvc/cxf/**trunk/**distribution/>
>>>>>>>>> <http://svn.**apache.org/viewvc/cxf/**trunk/**distribution/<http://svn.apache.org/viewvc/cxf/**trunk/distribution/>
>>>>>>>>> >
>>>>>>>>> <http://svn.**apache.org/****viewvc/cxf/trunk/******distribution/<http://apache.org/**viewvc/cxf/trunk/****distribution/>
>>>>>>>>> <http://apache.**org/viewvc/cxf/trunk/****distribution/<http://apache.org/viewvc/cxf/trunk/**distribution/>
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>> <http://svn.**apache.org/**viewvc/cxf/trunk/****distribution/<http://apache.org/viewvc/cxf/trunk/**distribution/>
>>>>>>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>>> ,
>>>>>>>>>> it would allow us to nicely store the LICENSE, Notice, and other
>>>>>>>>>>
>>>>>>>>> static
>>>>>>>>> text information away from the development folders:
>>>>>>>>> http://svn.apache.org/viewvc/**********cxf/trunk/distribution/****<http://svn.apache.org/viewvc/********cxf/trunk/distribution/**>
>>>>>>>>> src/******<http://svn.apache.**org/viewvc/******cxf/trunk/**
>>>>>>>>> distribution/src/******<http://svn.apache.org/viewvc/******cxf/trunk/distribution/src/******>
>>>>>>>>> >
>>>>>>>>> <http://svn.apache.**org/**viewvc/****cxf/trunk/**
>>>>>>>>> distribution/src/****<http://**svn.apache.org/viewvc/****cxf/**
>>>>>>>>> trunk/distribution/src/****<http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****>
>>>>>>>>> >
>>>>>>>>> main/release/<http://svn.****apa**che.org/viewvc/**cxf/**trunk/**<http://che.org/viewvc/**cxf/trunk/**>
>>>>>>>>> <http://apache.org/**viewvc/**cxf/trunk/**<http://apache.org/viewvc/**cxf/trunk/**>
>>>>>>>>> >
>>>>>>>>> distribution/src/**main/******release/<http://svn.apache.**
>>>>>>>>> org/viewvc/**cxf/trunk/****distribution/src/**main/****release/<
>>>>>>>>> http://svn.apache.**org/viewvc/**cxf/trunk/**
>>>>>>>>> distribution/src/**main/**release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>>>>>>> >
>>>>>>>>> <http://svn.**apache.org/******viewvc/cxf/trunk/**<http://apache.org/****viewvc/cxf/trunk/**>
>>>>>>>>> <http://**apache.org/**viewvc/cxf/trunk/****<http://apache.org/**viewvc/cxf/trunk/**>
>>>>>>>>> >
>>>>>>>>> <http://**apache.org/viewvc/**cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>>>>>> <http://apache.**org/viewvc/cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>>>>>> >
>>>>>>>>> **>
>>>>>>>>> distribution/src/main/release/******<http://svn.apache.org/****
>>>>>>>>> viewvc/** <http://svn.apache.org/**viewvc/**><http://svn.apache.**
>>>>>>>>> org/viewvc/** <http://svn.apache.org/viewvc/**>>
>>>>>>>>> cxf/trunk/distribution/src/******main/release/<http://svn.**
>>>>>>>>> apache.org/viewvc/cxf/trunk/****distribution/src/main/release/<http://apache.org/viewvc/cxf/trunk/**distribution/src/main/release/>
>>>>>>>>> **<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**
>>>>>>>>> main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>>>>>>> >
>>>>>>>>> **>
>>>>>>>>>
>>>>>>>>> **>.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     didn't thought of it, but I think it's a great idea, would you
>>>>>>>>> mind
>>>>>>>>>
>>>>>>>>>   opening
>>>>>>>>>
>>>>>>>> a JIRA for this, so we can track it?
>>>>>>>>
>>>>>>>>
>>>>>>>>    Done (JSPWiki-1776).
>>>>>>>>
>>>>>>>>
>>>>>>>      3.) Does anyone know if we need src/images/jspwiki_alert_******
>>>>>>> ****
>>>>>>>
>>>>>>>
>>>>>>>  icons.xcf?
>>>>>>>>
>>>>>>>>    (It's a GIMP image file), AFAICT by grepping the source code it's
>>>>>>>>
>>>>>>>>  completely unused by the project so I'd like to delete it.
>>>>>>>>>
>>>>>>>>>     +1 on removing it
>>>>>>>>>
>>>>>>>>>     Gone now.  (Gambling no one else will see a need for it.)
>>>>>>>>>
>>>>>>>>     4.) Do we need the "corepageszip" target in the build.xml?  I
>>>>>>> don't
>>>>>>> know
>>>>>>>
>>>>>>>   what it's used for: http://svn.apache.org/viewvc/**********<http://svn.apache.org/viewvc/********>
>>>>>>> <http://svn.apache.org/**viewvc/******<http://svn.apache.org/viewvc/******>
>>>>>>> >
>>>>>>>
>>>>>>>> <http://svn.apache.org/****viewvc/****<http://svn.apache.org/**viewvc/****>
>>>>>>>> <http://svn.apache.**org/viewvc/****<http://svn.apache.org/viewvc/****>
>>>>>>>> >
>>>>>>>>
>>>>>>>>> <http://svn.apache.org/******viewvc/**<http://svn.apache.org/****viewvc/**>
>>>>>>>>> <http://svn.apache.**org/**viewvc/**<http://svn.apache.org/**viewvc/**>
>>>>>>>>> ><
>>>>>>>>> http://svn.apache.org/viewvc/******<http://svn.apache.org/viewvc/****><
>>>>>>>>> http://svn.apache.org/viewvc/****<http://svn.apache.org/viewvc/**>
>>>>>>>>> >
>>>>>>>>> incubator/jspwiki/trunk/build.**********xml?revision=1477835&****
>>>>>>>>> view=******
>>>>>>>>> markup#l642<http://svn.apache.********org/viewvc/incubator/******
>>>>>>>>> jspwiki/**
>>>>>>>>> trunk/build.xml?revision=********1477835&view=markup#l642<**
>>>>>>>>> http:****
>>>>>>>>> //svn.apache.org/viewvc/******incubator/jspwiki/trunk/build.******<http://svn.apache.org/viewvc/****incubator/jspwiki/trunk/build.****>
>>>>>>>>> <http://svn.apache.org/**viewvc/**incubator/jspwiki/**
>>>>>>>>> trunk/build.**<http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/build.**>
>>>>>>>>> >
>>>>>>>>> xml?revision=1477835&view=******markup#l642<http://svn.apache.****
>>>>>>>>> org/viewvc/incubator/jspwiki/****trunk/build.xml?revision=**
>>>>>>>>> 1477835&view=markup#l642<http:**//svn.apache.org/viewvc/**
>>>>>>>>> incubator/jspwiki/trunk/build.**xml?revision=1477835&view=**
>>>>>>>>> markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>
>>>>>>>>> >
>>>>>>>>>
>>>>>>>>>  .
>>>>>>>>>>      I'd like to remove it if we aren't using it anymore--fewer
>>>>>>>>>>
>>>>>>>>> distractions, the better.
>>>>>>>>>
>>>>>>>>>     it's used as part of the dist target, to bundle the wikipages
>>>>>>>>> in
>>>>>>>>> the
>>>>>>>>>
>>>>>>>>>   zipped
>>>>>>>>>
>>>>>>>> bin distribution, one file per language. On a Maven equivalent they
>>>>>>>> would
>>>>>>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-********wikipages),
>>>>>>>> one
>>>>>>>>
>>>>>>>> per
>>>>>>>>
>>>>>>>> language, without java classes and the wikipages living at
>>>>>>>> src/main/resources. Probably they should be submodules of i.e.,
>>>>>>>> jspwiki-wikipages, something alike the module for IT tests living at
>>>>>>>> the
>>>>>>>> maven branch
>>>>>>>>
>>>>>>>>
>>>>>>>>    Perhaps the Maven assembly plugin can play a helpful role here,
>>>>>>>> it
>>>>>>>>
>>>>>>>>  basically creates multiple JARs, all of which are a subset of
>>>>>>> whatever
>>>>>>> the
>>>>>>> module itself would generate as a whole, I've used it before:
>>>>>>> https://github.com/gmazza/********blog-samples/blob/master/**
>>>>>>> web_******<https://github.com/gmazza/******blog-samples/blob/master/web_******>
>>>>>>> <https://github.com/**gmazza/****blog-samples/blob/**master/web_****<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>>>> >
>>>>>>> <https://github.com/gmazza/******blog-samples/blob/master/****web_**<https://github.com/gmazza/****blog-samples/blob/master/**web_**>
>>>>>>> <https://github.com/**gmazza/**blog-samples/blob/**master/web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>>>> >
>>>>>>> service_tutorial/service/pom.********xml#L32<https://github.**
>>>>>>> com/**** <https://github.com/****><https://github.com/****>
>>>>>>> gmazza/blog-samples/blob/******master/web_service_tutorial/**
>>>>>>> service/pom.xml#L32<https://****github.com/gmazza/blog-**<http://github.com/gmazza/blog-**>
>>>>>>> samples/blob/master/web_****service_tutorial/service/pom.***
>>>>>>> *xml#L32<https://github.com/**gmazza/blog-samples/blob/**
>>>>>>> master/web_service_tutorial/**service/pom.xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>>>>>>> >
>>>>>>> and
>>>>>>> https://github.com/gmazza/********blog-samples/blob/master/**
>>>>>>> web_******<https://github.com/gmazza/******blog-samples/blob/master/web_******>
>>>>>>> <https://github.com/**gmazza/****blog-samples/blob/**master/web_****<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>>>> >
>>>>>>> <https://github.com/gmazza/******blog-samples/blob/master/****web_**<https://github.com/gmazza/****blog-samples/blob/master/**web_**>
>>>>>>> <https://github.com/**gmazza/**blog-samples/blob/**master/web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>>>> >
>>>>>>> service_tutorial/service/src/********assembly/jaxws-jar.xml<****
>>>>>>> https:**
>>>>>>> //github.com/gmazza/blog-******samples/blob/master/web_**<http://github.com/gmazza/blog-****samples/blob/master/web_**>
>>>>>>> <htt**p://github.com/gmazza/blog-****samples/blob/master/web_**<http://github.com/gmazza/blog-**samples/blob/master/web_**>
>>>>>>> >
>>>>>>>
>>>>>>> service_tutorial/service/src/******assembly/jaxws-jar.xml<**https:**
>>>>>>> //github.com/gmazza/blog-****samples/blob/master/web_**<http://github.com/gmazza/blog-**samples/blob/master/web_**>
>>>>>>> service_tutorial/service/src/****assembly/jaxws-jar.xml<https:**
>>>>>>> //github.com/gmazza/blog-**samples/blob/master/web_**
>>>>>>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>>>>>> >
>>>>>>> Regards,
>>>>>>> Glen
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>

Re: notes on Mavenization...

Posted by Glen Mazza <gl...@gmail.com>.
Regardless of solution, if we can have one that obviates our need to 
manually copy default.properties to default_en.properties in our 
build.xml/pom.xml (e.g., just hardcode the English option instead in our 
code), that would be a nice improvement.

Glen

On 05/02/2013 10:38 AM, Juan Pablo Santos Rodríguez wrote:
> Hi,
>
> I must say I was surprised seeing my name in there, b/c I can't remember
> why or what did I did.. After some digging in the OldChangeLog, it seems to
> be code from 2008, so it makes sense. The idea, as Harry pointed out is to
> retrieve all the templates/default_*.properties files, in order to know
> which languages are available.
>
> Can't remember why we chose to look into JSPWiki jar, but something based
> on http://stackoverflow.com/a/15331935 should be equally valid without
> depending on the jar filename. I can take a look at it, but not until
> weekend/next week, so if anybody wants to, feel free to step in.
>
>
> br,
> juan pablo
>
>
> On Wed, May 1, 2013 at 10:07 PM, Glen Mazza <gl...@gmail.com> wrote:
>
>> Excellent, now I know how to set the logging.  Also, I fixed (c) below
>> with my last commit.
>>
>> In case you weren't aware yet, the fastest way to build the WAR via Maven
>> is "mvn clean install -Dmaven.test.skip", and to deploy it via embedded
>> Tomcat is "mvn tomcat7:run-war -Dmaven.test.skip" for it to appear at
>> http://localhost:8080/JSPWiki.
>>
>> Here's the method in question, as you pointed out earlier, apparently Juan
>> Pablo played a role in its design:
>> http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/src/**
>> main/java/org/apache/wiki/ui/**TemplateManager.java?revision=**
>> 1471631&view=markup#l420<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/main/java/org/apache/wiki/ui/TemplateManager.java?revision=1471631&view=markup#l420>
>>
>> I was trying to find a way to open a resource via wildcard, instead of
>> JSPWiki.jar using JSPWiki*.jar, but couldn't find an API for that.  The
>> only other solutions I can do are (1) switch to the long name in both Ant
>> and Maven (which will be subject to rather frequent version changes), (2)
>> filter the version into the file (kind of messy as it would have to be
>> compatible for both Ant and Maven right now); (3) just hardcode the list of
>> languages and update the list when we add a new language in; (4) some
>> solution like below you mention.
>>
>> If you could test (4) I'd appreciate it.  If (4) is not readily workable,
>> I don't mind (3) at all -- we add new languages so rarely, also with (3) at
>> least we'd no longer need to copy the default.properties to
>> default_en.properties in order to get English to appear in the list.
>>
>> Thanks,
>> Glen
>>
>>
>> On 05/01/2013 03:49 PM, Harry Metske wrote:
>>
>>> in the jspwiki.properties, down the bottom you can find the log4j
>>> configuration. I just set the root logger to debug, then the stacktrace
>>> pops up in jspwiki.log.
>>> Looking at the code I would say it's just trying to get the resource
>>> "templates/default_*.**properties" from classpath, I would have to test
>>> to
>>> see if that works without "unjarring" the JSPWiki.jar.
>>>
>>> regards,
>>> Harry
>>>
>>>
>>>
>>> On 1 May 2013 21:07, Glen Mazza <gl...@gmail.com> wrote:
>>>
>>>   Thanks, Harry, how did you get that stacktrace to appear?  I couldn't
>>>> find
>>>> it anywhere--not in catalina.out, not in the jspwiki log file...   Maybe
>>>> I
>>>> need to adjust the logging level (where to do?).
>>>>
>>>> I wonder if TemplateManager *must* be given the name of the JAR file to
>>>> read (kind of yucky), if it just can't access the files it wants to look
>>>> at
>>>> from the classpath.  As we just have one pom, I don't have the
>>>> flexibility
>>>> yet in naming the JAR as I do the WAR, so I would have to hardcode
>>>> TemplateManager to the Maven name, and update the Ant build.xml to use
>>>> the
>>>> long name.  Maven has filtering, if need be, so the classfile can update
>>>> to
>>>> whatever the project version is if we have to go that route.
>>>>
>>>> As for the other differences between the WARs, (a) the JARs: Maven
>>>> downloads a few different different sub-dependencies by default compared
>>>> to
>>>> what we earlier hardcoded for Ant (as viewable by running mvn
>>>> dependency:tree), I wouldn't want to put in Maven overrides unless we
>>>> know
>>>> there's a problem with including them. Generally, when we formally
>>>> declare
>>>> a dependency on A and Maven Central says A needs B and C, then we should
>>>> just rely on the default of all three unless we know otherwise. (b)
>>>> META-INF: doesn't matter, Maven constructs a different META-INF compared
>>>> to
>>>> what Ant does including the POM and other config info; and (c) these
>>>> files:
>>>>
>>>> +./geronimo-web.xml
>>>> +./jspwiki.policy
>>>> +./jspwiki.tld
>>>> +./jstl-fmt.tld
>>>> +./oscache.tld
>>>>
>>>>
>>>> I goofed up here -- I need to put them under webapp/WEB-INF not just
>>>> webapp and the pom.xml is wrongly copying them into two locations.  I'll
>>>> get this fixed first.
>>>>
>>>> and (d) The WEB-INF/classes directory is empty (Maven apparently creates
>>>> it by default) so that one doesn't matter.
>>>>
>>>> Thanks,
>>>> Glen
>>>>
>>>>
>>>>
>>>> On 05/01/2013 02:31 PM, Harry Metske wrote:
>>>>
>>>>   The NPE has the following stacktrace (snipped) :
>>>>> java.lang.****NullPointerException: in is null
>>>>> at java.util.zip.ZipInputStream.<****init>(ZipInputStream.java:**100)
>>>>> at java.util.zip.ZipInputStream.<****init>(ZipInputStream.java:**79)
>>>>> at java.util.jar.JarInputStream.<****init>(JarInputStream.java:**76)
>>>>> at java.util.jar.JarInputStream.<****init>(JarInputStream.java:**62)
>>>>> at
>>>>> org.apache.wiki.ui.****TemplateManager.listLanguages(****
>>>>> TemplateManager.java:437)
>>>>> at
>>>>> org.apache.jsp.templates.****default_.PreferencesTab_jsp._****
>>>>> jspService(PreferencesTab_jsp.****java:167)
>>>>> at org.apache.jasper.runtime.****HttpJspBase.service(****
>>>>> HttpJspBase.java:70)
>>>>> at javax.servlet.http.****HttpServlet.service(****HttpServlet.java:728)
>>>>> at
>>>>> org.apache.jasper.servlet.****JspServletWrapper.service(**
>>>>> JspServletWrapper.java:432)
>>>>> at org.apache.jasper.servlet.****JspServlet.serviceJspFile(**
>>>>> JspServlet.java:390)
>>>>> at org.apache.jasper.servlet.****JspServlet.service(JspServlet.**
>>>>> **java:334)
>>>>> at javax.servlet.http.****HttpServlet.service(****HttpServlet.java:728)
>>>>>
>>>>> The NPE is a result of the fact the the JSPWiki.jar in the war file has
>>>>> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
>>>>> The TemplateManager has a hardcode path to it in line 92 :
>>>>>
>>>>>        public static final String I18NRESOURCE_PATH =
>>>>> "/WEB-INF/lib/JSPWiki.jar";
>>>>>
>>>>>
>>>>> There are quite a few more diffs, dont know if they break jspwiki:
>>>>> (diff -u output on the sorted files of the maven and ant builds) :
>>>>>
>>>>> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
>>>>> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
>>>>> @@ -14,6 +14,7 @@
>>>>>
>>>>>
>>>>>     @@ -36,8 +40,14 @@
>>>>>     ./Message.jsp
>>>>>     ./META-INF
>>>>>     ./META-INF/MANIFEST.MF
>>>>> +./META-INF/maven
>>>>> +./META-INF/maven/org.apache.****incubator
>>>>> +./META-INF/maven/org.apache.****incubator/jspwiki
>>>>> +./META-INF/maven/org.apache.****incubator/jspwiki/pom.****properties
>>>>> +./META-INF/maven/org.apache.****incubator/jspwiki/pom.xml
>>>>>     ./NewBlogEntry.jsp
>>>>>     ./NewGroup.jsp
>>>>>     ./PageInfo.jsp
>>>>>     ./PageModified.jsp
>>>>>     ./Preview.jsp
>>>>> @@ -187,6 +197,7 @@
>>>>>     ./Upload.jsp
>>>>>     ./UserPreferences.jsp
>>>>>     ./WEB-INF
>>>>> +./WEB-INF/classes
>>>>>     ./WEB-INF/geronimo-web.xml
>>>>>     ./WEB-INF/groupdatabase.xml
>>>>>     ./WEB-INF/jspwiki.policy
>>>>> @@ -201,20 +212,21 @@
>>>>>     ./WEB-INF/lib/commons-****httpclient-3.1.jar
>>>>>     ./WEB-INF/lib/commons-io-1.4.****jar
>>>>>     ./WEB-INF/lib/commons-lang-2.****6.jar
>>>>> +./WEB-INF/lib/commons-****logging-1.0.4.jar
>>>>>     ./WEB-INF/lib/commons-logging-****api-1.0.4.jar
>>>>>     ./WEB-INF/lib/ecs-1.4.2.jar
>>>>>     ./WEB-INF/lib/freshcookies-****security-0.60.jar
>>>>> +./WEB-INF/lib/jakarta-regexp-****1.4.jar
>>>>>     ./WEB-INF/lib/jaxen-1.1-beta-****6.jar
>>>>>     ./WEB-INF/lib/jdom-1.0.jar
>>>>> -./WEB-INF/lib/jrcs-diff-0.4.****2.jar
>>>>>     ./WEB-INF/lib/json-rpc-1.0.jar
>>>>> -./WEB-INF/lib/jsonrpc-1.0.jar
>>>>> -./WEB-INF/lib/JSPWiki.jar
>>>>> +./WEB-INF/lib/jspwiki-2.9.1-****SNAPSHOT.jar
>>>>>     ./WEB-INF/lib/jstl-1.1.2.jar
>>>>>     ./WEB-INF/lib/log4j-1.2.14.jar
>>>>>     ./WEB-INF/lib/lucene-core-3.6.****0.jar
>>>>>     ./WEB-INF/lib/lucene-****highlighter-3.6.0.jar
>>>>>     ./WEB-INF/lib/lucene-memory-3.****6.0.jar
>>>>> +./WEB-INF/lib/lucene-queries-****3.6.0.jar
>>>>>     ./WEB-INF/lib/mail-1.4.jar
>>>>>     ./WEB-INF/lib/nekohtml-0.9.4.****jar
>>>>>     ./WEB-INF/lib/org.suigeneris.****jrcs.diff-0.4.2.jar
>>>>> @@ -222,7 +234,10 @@
>>>>>     ./WEB-INF/lib/oscache-2.3.jar
>>>>>     ./WEB-INF/lib/sandler-0.5.jar
>>>>>     ./WEB-INF/lib/standard-1.1.2.****jar
>>>>> +./WEB-INF/lib/xercesImpl-2.4.****0.jar
>>>>> +./WEB-INF/lib/xml-apis-1.3.****04.jar
>>>>>     ./WEB-INF/lib/xmlrpc-2.0.1.jar
>>>>> +./WEB-INF/lib/xpp3-1.1.3.4-****RC3.jar
>>>>>     ./WEB-INF/oscache.tld
>>>>>     ./WEB-INF/userdatabase.xml
>>>>>     ./WEB-INF/web.xml
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>>>>>
>>>>>    On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>>>>
>>>>>>    Hi!
>>>>>>
>>>>>>> comments inline
>>>>>>>
>>>>>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>     Hi Team, a few notes:
>>>>>>>
>>>>>>>   1.) In your local {jspwiki_home}/lib directory, please delete these
>>>>>>>> two
>>>>>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>>>>>>> project again, Ant will download them again with names precisely
>>>>>>>> matching
>>>>>>>> what is in the Maven Central repository.   This way, when we do a
>>>>>>>> diff
>>>>>>>> -r
>>>>>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>>>>>> reporting
>>>>>>>> that Ant is missing two JARs and Maven is missing another two, when
>>>>>>>> in
>>>>>>>> fact
>>>>>>>> they're the same but just with different names.
>>>>>>>>
>>>>>>>>     ok, also, 'til we swicth to maven, the .classpath file needs to be
>>>>>>>>
>>>>>>>>   updated
>>>>>>> too.
>>>>>>>
>>>>>>>    Updated.
>>>>>>>
>>>>>>     2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may
>>>>>> wish
>>>>>> to
>>>>>>
>>>>>>   have a "distribution" submodule similar to CXF here:
>>>>>>>> http://svn.apache.org/viewvc/********cxf/trunk/distribution/<http://svn.apache.org/viewvc/******cxf/trunk/distribution/>
>>>>>>>> <h**ttp://svn.apache.org/viewvc/******cxf/trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>>> <htt**p://svn.apache.org/**viewvc/****cxf/trunk/**distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>>> <http://svn.**apache.org/viewvc/**cxf/trunk/**distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>>>>>> <http:**//svn.apache.org/****viewvc/cxf/**trunk/****distribution/<http://svn.apache.org/**viewvc/cxf/**trunk/**distribution/>
>>>>>>>> <http://svn.**apache.org/viewvc/cxf/**trunk/**distribution/<http://svn.apache.org/viewvc/cxf/**trunk/distribution/>
>>>>>>>> <http://svn.**apache.org/**viewvc/cxf/trunk/****distribution/<http://apache.org/viewvc/cxf/trunk/**distribution/>
>>>>>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>
>>>>>>>>> ,
>>>>>>>>> it would allow us to nicely store the LICENSE, Notice, and other
>>>>>>>> static
>>>>>>>> text information away from the development folders:
>>>>>>>> http://svn.apache.org/viewvc/********cxf/trunk/distribution/**
>>>>>>>> src/******<http://svn.apache.org/viewvc/******cxf/trunk/distribution/src/******>
>>>>>>>> <http://svn.apache.**org/viewvc/****cxf/trunk/**
>>>>>>>> distribution/src/****<http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****>
>>>>>>>> main/release/<http://svn.**apa**che.org/viewvc/**cxf/trunk/**<http://apache.org/viewvc/**cxf/trunk/**>
>>>>>>>> distribution/src/**main/****release/<http://svn.apache.**
>>>>>>>> org/viewvc/**cxf/trunk/**distribution/src/**main/**release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>>>>>> <http://svn.**apache.org/****viewvc/cxf/trunk/**<http://apache.org/**viewvc/cxf/trunk/**>
>>>>>>>> <http://**apache.org/viewvc/cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>>>>> **>
>>>>>>>> distribution/src/main/release/****<http://svn.apache.org/**viewvc/**<http://svn.apache.org/viewvc/**>
>>>>>>>> cxf/trunk/distribution/src/****main/release/<http://svn.**
>>>>>>>> apache.org/viewvc/cxf/trunk/**distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>>>>>> **>
>>>>>>>> **>.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     didn't thought of it, but I think it's a great idea, would you
>>>>>>>> mind
>>>>>>>>
>>>>>>>>   opening
>>>>>>> a JIRA for this, so we can track it?
>>>>>>>
>>>>>>>
>>>>>>>    Done (JSPWiki-1776).
>>>>>>>
>>>>>>
>>>>>>      3.) Does anyone know if we need src/images/jspwiki_alert_********
>>>>>>
>>>>>>> icons.xcf?
>>>>>>>
>>>>>>>    (It's a GIMP image file), AFAICT by grepping the source code it's
>>>>>>>
>>>>>>>> completely unused by the project so I'd like to delete it.
>>>>>>>>
>>>>>>>>     +1 on removing it
>>>>>>>>
>>>>>>>>     Gone now.  (Gambling no one else will see a need for it.)
>>>>>>     4.) Do we need the "corepageszip" target in the build.xml?  I don't
>>>>>> know
>>>>>>
>>>>>>   what it's used for: http://svn.apache.org/viewvc/********<http://svn.apache.org/viewvc/******>
>>>>>>> <http://svn.apache.org/**viewvc/****<http://svn.apache.org/viewvc/****>
>>>>>>>> <http://svn.apache.org/****viewvc/**<http://svn.apache.org/**viewvc/**><
>>>>>>>> http://svn.apache.org/viewvc/**** <http://svn.apache.org/viewvc/**>
>>>>>>>> incubator/jspwiki/trunk/build.********xml?revision=1477835&**
>>>>>>>> view=******
>>>>>>>> markup#l642<http://svn.apache.******org/viewvc/incubator/****
>>>>>>>> jspwiki/**
>>>>>>>> trunk/build.xml?revision=******1477835&view=markup#l642<http:****
>>>>>>>> //svn.apache.org/viewvc/****incubator/jspwiki/trunk/build.****<http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/build.**>
>>>>>>>> xml?revision=1477835&view=****markup#l642<http://svn.apache.**
>>>>>>>> org/viewvc/incubator/jspwiki/**trunk/build.xml?revision=**
>>>>>>>> 1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>
>>>>>>>>> .
>>>>>>>>>      I'd like to remove it if we aren't using it anymore--fewer
>>>>>>>> distractions, the better.
>>>>>>>>
>>>>>>>>     it's used as part of the dist target, to bundle the wikipages in
>>>>>>>> the
>>>>>>>>
>>>>>>>>   zipped
>>>>>>> bin distribution, one file per language. On a Maven equivalent they
>>>>>>> would
>>>>>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-******wikipages), one
>>>>>>> per
>>>>>>>
>>>>>>> language, without java classes and the wikipages living at
>>>>>>> src/main/resources. Probably they should be submodules of i.e.,
>>>>>>> jspwiki-wikipages, something alike the module for IT tests living at
>>>>>>> the
>>>>>>> maven branch
>>>>>>>
>>>>>>>
>>>>>>>    Perhaps the Maven assembly plugin can play a helpful role here, it
>>>>>>>
>>>>>> basically creates multiple JARs, all of which are a subset of whatever
>>>>>> the
>>>>>> module itself would generate as a whole, I've used it before:
>>>>>> https://github.com/gmazza/******blog-samples/blob/master/web_******<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>>> <https://github.com/gmazza/****blog-samples/blob/master/**web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>>> service_tutorial/service/pom.******xml#L32<https://github.com/****<https://github.com/**>
>>>>>> gmazza/blog-samples/blob/****master/web_service_tutorial/**
>>>>>> service/pom.xml#L32<https://**github.com/gmazza/blog-**
>>>>>> samples/blob/master/web_**service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>>>>>> and
>>>>>> https://github.com/gmazza/******blog-samples/blob/master/web_******<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>>> <https://github.com/gmazza/****blog-samples/blob/master/**web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>>> service_tutorial/service/src/******assembly/jaxws-jar.xml<**https:**
>>>>>> //github.com/gmazza/blog-****samples/blob/master/web_**<http://github.com/gmazza/blog-**samples/blob/master/web_**>
>>>>>> service_tutorial/service/src/****assembly/jaxws-jar.xml<https:**
>>>>>> //github.com/gmazza/blog-**samples/blob/master/web_**
>>>>>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>>>>> Regards,
>>>>>> Glen
>>>>>>
>>>>>>
>>>>>>
>>>>>>


Re: notes on Mavenization...

Posted by Juan Pablo Santos Rodríguez <ju...@gmail.com>.
Hi,

I must say I was surprised seeing my name in there, b/c I can't remember
why or what did I did.. After some digging in the OldChangeLog, it seems to
be code from 2008, so it makes sense. The idea, as Harry pointed out is to
retrieve all the templates/default_*.properties files, in order to know
which languages are available.

Can't remember why we chose to look into JSPWiki jar, but something based
on http://stackoverflow.com/a/15331935 should be equally valid without
depending on the jar filename. I can take a look at it, but not until
weekend/next week, so if anybody wants to, feel free to step in.


br,
juan pablo


On Wed, May 1, 2013 at 10:07 PM, Glen Mazza <gl...@gmail.com> wrote:

> Excellent, now I know how to set the logging.  Also, I fixed (c) below
> with my last commit.
>
> In case you weren't aware yet, the fastest way to build the WAR via Maven
> is "mvn clean install -Dmaven.test.skip", and to deploy it via embedded
> Tomcat is "mvn tomcat7:run-war -Dmaven.test.skip" for it to appear at
> http://localhost:8080/JSPWiki.
>
> Here's the method in question, as you pointed out earlier, apparently Juan
> Pablo played a role in its design:
> http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/src/**
> main/java/org/apache/wiki/ui/**TemplateManager.java?revision=**
> 1471631&view=markup#l420<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/main/java/org/apache/wiki/ui/TemplateManager.java?revision=1471631&view=markup#l420>
>
> I was trying to find a way to open a resource via wildcard, instead of
> JSPWiki.jar using JSPWiki*.jar, but couldn't find an API for that.  The
> only other solutions I can do are (1) switch to the long name in both Ant
> and Maven (which will be subject to rather frequent version changes), (2)
> filter the version into the file (kind of messy as it would have to be
> compatible for both Ant and Maven right now); (3) just hardcode the list of
> languages and update the list when we add a new language in; (4) some
> solution like below you mention.
>
> If you could test (4) I'd appreciate it.  If (4) is not readily workable,
> I don't mind (3) at all -- we add new languages so rarely, also with (3) at
> least we'd no longer need to copy the default.properties to
> default_en.properties in order to get English to appear in the list.
>
> Thanks,
> Glen
>
>
> On 05/01/2013 03:49 PM, Harry Metske wrote:
>
>> in the jspwiki.properties, down the bottom you can find the log4j
>> configuration. I just set the root logger to debug, then the stacktrace
>> pops up in jspwiki.log.
>> Looking at the code I would say it's just trying to get the resource
>> "templates/default_*.**properties" from classpath, I would have to test
>> to
>> see if that works without "unjarring" the JSPWiki.jar.
>>
>> regards,
>> Harry
>>
>>
>>
>> On 1 May 2013 21:07, Glen Mazza <gl...@gmail.com> wrote:
>>
>>  Thanks, Harry, how did you get that stacktrace to appear?  I couldn't
>>> find
>>> it anywhere--not in catalina.out, not in the jspwiki log file...   Maybe
>>> I
>>> need to adjust the logging level (where to do?).
>>>
>>> I wonder if TemplateManager *must* be given the name of the JAR file to
>>> read (kind of yucky), if it just can't access the files it wants to look
>>> at
>>> from the classpath.  As we just have one pom, I don't have the
>>> flexibility
>>> yet in naming the JAR as I do the WAR, so I would have to hardcode
>>> TemplateManager to the Maven name, and update the Ant build.xml to use
>>> the
>>> long name.  Maven has filtering, if need be, so the classfile can update
>>> to
>>> whatever the project version is if we have to go that route.
>>>
>>> As for the other differences between the WARs, (a) the JARs: Maven
>>> downloads a few different different sub-dependencies by default compared
>>> to
>>> what we earlier hardcoded for Ant (as viewable by running mvn
>>> dependency:tree), I wouldn't want to put in Maven overrides unless we
>>> know
>>> there's a problem with including them. Generally, when we formally
>>> declare
>>> a dependency on A and Maven Central says A needs B and C, then we should
>>> just rely on the default of all three unless we know otherwise. (b)
>>> META-INF: doesn't matter, Maven constructs a different META-INF compared
>>> to
>>> what Ant does including the POM and other config info; and (c) these
>>> files:
>>>
>>> +./geronimo-web.xml
>>> +./jspwiki.policy
>>> +./jspwiki.tld
>>> +./jstl-fmt.tld
>>> +./oscache.tld
>>>
>>>
>>> I goofed up here -- I need to put them under webapp/WEB-INF not just
>>> webapp and the pom.xml is wrongly copying them into two locations.  I'll
>>> get this fixed first.
>>>
>>> and (d) The WEB-INF/classes directory is empty (Maven apparently creates
>>> it by default) so that one doesn't matter.
>>>
>>> Thanks,
>>> Glen
>>>
>>>
>>>
>>> On 05/01/2013 02:31 PM, Harry Metske wrote:
>>>
>>>  The NPE has the following stacktrace (snipped) :
>>>>
>>>> java.lang.****NullPointerException: in is null
>>>> at java.util.zip.ZipInputStream.<****init>(ZipInputStream.java:**100)
>>>> at java.util.zip.ZipInputStream.<****init>(ZipInputStream.java:**79)
>>>> at java.util.jar.JarInputStream.<****init>(JarInputStream.java:**76)
>>>> at java.util.jar.JarInputStream.<****init>(JarInputStream.java:**62)
>>>> at
>>>> org.apache.wiki.ui.****TemplateManager.listLanguages(****
>>>> TemplateManager.java:437)
>>>> at
>>>> org.apache.jsp.templates.****default_.PreferencesTab_jsp._****
>>>> jspService(PreferencesTab_jsp.****java:167)
>>>> at org.apache.jasper.runtime.****HttpJspBase.service(****
>>>> HttpJspBase.java:70)
>>>> at javax.servlet.http.****HttpServlet.service(****HttpServlet.java:728)
>>>> at
>>>> org.apache.jasper.servlet.****JspServletWrapper.service(**
>>>> JspServletWrapper.java:432)
>>>> at org.apache.jasper.servlet.****JspServlet.serviceJspFile(**
>>>> JspServlet.java:390)
>>>> at org.apache.jasper.servlet.****JspServlet.service(JspServlet.**
>>>> **java:334)
>>>> at javax.servlet.http.****HttpServlet.service(****HttpServlet.java:728)
>>>>
>>>> The NPE is a result of the fact the the JSPWiki.jar in the war file has
>>>> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
>>>> The TemplateManager has a hardcode path to it in line 92 :
>>>>
>>>>       public static final String I18NRESOURCE_PATH =
>>>> "/WEB-INF/lib/JSPWiki.jar";
>>>>
>>>>
>>>> There are quite a few more diffs, dont know if they break jspwiki:
>>>> (diff -u output on the sorted files of the maven and ant builds) :
>>>>
>>>> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
>>>> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
>>>> @@ -14,6 +14,7 @@
>>>>
>>>>
>>>>    @@ -36,8 +40,14 @@
>>>
>>>>    ./Message.jsp
>>>>    ./META-INF
>>>>    ./META-INF/MANIFEST.MF
>>>> +./META-INF/maven
>>>> +./META-INF/maven/org.apache.****incubator
>>>> +./META-INF/maven/org.apache.****incubator/jspwiki
>>>> +./META-INF/maven/org.apache.****incubator/jspwiki/pom.****properties
>>>> +./META-INF/maven/org.apache.****incubator/jspwiki/pom.xml
>>>>    ./NewBlogEntry.jsp
>>>>    ./NewGroup.jsp
>>>>    ./PageInfo.jsp
>>>>    ./PageModified.jsp
>>>>    ./Preview.jsp
>>>> @@ -187,6 +197,7 @@
>>>>    ./Upload.jsp
>>>>    ./UserPreferences.jsp
>>>>    ./WEB-INF
>>>> +./WEB-INF/classes
>>>>    ./WEB-INF/geronimo-web.xml
>>>>    ./WEB-INF/groupdatabase.xml
>>>>    ./WEB-INF/jspwiki.policy
>>>> @@ -201,20 +212,21 @@
>>>>    ./WEB-INF/lib/commons-****httpclient-3.1.jar
>>>>    ./WEB-INF/lib/commons-io-1.4.****jar
>>>>    ./WEB-INF/lib/commons-lang-2.****6.jar
>>>> +./WEB-INF/lib/commons-****logging-1.0.4.jar
>>>>    ./WEB-INF/lib/commons-logging-****api-1.0.4.jar
>>>>    ./WEB-INF/lib/ecs-1.4.2.jar
>>>>    ./WEB-INF/lib/freshcookies-****security-0.60.jar
>>>> +./WEB-INF/lib/jakarta-regexp-****1.4.jar
>>>>    ./WEB-INF/lib/jaxen-1.1-beta-****6.jar
>>>>    ./WEB-INF/lib/jdom-1.0.jar
>>>> -./WEB-INF/lib/jrcs-diff-0.4.****2.jar
>>>>    ./WEB-INF/lib/json-rpc-1.0.jar
>>>> -./WEB-INF/lib/jsonrpc-1.0.jar
>>>> -./WEB-INF/lib/JSPWiki.jar
>>>> +./WEB-INF/lib/jspwiki-2.9.1-****SNAPSHOT.jar
>>>>    ./WEB-INF/lib/jstl-1.1.2.jar
>>>>    ./WEB-INF/lib/log4j-1.2.14.jar
>>>>    ./WEB-INF/lib/lucene-core-3.6.****0.jar
>>>>    ./WEB-INF/lib/lucene-****highlighter-3.6.0.jar
>>>>    ./WEB-INF/lib/lucene-memory-3.****6.0.jar
>>>> +./WEB-INF/lib/lucene-queries-****3.6.0.jar
>>>>    ./WEB-INF/lib/mail-1.4.jar
>>>>    ./WEB-INF/lib/nekohtml-0.9.4.****jar
>>>>    ./WEB-INF/lib/org.suigeneris.****jrcs.diff-0.4.2.jar
>>>> @@ -222,7 +234,10 @@
>>>>    ./WEB-INF/lib/oscache-2.3.jar
>>>>    ./WEB-INF/lib/sandler-0.5.jar
>>>>    ./WEB-INF/lib/standard-1.1.2.****jar
>>>> +./WEB-INF/lib/xercesImpl-2.4.****0.jar
>>>> +./WEB-INF/lib/xml-apis-1.3.****04.jar
>>>>    ./WEB-INF/lib/xmlrpc-2.0.1.jar
>>>> +./WEB-INF/lib/xpp3-1.1.3.4-****RC3.jar
>>>>    ./WEB-INF/oscache.tld
>>>>    ./WEB-INF/userdatabase.xml
>>>>    ./WEB-INF/web.xml
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>>>>
>>>>   On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>>>
>>>>>   Hi!
>>>>>
>>>>>> comments inline
>>>>>>
>>>>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>    Hi Team, a few notes:
>>>>>>
>>>>>>  1.) In your local {jspwiki_home}/lib directory, please delete these
>>>>>>> two
>>>>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>>>>>> project again, Ant will download them again with names precisely
>>>>>>> matching
>>>>>>> what is in the Maven Central repository.   This way, when we do a
>>>>>>> diff
>>>>>>> -r
>>>>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>>>>> reporting
>>>>>>> that Ant is missing two JARs and Maven is missing another two, when
>>>>>>> in
>>>>>>> fact
>>>>>>> they're the same but just with different names.
>>>>>>>
>>>>>>>    ok, also, 'til we swicth to maven, the .classpath file needs to be
>>>>>>>
>>>>>>>  updated
>>>>>> too.
>>>>>>
>>>>>>   Updated.
>>>>>>
>>>>>
>>>>>    2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may
>>>>> wish
>>>>> to
>>>>>
>>>>>  have a "distribution" submodule similar to CXF here:
>>>>>>
>>>>>>> http://svn.apache.org/viewvc/********cxf/trunk/distribution/<http://svn.apache.org/viewvc/******cxf/trunk/distribution/>
>>>>>>> <h**ttp://svn.apache.org/viewvc/******cxf/trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>> >
>>>>>>> <htt**p://svn.apache.org/**viewvc/****cxf/trunk/**distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>>> <http://svn.**apache.org/viewvc/**cxf/trunk/**distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>>>>> >
>>>>>>> <http:**//svn.apache.org/****viewvc/cxf/**trunk/****distribution/<http://svn.apache.org/**viewvc/cxf/**trunk/**distribution/>
>>>>>>> <http://svn.**apache.org/viewvc/cxf/**trunk/**distribution/<http://svn.apache.org/viewvc/cxf/**trunk/distribution/>
>>>>>>> >
>>>>>>> <http://svn.**apache.org/**viewvc/cxf/trunk/****distribution/<http://apache.org/viewvc/cxf/trunk/**distribution/>
>>>>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>
>>>>>>> >
>>>>>>>
>>>>>>>> ,
>>>>>>>>>
>>>>>>>> it would allow us to nicely store the LICENSE, Notice, and other
>>>>>>> static
>>>>>>> text information away from the development folders:
>>>>>>> http://svn.apache.org/viewvc/********cxf/trunk/distribution/**
>>>>>>> src/******<http://svn.apache.org/viewvc/******cxf/trunk/distribution/src/******>
>>>>>>> <http://svn.apache.**org/viewvc/****cxf/trunk/**
>>>>>>> distribution/src/****<http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****>
>>>>>>> >
>>>>>>> main/release/<http://svn.**apa**che.org/viewvc/**cxf/trunk/**<http://apache.org/viewvc/**cxf/trunk/**>
>>>>>>> distribution/src/**main/****release/<http://svn.apache.**
>>>>>>> org/viewvc/**cxf/trunk/**distribution/src/**main/**release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>>>>> >
>>>>>>> <http://svn.**apache.org/****viewvc/cxf/trunk/**<http://apache.org/**viewvc/cxf/trunk/**>
>>>>>>> <http://**apache.org/viewvc/cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>>>> **>
>>>>>>> distribution/src/main/release/****<http://svn.apache.org/**viewvc/**<http://svn.apache.org/viewvc/**>
>>>>>>> cxf/trunk/distribution/src/****main/release/<http://svn.**
>>>>>>> apache.org/viewvc/cxf/trunk/**distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>>>>> **>
>>>>>>> **>.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>    didn't thought of it, but I think it's a great idea, would you
>>>>>>> mind
>>>>>>>
>>>>>>>  opening
>>>>>> a JIRA for this, so we can track it?
>>>>>>
>>>>>>
>>>>>>   Done (JSPWiki-1776).
>>>>>>
>>>>>
>>>>>
>>>>>     3.) Does anyone know if we need src/images/jspwiki_alert_********
>>>>>
>>>>>> icons.xcf?
>>>>>>
>>>>>>   (It's a GIMP image file), AFAICT by grepping the source code it's
>>>>>>
>>>>>>> completely unused by the project so I'd like to delete it.
>>>>>>>
>>>>>>>    +1 on removing it
>>>>>>>
>>>>>>>    Gone now.  (Gambling no one else will see a need for it.)
>>>>>>
>>>>>
>>>>>    4.) Do we need the "corepageszip" target in the build.xml?  I don't
>>>>> know
>>>>>
>>>>>  what it's used for: http://svn.apache.org/viewvc/********<http://svn.apache.org/viewvc/******>
>>>>>> <http://svn.apache.org/**viewvc/****<http://svn.apache.org/viewvc/****>
>>>>>> >
>>>>>>
>>>>>>> <http://svn.apache.org/****viewvc/**<http://svn.apache.org/**viewvc/**><
>>>>>>> http://svn.apache.org/viewvc/**** <http://svn.apache.org/viewvc/**>
>>>>>>> >>
>>>>>>> incubator/jspwiki/trunk/build.********xml?revision=1477835&**
>>>>>>> view=******
>>>>>>> markup#l642<http://svn.apache.******org/viewvc/incubator/****
>>>>>>> jspwiki/**
>>>>>>> trunk/build.xml?revision=******1477835&view=markup#l642<http:****
>>>>>>> //svn.apache.org/viewvc/****incubator/jspwiki/trunk/build.****<http://svn.apache.org/viewvc/**incubator/jspwiki/trunk/build.**>
>>>>>>> xml?revision=1477835&view=****markup#l642<http://svn.apache.**
>>>>>>> org/viewvc/incubator/jspwiki/**trunk/build.xml?revision=**
>>>>>>> 1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>
>>>>>>> >
>>>>>>>
>>>>>>>> .
>>>>>>>>>
>>>>>>>>     I'd like to remove it if we aren't using it anymore--fewer
>>>>>>> distractions, the better.
>>>>>>>
>>>>>>>    it's used as part of the dist target, to bundle the wikipages in
>>>>>>> the
>>>>>>>
>>>>>>>  zipped
>>>>>> bin distribution, one file per language. On a Maven equivalent they
>>>>>> would
>>>>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-******wikipages), one
>>>>>> per
>>>>>>
>>>>>> language, without java classes and the wikipages living at
>>>>>> src/main/resources. Probably they should be submodules of i.e.,
>>>>>> jspwiki-wikipages, something alike the module for IT tests living at
>>>>>> the
>>>>>> maven branch
>>>>>>
>>>>>>
>>>>>>   Perhaps the Maven assembly plugin can play a helpful role here, it
>>>>>>
>>>>> basically creates multiple JARs, all of which are a subset of whatever
>>>>> the
>>>>> module itself would generate as a whole, I've used it before:
>>>>> https://github.com/gmazza/******blog-samples/blob/master/web_******<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>> <https://github.com/gmazza/****blog-samples/blob/master/**web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>> >
>>>>> service_tutorial/service/pom.******xml#L32<https://github.com/****<https://github.com/**>
>>>>> gmazza/blog-samples/blob/****master/web_service_tutorial/**
>>>>> service/pom.xml#L32<https://**github.com/gmazza/blog-**
>>>>> samples/blob/master/web_**service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>>>>> >
>>>>> and
>>>>> https://github.com/gmazza/******blog-samples/blob/master/web_******<https://github.com/gmazza/****blog-samples/blob/master/web_****>
>>>>> <https://github.com/gmazza/****blog-samples/blob/master/**web_**<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>>> >
>>>>> service_tutorial/service/src/******assembly/jaxws-jar.xml<**https:**
>>>>> //github.com/gmazza/blog-****samples/blob/master/web_**<http://github.com/gmazza/blog-**samples/blob/master/web_**>
>>>>> service_tutorial/service/src/****assembly/jaxws-jar.xml<https:**
>>>>> //github.com/gmazza/blog-**samples/blob/master/web_**
>>>>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>>>> >
>>>>> Regards,
>>>>> Glen
>>>>>
>>>>>
>>>>>
>>>>>
>

Re: notes on Mavenization...

Posted by Glen Mazza <gl...@gmail.com>.
Excellent, now I know how to set the logging.  Also, I fixed (c) below 
with my last commit.

In case you weren't aware yet, the fastest way to build the WAR via 
Maven is "mvn clean install -Dmaven.test.skip", and to deploy it via 
embedded Tomcat is "mvn tomcat7:run-war -Dmaven.test.skip" for it to 
appear at http://localhost:8080/JSPWiki.

Here's the method in question, as you pointed out earlier, apparently 
Juan Pablo played a role in its design:
http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/main/java/org/apache/wiki/ui/TemplateManager.java?revision=1471631&view=markup#l420

I was trying to find a way to open a resource via wildcard, instead of 
JSPWiki.jar using JSPWiki*.jar, but couldn't find an API for that.  The 
only other solutions I can do are (1) switch to the long name in both 
Ant and Maven (which will be subject to rather frequent version 
changes), (2) filter the version into the file (kind of messy as it 
would have to be compatible for both Ant and Maven right now); (3) just 
hardcode the list of languages and update the list when we add a new 
language in; (4) some solution like below you mention.

If you could test (4) I'd appreciate it.  If (4) is not readily 
workable, I don't mind (3) at all -- we add new languages so rarely, 
also with (3) at least we'd no longer need to copy the 
default.properties to default_en.properties in order to get English to 
appear in the list.

Thanks,
Glen

On 05/01/2013 03:49 PM, Harry Metske wrote:
> in the jspwiki.properties, down the bottom you can find the log4j
> configuration. I just set the root logger to debug, then the stacktrace
> pops up in jspwiki.log.
> Looking at the code I would say it's just trying to get the resource
> "templates/default_*.properties" from classpath, I would have to test to
> see if that works without "unjarring" the JSPWiki.jar.
>
> regards,
> Harry
>
>
>
> On 1 May 2013 21:07, Glen Mazza <gl...@gmail.com> wrote:
>
>> Thanks, Harry, how did you get that stacktrace to appear?  I couldn't find
>> it anywhere--not in catalina.out, not in the jspwiki log file...   Maybe I
>> need to adjust the logging level (where to do?).
>>
>> I wonder if TemplateManager *must* be given the name of the JAR file to
>> read (kind of yucky), if it just can't access the files it wants to look at
>> from the classpath.  As we just have one pom, I don't have the flexibility
>> yet in naming the JAR as I do the WAR, so I would have to hardcode
>> TemplateManager to the Maven name, and update the Ant build.xml to use the
>> long name.  Maven has filtering, if need be, so the classfile can update to
>> whatever the project version is if we have to go that route.
>>
>> As for the other differences between the WARs, (a) the JARs: Maven
>> downloads a few different different sub-dependencies by default compared to
>> what we earlier hardcoded for Ant (as viewable by running mvn
>> dependency:tree), I wouldn't want to put in Maven overrides unless we know
>> there's a problem with including them. Generally, when we formally declare
>> a dependency on A and Maven Central says A needs B and C, then we should
>> just rely on the default of all three unless we know otherwise. (b)
>> META-INF: doesn't matter, Maven constructs a different META-INF compared to
>> what Ant does including the POM and other config info; and (c) these files:
>>
>> +./geronimo-web.xml
>> +./jspwiki.policy
>> +./jspwiki.tld
>> +./jstl-fmt.tld
>> +./oscache.tld
>>
>>
>> I goofed up here -- I need to put them under webapp/WEB-INF not just
>> webapp and the pom.xml is wrongly copying them into two locations.  I'll
>> get this fixed first.
>>
>> and (d) The WEB-INF/classes directory is empty (Maven apparently creates
>> it by default) so that one doesn't matter.
>>
>> Thanks,
>> Glen
>>
>>
>>
>> On 05/01/2013 02:31 PM, Harry Metske wrote:
>>
>>> The NPE has the following stacktrace (snipped) :
>>>
>>> java.lang.**NullPointerException: in is null
>>> at java.util.zip.ZipInputStream.<**init>(ZipInputStream.java:100)
>>> at java.util.zip.ZipInputStream.<**init>(ZipInputStream.java:79)
>>> at java.util.jar.JarInputStream.<**init>(JarInputStream.java:76)
>>> at java.util.jar.JarInputStream.<**init>(JarInputStream.java:62)
>>> at
>>> org.apache.wiki.ui.**TemplateManager.listLanguages(**
>>> TemplateManager.java:437)
>>> at
>>> org.apache.jsp.templates.**default_.PreferencesTab_jsp._**
>>> jspService(PreferencesTab_jsp.**java:167)
>>> at org.apache.jasper.runtime.**HttpJspBase.service(**HttpJspBase.java:70)
>>> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:728)
>>> at
>>> org.apache.jasper.servlet.**JspServletWrapper.service(**
>>> JspServletWrapper.java:432)
>>> at org.apache.jasper.servlet.**JspServlet.serviceJspFile(**
>>> JspServlet.java:390)
>>> at org.apache.jasper.servlet.**JspServlet.service(JspServlet.**java:334)
>>> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:728)
>>>
>>> The NPE is a result of the fact the the JSPWiki.jar in the war file has
>>> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
>>> The TemplateManager has a hardcode path to it in line 92 :
>>>
>>>       public static final String I18NRESOURCE_PATH =
>>> "/WEB-INF/lib/JSPWiki.jar";
>>>
>>>
>>> There are quite a few more diffs, dont know if they break jspwiki:
>>> (diff -u output on the sorted files of the maven and ant builds) :
>>>
>>> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
>>> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
>>> @@ -14,6 +14,7 @@
>>>
>>>
>>   @@ -36,8 +40,14 @@
>>>    ./Message.jsp
>>>    ./META-INF
>>>    ./META-INF/MANIFEST.MF
>>> +./META-INF/maven
>>> +./META-INF/maven/org.apache.**incubator
>>> +./META-INF/maven/org.apache.**incubator/jspwiki
>>> +./META-INF/maven/org.apache.**incubator/jspwiki/pom.**properties
>>> +./META-INF/maven/org.apache.**incubator/jspwiki/pom.xml
>>>    ./NewBlogEntry.jsp
>>>    ./NewGroup.jsp
>>>    ./PageInfo.jsp
>>>    ./PageModified.jsp
>>>    ./Preview.jsp
>>> @@ -187,6 +197,7 @@
>>>    ./Upload.jsp
>>>    ./UserPreferences.jsp
>>>    ./WEB-INF
>>> +./WEB-INF/classes
>>>    ./WEB-INF/geronimo-web.xml
>>>    ./WEB-INF/groupdatabase.xml
>>>    ./WEB-INF/jspwiki.policy
>>> @@ -201,20 +212,21 @@
>>>    ./WEB-INF/lib/commons-**httpclient-3.1.jar
>>>    ./WEB-INF/lib/commons-io-1.4.**jar
>>>    ./WEB-INF/lib/commons-lang-2.**6.jar
>>> +./WEB-INF/lib/commons-**logging-1.0.4.jar
>>>    ./WEB-INF/lib/commons-logging-**api-1.0.4.jar
>>>    ./WEB-INF/lib/ecs-1.4.2.jar
>>>    ./WEB-INF/lib/freshcookies-**security-0.60.jar
>>> +./WEB-INF/lib/jakarta-regexp-**1.4.jar
>>>    ./WEB-INF/lib/jaxen-1.1-beta-**6.jar
>>>    ./WEB-INF/lib/jdom-1.0.jar
>>> -./WEB-INF/lib/jrcs-diff-0.4.**2.jar
>>>    ./WEB-INF/lib/json-rpc-1.0.jar
>>> -./WEB-INF/lib/jsonrpc-1.0.jar
>>> -./WEB-INF/lib/JSPWiki.jar
>>> +./WEB-INF/lib/jspwiki-2.9.1-**SNAPSHOT.jar
>>>    ./WEB-INF/lib/jstl-1.1.2.jar
>>>    ./WEB-INF/lib/log4j-1.2.14.jar
>>>    ./WEB-INF/lib/lucene-core-3.6.**0.jar
>>>    ./WEB-INF/lib/lucene-**highlighter-3.6.0.jar
>>>    ./WEB-INF/lib/lucene-memory-3.**6.0.jar
>>> +./WEB-INF/lib/lucene-queries-**3.6.0.jar
>>>    ./WEB-INF/lib/mail-1.4.jar
>>>    ./WEB-INF/lib/nekohtml-0.9.4.**jar
>>>    ./WEB-INF/lib/org.suigeneris.**jrcs.diff-0.4.2.jar
>>> @@ -222,7 +234,10 @@
>>>    ./WEB-INF/lib/oscache-2.3.jar
>>>    ./WEB-INF/lib/sandler-0.5.jar
>>>    ./WEB-INF/lib/standard-1.1.2.**jar
>>> +./WEB-INF/lib/xercesImpl-2.4.**0.jar
>>> +./WEB-INF/lib/xml-apis-1.3.**04.jar
>>>    ./WEB-INF/lib/xmlrpc-2.0.1.jar
>>> +./WEB-INF/lib/xpp3-1.1.3.4-**RC3.jar
>>>    ./WEB-INF/oscache.tld
>>>    ./WEB-INF/userdatabase.xml
>>>    ./WEB-INF/web.xml
>>>
>>>
>>>
>>>
>>>
>>> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>>>
>>>   On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>>>   Hi!
>>>>> comments inline
>>>>>
>>>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>    Hi Team, a few notes:
>>>>>
>>>>>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>>>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>>>>> project again, Ant will download them again with names precisely
>>>>>> matching
>>>>>> what is in the Maven Central repository.   This way, when we do a diff
>>>>>> -r
>>>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>>>> reporting
>>>>>> that Ant is missing two JARs and Maven is missing another two, when in
>>>>>> fact
>>>>>> they're the same but just with different names.
>>>>>>
>>>>>>    ok, also, 'til we swicth to maven, the .classpath file needs to be
>>>>>>
>>>>> updated
>>>>> too.
>>>>>
>>>>>   Updated.
>>>>
>>>>    2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish
>>>> to
>>>>
>>>>> have a "distribution" submodule similar to CXF here:
>>>>>> http://svn.apache.org/viewvc/******cxf/trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>>> <htt**p://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>>>> <http:**//svn.apache.org/**viewvc/cxf/**trunk/**distribution/<http://svn.apache.org/viewvc/cxf/**trunk/distribution/>
>>>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>
>>>>>>>> ,
>>>>>> it would allow us to nicely store the LICENSE, Notice, and other static
>>>>>> text information away from the development folders:
>>>>>> http://svn.apache.org/viewvc/******cxf/trunk/distribution/src/******<http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****>
>>>>>> main/release/<http://svn.**apache.org/viewvc/**cxf/trunk/**
>>>>>> distribution/src/**main/**release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>>>> <http://svn.**apache.org/**viewvc/cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>>> distribution/src/main/release/**<http://svn.apache.org/viewvc/**
>>>>>> cxf/trunk/distribution/src/**main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>>>> **>.
>>>>>>
>>>>>>
>>>>>>
>>>>>>    didn't thought of it, but I think it's a great idea, would you mind
>>>>>>
>>>>> opening
>>>>> a JIRA for this, so we can track it?
>>>>>
>>>>>
>>>>>   Done (JSPWiki-1776).
>>>>
>>>>
>>>>     3.) Does anyone know if we need src/images/jspwiki_alert_******
>>>>> icons.xcf?
>>>>>
>>>>>   (It's a GIMP image file), AFAICT by grepping the source code it's
>>>>>> completely unused by the project so I'd like to delete it.
>>>>>>
>>>>>>    +1 on removing it
>>>>>>
>>>>>   Gone now.  (Gambling no one else will see a need for it.)
>>>>
>>>>    4.) Do we need the "corepageszip" target in the build.xml?  I don't
>>>> know
>>>>
>>>>> what it's used for: http://svn.apache.org/viewvc/******<http://svn.apache.org/viewvc/****>
>>>>>> <http://svn.apache.org/**viewvc/** <http://svn.apache.org/viewvc/**>>
>>>>>> incubator/jspwiki/trunk/build.******xml?revision=1477835&view=******
>>>>>> markup#l642<http://svn.apache.****org/viewvc/incubator/**jspwiki/**
>>>>>> trunk/build.xml?revision=****1477835&view=markup#l642<http:**
>>>>>> //svn.apache.org/viewvc/**incubator/jspwiki/trunk/build.**
>>>>>> xml?revision=1477835&view=**markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>
>>>>>>>> .
>>>>>>     I'd like to remove it if we aren't using it anymore--fewer
>>>>>> distractions, the better.
>>>>>>
>>>>>>    it's used as part of the dist target, to bundle the wikipages in the
>>>>>>
>>>>> zipped
>>>>> bin distribution, one file per language. On a Maven equivalent they
>>>>> would
>>>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-****wikipages), one per
>>>>>
>>>>> language, without java classes and the wikipages living at
>>>>> src/main/resources. Probably they should be submodules of i.e.,
>>>>> jspwiki-wikipages, something alike the module for IT tests living at the
>>>>> maven branch
>>>>>
>>>>>
>>>>>   Perhaps the Maven assembly plugin can play a helpful role here, it
>>>> basically creates multiple JARs, all of which are a subset of whatever
>>>> the
>>>> module itself would generate as a whole, I've used it before:
>>>> https://github.com/gmazza/****blog-samples/blob/master/web_****<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>> service_tutorial/service/pom.****xml#L32<https://github.com/**
>>>> gmazza/blog-samples/blob/**master/web_service_tutorial/**
>>>> service/pom.xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>>>> and
>>>> https://github.com/gmazza/****blog-samples/blob/master/web_****<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>>> service_tutorial/service/src/****assembly/jaxws-jar.xml<https:**
>>>> //github.com/gmazza/blog-**samples/blob/master/web_**
>>>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>>> Regards,
>>>> Glen
>>>>
>>>>
>>>>


Re: notes on Mavenization...

Posted by Harry Metske <ha...@gmail.com>.
in the jspwiki.properties, down the bottom you can find the log4j
configuration. I just set the root logger to debug, then the stacktrace
pops up in jspwiki.log.
Looking at the code I would say it's just trying to get the resource
"templates/default_*.properties" from classpath, I would have to test to
see if that works without "unjarring" the JSPWiki.jar.

regards,
Harry



On 1 May 2013 21:07, Glen Mazza <gl...@gmail.com> wrote:

> Thanks, Harry, how did you get that stacktrace to appear?  I couldn't find
> it anywhere--not in catalina.out, not in the jspwiki log file...   Maybe I
> need to adjust the logging level (where to do?).
>
> I wonder if TemplateManager *must* be given the name of the JAR file to
> read (kind of yucky), if it just can't access the files it wants to look at
> from the classpath.  As we just have one pom, I don't have the flexibility
> yet in naming the JAR as I do the WAR, so I would have to hardcode
> TemplateManager to the Maven name, and update the Ant build.xml to use the
> long name.  Maven has filtering, if need be, so the classfile can update to
> whatever the project version is if we have to go that route.
>
> As for the other differences between the WARs, (a) the JARs: Maven
> downloads a few different different sub-dependencies by default compared to
> what we earlier hardcoded for Ant (as viewable by running mvn
> dependency:tree), I wouldn't want to put in Maven overrides unless we know
> there's a problem with including them. Generally, when we formally declare
> a dependency on A and Maven Central says A needs B and C, then we should
> just rely on the default of all three unless we know otherwise. (b)
> META-INF: doesn't matter, Maven constructs a different META-INF compared to
> what Ant does including the POM and other config info; and (c) these files:
>
> +./geronimo-web.xml
> +./jspwiki.policy
> +./jspwiki.tld
> +./jstl-fmt.tld
> +./oscache.tld
>
>
> I goofed up here -- I need to put them under webapp/WEB-INF not just
> webapp and the pom.xml is wrongly copying them into two locations.  I'll
> get this fixed first.
>
> and (d) The WEB-INF/classes directory is empty (Maven apparently creates
> it by default) so that one doesn't matter.
>
> Thanks,
> Glen
>
>
>
> On 05/01/2013 02:31 PM, Harry Metske wrote:
>
>> The NPE has the following stacktrace (snipped) :
>>
>> java.lang.**NullPointerException: in is null
>> at java.util.zip.ZipInputStream.<**init>(ZipInputStream.java:100)
>> at java.util.zip.ZipInputStream.<**init>(ZipInputStream.java:79)
>> at java.util.jar.JarInputStream.<**init>(JarInputStream.java:76)
>> at java.util.jar.JarInputStream.<**init>(JarInputStream.java:62)
>> at
>> org.apache.wiki.ui.**TemplateManager.listLanguages(**
>> TemplateManager.java:437)
>> at
>> org.apache.jsp.templates.**default_.PreferencesTab_jsp._**
>> jspService(PreferencesTab_jsp.**java:167)
>> at org.apache.jasper.runtime.**HttpJspBase.service(**HttpJspBase.java:70)
>> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:728)
>> at
>> org.apache.jasper.servlet.**JspServletWrapper.service(**
>> JspServletWrapper.java:432)
>> at org.apache.jasper.servlet.**JspServlet.serviceJspFile(**
>> JspServlet.java:390)
>> at org.apache.jasper.servlet.**JspServlet.service(JspServlet.**java:334)
>> at javax.servlet.http.**HttpServlet.service(**HttpServlet.java:728)
>>
>> The NPE is a result of the fact the the JSPWiki.jar in the war file has
>> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
>> The TemplateManager has a hardcode path to it in line 92 :
>>
>>      public static final String I18NRESOURCE_PATH =
>> "/WEB-INF/lib/JSPWiki.jar";
>>
>>
>> There are quite a few more diffs, dont know if they break jspwiki:
>> (diff -u output on the sorted files of the maven and ant builds) :
>>
>> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
>> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
>> @@ -14,6 +14,7 @@
>>
>>
>
>  @@ -36,8 +40,14 @@
>>   ./Message.jsp
>>   ./META-INF
>>   ./META-INF/MANIFEST.MF
>> +./META-INF/maven
>> +./META-INF/maven/org.apache.**incubator
>> +./META-INF/maven/org.apache.**incubator/jspwiki
>> +./META-INF/maven/org.apache.**incubator/jspwiki/pom.**properties
>> +./META-INF/maven/org.apache.**incubator/jspwiki/pom.xml
>>   ./NewBlogEntry.jsp
>>   ./NewGroup.jsp
>>   ./PageInfo.jsp
>>   ./PageModified.jsp
>>   ./Preview.jsp
>> @@ -187,6 +197,7 @@
>>   ./Upload.jsp
>>   ./UserPreferences.jsp
>>   ./WEB-INF
>> +./WEB-INF/classes
>>   ./WEB-INF/geronimo-web.xml
>>   ./WEB-INF/groupdatabase.xml
>>   ./WEB-INF/jspwiki.policy
>> @@ -201,20 +212,21 @@
>>   ./WEB-INF/lib/commons-**httpclient-3.1.jar
>>   ./WEB-INF/lib/commons-io-1.4.**jar
>>   ./WEB-INF/lib/commons-lang-2.**6.jar
>> +./WEB-INF/lib/commons-**logging-1.0.4.jar
>>   ./WEB-INF/lib/commons-logging-**api-1.0.4.jar
>>   ./WEB-INF/lib/ecs-1.4.2.jar
>>   ./WEB-INF/lib/freshcookies-**security-0.60.jar
>> +./WEB-INF/lib/jakarta-regexp-**1.4.jar
>>   ./WEB-INF/lib/jaxen-1.1-beta-**6.jar
>>   ./WEB-INF/lib/jdom-1.0.jar
>> -./WEB-INF/lib/jrcs-diff-0.4.**2.jar
>>   ./WEB-INF/lib/json-rpc-1.0.jar
>> -./WEB-INF/lib/jsonrpc-1.0.jar
>> -./WEB-INF/lib/JSPWiki.jar
>> +./WEB-INF/lib/jspwiki-2.9.1-**SNAPSHOT.jar
>>   ./WEB-INF/lib/jstl-1.1.2.jar
>>   ./WEB-INF/lib/log4j-1.2.14.jar
>>   ./WEB-INF/lib/lucene-core-3.6.**0.jar
>>   ./WEB-INF/lib/lucene-**highlighter-3.6.0.jar
>>   ./WEB-INF/lib/lucene-memory-3.**6.0.jar
>> +./WEB-INF/lib/lucene-queries-**3.6.0.jar
>>   ./WEB-INF/lib/mail-1.4.jar
>>   ./WEB-INF/lib/nekohtml-0.9.4.**jar
>>   ./WEB-INF/lib/org.suigeneris.**jrcs.diff-0.4.2.jar
>> @@ -222,7 +234,10 @@
>>   ./WEB-INF/lib/oscache-2.3.jar
>>   ./WEB-INF/lib/sandler-0.5.jar
>>   ./WEB-INF/lib/standard-1.1.2.**jar
>> +./WEB-INF/lib/xercesImpl-2.4.**0.jar
>> +./WEB-INF/lib/xml-apis-1.3.**04.jar
>>   ./WEB-INF/lib/xmlrpc-2.0.1.jar
>> +./WEB-INF/lib/xpp3-1.1.3.4-**RC3.jar
>>   ./WEB-INF/oscache.tld
>>   ./WEB-INF/userdatabase.xml
>>   ./WEB-INF/web.xml
>>
>>
>>
>>
>>
>> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>>
>>  On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>>
>>>  Hi!
>>>>
>>>> comments inline
>>>>
>>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>>> wrote:
>>>>
>>>>   Hi Team, a few notes:
>>>>
>>>>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>>>> project again, Ant will download them again with names precisely
>>>>> matching
>>>>> what is in the Maven Central repository.   This way, when we do a diff
>>>>> -r
>>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>>> reporting
>>>>> that Ant is missing two JARs and Maven is missing another two, when in
>>>>> fact
>>>>> they're the same but just with different names.
>>>>>
>>>>>   ok, also, 'til we swicth to maven, the .classpath file needs to be
>>>>>
>>>> updated
>>>> too.
>>>>
>>>>  Updated.
>>>
>>>
>>>   2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish
>>> to
>>>
>>>> have a "distribution" submodule similar to CXF here:
>>>>> http://svn.apache.org/viewvc/******cxf/trunk/distribution/<http://svn.apache.org/viewvc/****cxf/trunk/distribution/>
>>>>> <htt**p://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>>> >
>>>>> <http:**//svn.apache.org/**viewvc/cxf/**trunk/**distribution/<http://svn.apache.org/viewvc/cxf/**trunk/distribution/>
>>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>
>>>>> >>,
>>>>>
>>>>> it would allow us to nicely store the LICENSE, Notice, and other static
>>>>> text information away from the development folders:
>>>>> http://svn.apache.org/viewvc/******cxf/trunk/distribution/src/******<http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****>
>>>>> main/release/<http://svn.**apache.org/viewvc/**cxf/trunk/**
>>>>> distribution/src/**main/**release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>>> >
>>>>> <http://svn.**apache.org/**viewvc/cxf/trunk/**<http://apache.org/viewvc/cxf/trunk/**>
>>>>> distribution/src/main/release/**<http://svn.apache.org/viewvc/**
>>>>> cxf/trunk/distribution/src/**main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>>> >
>>>>> **>.
>>>>>
>>>>>
>>>>>
>>>>>   didn't thought of it, but I think it's a great idea, would you mind
>>>>>
>>>> opening
>>>> a JIRA for this, so we can track it?
>>>>
>>>>
>>>>  Done (JSPWiki-1776).
>>>
>>>
>>>
>>>    3.) Does anyone know if we need src/images/jspwiki_alert_******
>>>> icons.xcf?
>>>>
>>>>  (It's a GIMP image file), AFAICT by grepping the source code it's
>>>>> completely unused by the project so I'd like to delete it.
>>>>>
>>>>>   +1 on removing it
>>>>>
>>>>
>>>>  Gone now.  (Gambling no one else will see a need for it.)
>>>
>>>
>>>   4.) Do we need the "corepageszip" target in the build.xml?  I don't
>>> know
>>>
>>>> what it's used for: http://svn.apache.org/viewvc/******<http://svn.apache.org/viewvc/****>
>>>>> <http://svn.apache.org/**viewvc/** <http://svn.apache.org/viewvc/**>>
>>>>> incubator/jspwiki/trunk/build.******xml?revision=1477835&view=******
>>>>> markup#l642<http://svn.apache.****org/viewvc/incubator/**jspwiki/**
>>>>> trunk/build.xml?revision=****1477835&view=markup#l642<http:**
>>>>> //svn.apache.org/viewvc/**incubator/jspwiki/trunk/build.**
>>>>> xml?revision=1477835&view=**markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>
>>>>> >>.
>>>>>
>>>>>    I'd like to remove it if we aren't using it anymore--fewer
>>>>> distractions, the better.
>>>>>
>>>>>   it's used as part of the dist target, to bundle the wikipages in the
>>>>>
>>>> zipped
>>>> bin distribution, one file per language. On a Maven equivalent they
>>>> would
>>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-****wikipages), one per
>>>>
>>>> language, without java classes and the wikipages living at
>>>> src/main/resources. Probably they should be submodules of i.e.,
>>>> jspwiki-wikipages, something alike the module for IT tests living at the
>>>> maven branch
>>>>
>>>>
>>>>  Perhaps the Maven assembly plugin can play a helpful role here, it
>>> basically creates multiple JARs, all of which are a subset of whatever
>>> the
>>> module itself would generate as a whole, I've used it before:
>>> https://github.com/gmazza/****blog-samples/blob/master/web_****<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>> service_tutorial/service/pom.****xml#L32<https://github.com/**
>>> gmazza/blog-samples/blob/**master/web_service_tutorial/**
>>> service/pom.xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>>> >
>>> and
>>> https://github.com/gmazza/****blog-samples/blob/master/web_****<https://github.com/gmazza/**blog-samples/blob/master/web_**>
>>> service_tutorial/service/src/****assembly/jaxws-jar.xml<https:**
>>> //github.com/gmazza/blog-**samples/blob/master/web_**
>>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>> >
>>>
>>> Regards,
>>> Glen
>>>
>>>
>>>
>

Re: notes on Mavenization...

Posted by Glen Mazza <gl...@gmail.com>.
Thanks, Harry, how did you get that stacktrace to appear?  I couldn't 
find it anywhere--not in catalina.out, not in the jspwiki log file...   
Maybe I need to adjust the logging level (where to do?).

I wonder if TemplateManager *must* be given the name of the JAR file to 
read (kind of yucky), if it just can't access the files it wants to look 
at from the classpath.  As we just have one pom, I don't have the 
flexibility yet in naming the JAR as I do the WAR, so I would have to 
hardcode TemplateManager to the Maven name, and update the Ant build.xml 
to use the long name.  Maven has filtering, if need be, so the classfile 
can update to whatever the project version is if we have to go that route.

As for the other differences between the WARs, (a) the JARs: Maven 
downloads a few different different sub-dependencies by default compared 
to what we earlier hardcoded for Ant (as viewable by running mvn 
dependency:tree), I wouldn't want to put in Maven overrides unless we 
know there's a problem with including them. Generally, when we formally 
declare a dependency on A and Maven Central says A needs B and C, then 
we should just rely on the default of all three unless we know 
otherwise. (b) META-INF: doesn't matter, Maven constructs a different 
META-INF compared to what Ant does including the POM and other config 
info; and (c) these files:

+./geronimo-web.xml
+./jspwiki.policy
+./jspwiki.tld
+./jstl-fmt.tld
+./oscache.tld


I goofed up here -- I need to put them under webapp/WEB-INF not just 
webapp and the pom.xml is wrongly copying them into two locations.  I'll 
get this fixed first.

and (d) The WEB-INF/classes directory is empty (Maven apparently creates 
it by default) so that one doesn't matter.

Thanks,
Glen


On 05/01/2013 02:31 PM, Harry Metske wrote:
> The NPE has the following stacktrace (snipped) :
>
> java.lang.NullPointerException: in is null
> at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:100)
> at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:79)
> at java.util.jar.JarInputStream.<init>(JarInputStream.java:76)
> at java.util.jar.JarInputStream.<init>(JarInputStream.java:62)
> at
> org.apache.wiki.ui.TemplateManager.listLanguages(TemplateManager.java:437)
> at
> org.apache.jsp.templates.default_.PreferencesTab_jsp._jspService(PreferencesTab_jsp.java:167)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>
> The NPE is a result of the fact the the JSPWiki.jar in the war file has
> another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
> The TemplateManager has a hardcode path to it in line 92 :
>
>      public static final String I18NRESOURCE_PATH =
> "/WEB-INF/lib/JSPWiki.jar";
>
>
> There are quite a few more diffs, dont know if they break jspwiki:
> (diff -u output on the sorted files of the maven and ant builds) :
>
> --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
> +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
> @@ -14,6 +14,7 @@
>


> @@ -36,8 +40,14 @@
>   ./Message.jsp
>   ./META-INF
>   ./META-INF/MANIFEST.MF
> +./META-INF/maven
> +./META-INF/maven/org.apache.incubator
> +./META-INF/maven/org.apache.incubator/jspwiki
> +./META-INF/maven/org.apache.incubator/jspwiki/pom.properties
> +./META-INF/maven/org.apache.incubator/jspwiki/pom.xml
>   ./NewBlogEntry.jsp
>   ./NewGroup.jsp
>   ./PageInfo.jsp
>   ./PageModified.jsp
>   ./Preview.jsp
> @@ -187,6 +197,7 @@
>   ./Upload.jsp
>   ./UserPreferences.jsp
>   ./WEB-INF
> +./WEB-INF/classes
>   ./WEB-INF/geronimo-web.xml
>   ./WEB-INF/groupdatabase.xml
>   ./WEB-INF/jspwiki.policy
> @@ -201,20 +212,21 @@
>   ./WEB-INF/lib/commons-httpclient-3.1.jar
>   ./WEB-INF/lib/commons-io-1.4.jar
>   ./WEB-INF/lib/commons-lang-2.6.jar
> +./WEB-INF/lib/commons-logging-1.0.4.jar
>   ./WEB-INF/lib/commons-logging-api-1.0.4.jar
>   ./WEB-INF/lib/ecs-1.4.2.jar
>   ./WEB-INF/lib/freshcookies-security-0.60.jar
> +./WEB-INF/lib/jakarta-regexp-1.4.jar
>   ./WEB-INF/lib/jaxen-1.1-beta-6.jar
>   ./WEB-INF/lib/jdom-1.0.jar
> -./WEB-INF/lib/jrcs-diff-0.4.2.jar
>   ./WEB-INF/lib/json-rpc-1.0.jar
> -./WEB-INF/lib/jsonrpc-1.0.jar
> -./WEB-INF/lib/JSPWiki.jar
> +./WEB-INF/lib/jspwiki-2.9.1-SNAPSHOT.jar
>   ./WEB-INF/lib/jstl-1.1.2.jar
>   ./WEB-INF/lib/log4j-1.2.14.jar
>   ./WEB-INF/lib/lucene-core-3.6.0.jar
>   ./WEB-INF/lib/lucene-highlighter-3.6.0.jar
>   ./WEB-INF/lib/lucene-memory-3.6.0.jar
> +./WEB-INF/lib/lucene-queries-3.6.0.jar
>   ./WEB-INF/lib/mail-1.4.jar
>   ./WEB-INF/lib/nekohtml-0.9.4.jar
>   ./WEB-INF/lib/org.suigeneris.jrcs.diff-0.4.2.jar
> @@ -222,7 +234,10 @@
>   ./WEB-INF/lib/oscache-2.3.jar
>   ./WEB-INF/lib/sandler-0.5.jar
>   ./WEB-INF/lib/standard-1.1.2.jar
> +./WEB-INF/lib/xercesImpl-2.4.0.jar
> +./WEB-INF/lib/xml-apis-1.3.04.jar
>   ./WEB-INF/lib/xmlrpc-2.0.1.jar
> +./WEB-INF/lib/xpp3-1.1.3.4-RC3.jar
>   ./WEB-INF/oscache.tld
>   ./WEB-INF/userdatabase.xml
>   ./WEB-INF/web.xml
>
>
>
>
>
> On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:
>
>> On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>>
>>> Hi!
>>>
>>> comments inline
>>>
>>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>>> wrote:
>>>
>>>   Hi Team, a few notes:
>>>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>>> project again, Ant will download them again with names precisely matching
>>>> what is in the Maven Central repository.   This way, when we do a diff -r
>>>> between the Maven and Ant WARs to check equivalence it won't keep
>>>> reporting
>>>> that Ant is missing two JARs and Maven is missing another two, when in
>>>> fact
>>>> they're the same but just with different names.
>>>>
>>>>   ok, also, 'til we swicth to maven, the .classpath file needs to be
>>> updated
>>> too.
>>>
>> Updated.
>>
>>
>>   2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to
>>>> have a "distribution" submodule similar to CXF here:
>>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>>> <http:**//svn.apache.org/viewvc/cxf/**trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>>,
>>>> it would allow us to nicely store the LICENSE, Notice, and other static
>>>> text information away from the development folders:
>>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****
>>>> main/release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>>> <http://svn.**apache.org/viewvc/cxf/trunk/**
>>>> distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>>> **>.
>>>>
>>>>
>>>>   didn't thought of it, but I think it's a great idea, would you mind
>>> opening
>>> a JIRA for this, so we can track it?
>>>
>>>
>> Done (JSPWiki-1776).
>>
>>
>>
>>>   3.) Does anyone know if we need src/images/jspwiki_alert_****icons.xcf?
>>>> (It's a GIMP image file), AFAICT by grepping the source code it's
>>>> completely unused by the project so I'd like to delete it.
>>>>
>>>>   +1 on removing it
>>>
>> Gone now.  (Gambling no one else will see a need for it.)
>>
>>
>>   4.) Do we need the "corepageszip" target in the build.xml?  I don't know
>>>> what it's used for: http://svn.apache.org/viewvc/****<http://svn.apache.org/viewvc/**>
>>>> incubator/jspwiki/trunk/build.****xml?revision=1477835&view=****
>>>> markup#l642<http://svn.apache.**org/viewvc/incubator/jspwiki/**
>>>> trunk/build.xml?revision=**1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>>.
>>>>    I'd like to remove it if we aren't using it anymore--fewer
>>>> distractions, the better.
>>>>
>>>>   it's used as part of the dist target, to bundle the wikipages in the
>>> zipped
>>> bin distribution, one file per language. On a Maven equivalent they would
>>> be normal jar modules (jspwiki-[en|fi|de|etc.]-**wikipages), one per
>>> language, without java classes and the wikipages living at
>>> src/main/resources. Probably they should be submodules of i.e.,
>>> jspwiki-wikipages, something alike the module for IT tests living at the
>>> maven branch
>>>
>>>
>> Perhaps the Maven assembly plugin can play a helpful role here, it
>> basically creates multiple JARs, all of which are a subset of whatever the
>> module itself would generate as a whole, I've used it before:
>> https://github.com/gmazza/**blog-samples/blob/master/web_**
>> service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
>> and
>> https://github.com/gmazza/**blog-samples/blob/master/web_**
>> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>>
>> Regards,
>> Glen
>>
>>


Re: notes on Mavenization...

Posted by Harry Metske <ha...@gmail.com>.
The NPE has the following stacktrace (snipped) :

java.lang.NullPointerException: in is null
at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:100)
at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:79)
at java.util.jar.JarInputStream.<init>(JarInputStream.java:76)
at java.util.jar.JarInputStream.<init>(JarInputStream.java:62)
at
org.apache.wiki.ui.TemplateManager.listLanguages(TemplateManager.java:437)
at
org.apache.jsp.templates.default_.PreferencesTab_jsp._jspService(PreferencesTab_jsp.java:167)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

The NPE is a result of the fact the the JSPWiki.jar in the war file has
another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar).
The TemplateManager has a hardcode path to it in line 92 :

    public static final String I18NRESOURCE_PATH =
"/WEB-INF/lib/JSPWiki.jar";


There are quite a few more diffs, dont know if they break jspwiki:
(diff -u output on the sorted files of the maven and ant builds) :

--- ff-ant.list 2013-05-01 20:13:27.508155331 +0200
+++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200
@@ -14,6 +14,7 @@
 ./error
 ./error/Forbidden.html
 ./Error.jsp
+./geronimo-web.xml
 ./Group.jsp
 ./images
 ./images/attachment_big.png
@@ -29,6 +30,9 @@
 ./images/xmlCoffeeCup.png
 ./images/xml.png
 ./Install.jsp
+./jspwiki.policy
+./jspwiki.tld
+./jstl-fmt.tld
 ./LoginForm.jsp
 ./Login.jsp
 ./Logout.jsp
@@ -36,8 +40,14 @@
 ./Message.jsp
 ./META-INF
 ./META-INF/MANIFEST.MF
+./META-INF/maven
+./META-INF/maven/org.apache.incubator
+./META-INF/maven/org.apache.incubator/jspwiki
+./META-INF/maven/org.apache.incubator/jspwiki/pom.properties
+./META-INF/maven/org.apache.incubator/jspwiki/pom.xml
 ./NewBlogEntry.jsp
 ./NewGroup.jsp
+./oscache.tld
 ./PageInfo.jsp
 ./PageModified.jsp
 ./Preview.jsp
@@ -187,6 +197,7 @@
 ./Upload.jsp
 ./UserPreferences.jsp
 ./WEB-INF
+./WEB-INF/classes
 ./WEB-INF/geronimo-web.xml
 ./WEB-INF/groupdatabase.xml
 ./WEB-INF/jspwiki.policy
@@ -201,20 +212,21 @@
 ./WEB-INF/lib/commons-httpclient-3.1.jar
 ./WEB-INF/lib/commons-io-1.4.jar
 ./WEB-INF/lib/commons-lang-2.6.jar
+./WEB-INF/lib/commons-logging-1.0.4.jar
 ./WEB-INF/lib/commons-logging-api-1.0.4.jar
 ./WEB-INF/lib/ecs-1.4.2.jar
 ./WEB-INF/lib/freshcookies-security-0.60.jar
+./WEB-INF/lib/jakarta-regexp-1.4.jar
 ./WEB-INF/lib/jaxen-1.1-beta-6.jar
 ./WEB-INF/lib/jdom-1.0.jar
-./WEB-INF/lib/jrcs-diff-0.4.2.jar
 ./WEB-INF/lib/json-rpc-1.0.jar
-./WEB-INF/lib/jsonrpc-1.0.jar
-./WEB-INF/lib/JSPWiki.jar
+./WEB-INF/lib/jspwiki-2.9.1-SNAPSHOT.jar
 ./WEB-INF/lib/jstl-1.1.2.jar
 ./WEB-INF/lib/log4j-1.2.14.jar
 ./WEB-INF/lib/lucene-core-3.6.0.jar
 ./WEB-INF/lib/lucene-highlighter-3.6.0.jar
 ./WEB-INF/lib/lucene-memory-3.6.0.jar
+./WEB-INF/lib/lucene-queries-3.6.0.jar
 ./WEB-INF/lib/mail-1.4.jar
 ./WEB-INF/lib/nekohtml-0.9.4.jar
 ./WEB-INF/lib/org.suigeneris.jrcs.diff-0.4.2.jar
@@ -222,7 +234,10 @@
 ./WEB-INF/lib/oscache-2.3.jar
 ./WEB-INF/lib/sandler-0.5.jar
 ./WEB-INF/lib/standard-1.1.2.jar
+./WEB-INF/lib/xercesImpl-2.4.0.jar
+./WEB-INF/lib/xml-apis-1.3.04.jar
 ./WEB-INF/lib/xmlrpc-2.0.1.jar
+./WEB-INF/lib/xpp3-1.1.3.4-RC3.jar
 ./WEB-INF/oscache.tld
 ./WEB-INF/userdatabase.xml
 ./WEB-INF/web.xml





On 1 May 2013 01:51, Glen Mazza <gl...@gmail.com> wrote:

> On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
>
>> Hi!
>>
>> comments inline
>>
>> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com>
>> wrote:
>>
>>  Hi Team, a few notes:
>>>
>>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>>> project again, Ant will download them again with names precisely matching
>>> what is in the Maven Central repository.   This way, when we do a diff -r
>>> between the Maven and Ant WARs to check equivalence it won't keep
>>> reporting
>>> that Ant is missing two JARs and Maven is missing another two, when in
>>> fact
>>> they're the same but just with different names.
>>>
>>>  ok, also, 'til we swicth to maven, the .classpath file needs to be
>> updated
>> too.
>>
>
> Updated.
>
>
>  2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to
>>> have a "distribution" submodule similar to CXF here:
>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/>
>>> <http:**//svn.apache.org/viewvc/cxf/**trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>>,
>>> it would allow us to nicely store the LICENSE, Notice, and other static
>>> text information away from the development folders:
>>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/****
>>> main/release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/>
>>> <http://svn.**apache.org/viewvc/cxf/trunk/**
>>> distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>
>>> **>.
>>>
>>>
>>>  didn't thought of it, but I think it's a great idea, would you mind
>> opening
>> a JIRA for this, so we can track it?
>>
>>
> Done (JSPWiki-1776).
>
>
>
>>  3.) Does anyone know if we need src/images/jspwiki_alert_****icons.xcf?
>>> (It's a GIMP image file), AFAICT by grepping the source code it's
>>> completely unused by the project so I'd like to delete it.
>>>
>>>  +1 on removing it
>>
>>
> Gone now.  (Gambling no one else will see a need for it.)
>
>
>  4.) Do we need the "corepageszip" target in the build.xml?  I don't know
>>> what it's used for: http://svn.apache.org/viewvc/****<http://svn.apache.org/viewvc/**>
>>> incubator/jspwiki/trunk/build.****xml?revision=1477835&view=****
>>> markup#l642<http://svn.apache.**org/viewvc/incubator/jspwiki/**
>>> trunk/build.xml?revision=**1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>>.
>>>   I'd like to remove it if we aren't using it anymore--fewer
>>> distractions, the better.
>>>
>>>  it's used as part of the dist target, to bundle the wikipages in the
>> zipped
>> bin distribution, one file per language. On a Maven equivalent they would
>> be normal jar modules (jspwiki-[en|fi|de|etc.]-**wikipages), one per
>> language, without java classes and the wikipages living at
>> src/main/resources. Probably they should be submodules of i.e.,
>> jspwiki-wikipages, something alike the module for IT tests living at the
>> maven branch
>>
>>
> Perhaps the Maven assembly plugin can play a helpful role here, it
> basically creates multiple JARs, all of which are a subset of whatever the
> module itself would generate as a whole, I've used it before:
> https://github.com/gmazza/**blog-samples/blob/master/web_**
> service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32>
> and
> https://github.com/gmazza/**blog-samples/blob/master/web_**
> service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml>
>
> Regards,
> Glen
>
>

Re: notes on Mavenization...

Posted by Glen Mazza <gl...@gmail.com>.
On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote:
> Hi!
>
> comments inline
>
> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <gl...@gmail.com> wrote:
>
>> Hi Team, a few notes:
>>
>> 1.) In your local {jspwiki_home}/lib directory, please delete these two
>> files:  jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar.  When you build the
>> project again, Ant will download them again with names precisely matching
>> what is in the Maven Central repository.   This way, when we do a diff -r
>> between the Maven and Ant WARs to check equivalence it won't keep reporting
>> that Ant is missing two JARs and Maven is missing another two, when in fact
>> they're the same but just with different names.
>>
> ok, also, 'til we swicth to maven, the .classpath file needs to be updated
> too.

Updated.

>> 2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to
>> have a "distribution" submodule similar to CXF here:
>> http://svn.apache.org/viewvc/**cxf/trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>, it would allow us to nicely store the LICENSE, Notice, and other static
>> text information away from the development folders:
>> http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/>.
>>
>>
> didn't thought of it, but I think it's a great idea, would you mind opening
> a JIRA for this, so we can track it?
>

Done (JSPWiki-1776).

>
>> 3.) Does anyone know if we need src/images/jspwiki_alert_**icons.xcf?
>> (It's a GIMP image file), AFAICT by grepping the source code it's
>> completely unused by the project so I'd like to delete it.
>>
> +1 on removing it
>

Gone now.  (Gambling no one else will see a need for it.)

>> 4.) Do we need the "corepageszip" target in the build.xml?  I don't know
>> what it's used for: http://svn.apache.org/viewvc/**
>> incubator/jspwiki/trunk/build.**xml?revision=1477835&view=**markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>.   I'd like to remove it if we aren't using it anymore--fewer
>> distractions, the better.
>>
> it's used as part of the dist target, to bundle the wikipages in the zipped
> bin distribution, one file per language. On a Maven equivalent they would
> be normal jar modules (jspwiki-[en|fi|de|etc.]-wikipages), one per
> language, without java classes and the wikipages living at
> src/main/resources. Probably they should be submodules of i.e.,
> jspwiki-wikipages, something alike the module for IT tests living at the
> maven branch
>

Perhaps the Maven assembly plugin can play a helpful role here, it 
basically creates multiple JARs, all of which are a subset of whatever 
the module itself would generate as a whole, I've used it before:
https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32
and
https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml

Regards,
Glen