You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Glen Mazza <gl...@gmail.com> on 2013/04/15 12:54:33 UTC

Next stage of Mavenization...

Hi Team, I'd like to start moving some files into the Maven Standard 
Directory layout (JSPWiki-768 and JSPWiki-771), tentatively using this 
structure Juan Pablo mentioned in JSPWiki-770:

       + pom.xml                     -->new  parent pom
       + jspwiki-war
           + pom.xml                 --> current $SVN/trunk/pom.xml
           + src, test, etc          --> current $SVN/trunk/src, tests, etc
       + jspwiki-selenium
           + pom.xml
           + it-tests-modules
           + jspwiki-vanilla-selenium-war
           + jspwiki-db-selenium-war
           + etc

I'll/We'll always update the build.xml with any change to the folder 
structure, such that every check-in will guarantee that the project will 
build with the still-authoritative build.xml.  This is a step-by-step 
process that anybody can work on--move non-Maven located file(s) to its 
Maven position, and update the build.xml and pom.xml to be able to work 
with the file's new location (and not check in until/unless the 
build.xml/pom.xml work with the change).

I'm mainly interested in the jspwiki-war right now, moving:
our JUnit tests to src->main->test
our Source code to src->main->java
our class-level resource files that don't presently require manipulation 
(variable value changing in build.xml) to src->main->resources
configuration files that are not part of the final build to 
src->main->config
our web resources that don't presently require manipulation (variable 
value changing) to src->main->webapp

Some resources that can't be used as-is (i.e., are being manipulated 
and/or constructed in the build.xml) will remain in the root folder (and 
referenced by the pom.xml as they presently are) until they can be 
Mavenized.  As the variable replacing process is different between Maven 
and Ant, some property files may need to be temporarily duplicated--a 
build.xml version in root and a pom.xml version in jspwiki-war (or 
jspwiki-selenium), with the build.xml version being deleted once we're 
completely on Maven.  Also, I think we're going to temporarily need 
separate Ant and Maven Selenium webtest locations for reasons I 
mentioned in JSPWIKI-770.

WDYT?

Regards,
Glen


Re: Next stage of Mavenization...

Posted by Glen Mazza <gl...@gmail.com>.
OK, sure, I'll hold off on moving the directory structure one level up, 
while Mavenizing at the current level (providing no concerns raised by 
other team members), also that will give me more time to look at what I 
presently have with Selenium (and see what you have there).  I'll see 
what I can do with keeping the eclipse files in sync (once we Mavenize I 
doubt we'll need them, as mvn eclipse:eclipse or its m2e equivalent is 
so fast and accurate, CXF and Roller don't bother storing them anymore 
in SVN.)

Moving to an incomplete parent pom would probably be no big deal, for 
starters, it can be all of 15 lines while its child module, the current 
pom, remains mostly as-is in its new folder one level up.  Then it's 
just an issue of moving plugin and dependency definitions from the 
current pom to the parent pom (also no big deal), and well as then 
plugging in the other plugins (CI, Rat, whatever) (very much big deal :) 
.  All this can be done taking your time while the Ant build.xml remains 
the official build method.  In other words, I'll happily defer to you 
when you'd like to move the directory structure up, where you'd want to 
sandbox the parent pom, etc.  As long as each check-in results in the 
build.xml still working fine it's OK with me.

Regards,
Glen

On 04/15/2013 05:39 PM, Juan Pablo Santos Rodríguez wrote:
> Hi Glen,
>
> I'm +1 to moving src to src/main/java, test to src/test/java, and so on;
> while we stick with Ant, also the eclipse generated files should also be
> mantained to reflect the new structure.
>
> As for moving the directory structure one directory up, to make room for
> the parent pom and other future modules, I'd rather do it once we have
> JSPWiki-771 done, so we can cleanly switch from Ant to Maven at our CI jobs
>
> Regarding the Selenium execution: I'm commiting right now
> $SVN/branches/MVN3_BRANCH, which has -mainly- a proof-of-context Selenium
> execution. There's room for improvement, but I think it's fine as working
> example.
>
> Maybe we can use that branch also to configure the parent pom there, before
> moving it to trunk? That branch is based on current trunk, the only
> difference is the absence of IDE specific files on the branch, so you'll
> have to mvn eclipse:eclipse or use m2e/netbeans/whatever IDE with Maven
> support. It ressembles more or less the structure described at JSPWIKI-770.
>
>
> br,
> juan pablo
>
> On Mon, Apr 15, 2013 at 12:54 PM, Glen Mazza <gl...@gmail.com> wrote:
>
>> Hi Team, I'd like to start moving some files into the Maven Standard
>> Directory layout (JSPWiki-768 and JSPWiki-771), tentatively using this
>> structure Juan Pablo mentioned in JSPWiki-770:
>>
>>        + pom.xml                     -->new  parent pom
>>        + jspwiki-war
>>            + pom.xml                 --> current $SVN/trunk/pom.xml
>>            + src, test, etc          --> current $SVN/trunk/src, tests, etc
>>        + jspwiki-selenium
>>            + pom.xml
>>            + it-tests-modules
>>            + jspwiki-vanilla-selenium-war
>>            + jspwiki-db-selenium-war
>>            + etc
>>
>> I'll/We'll always update the build.xml with any change to the folder
>> structure, such that every check-in will guarantee that the project will
>> build with the still-authoritative build.xml.  This is a step-by-step
>> process that anybody can work on--move non-Maven located file(s) to its
>> Maven position, and update the build.xml and pom.xml to be able to work
>> with the file's new location (and not check in until/unless the
>> build.xml/pom.xml work with the change).
>>
>> I'm mainly interested in the jspwiki-war right now, moving:
>> our JUnit tests to src->main->test
>> our Source code to src->main->java
>> our class-level resource files that don't presently require manipulation
>> (variable value changing in build.xml) to src->main->resources
>> configuration files that are not part of the final build to
>> src->main->config
>> our web resources that don't presently require manipulation (variable
>> value changing) to src->main->webapp
>>
>> Some resources that can't be used as-is (i.e., are being manipulated
>> and/or constructed in the build.xml) will remain in the root folder (and
>> referenced by the pom.xml as they presently are) until they can be
>> Mavenized.  As the variable replacing process is different between Maven
>> and Ant, some property files may need to be temporarily duplicated--a
>> build.xml version in root and a pom.xml version in jspwiki-war (or
>> jspwiki-selenium), with the build.xml version being deleted once we're
>> completely on Maven.  Also, I think we're going to temporarily need
>> separate Ant and Maven Selenium webtest locations for reasons I mentioned
>> in JSPWIKI-770.
>>
>> WDYT?
>>
>> Regards,
>> Glen
>>
>>


Re: Next stage of Mavenization...

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

I'm +1 to moving src to src/main/java, test to src/test/java, and so on;
while we stick with Ant, also the eclipse generated files should also be
mantained to reflect the new structure.

As for moving the directory structure one directory up, to make room for
the parent pom and other future modules, I'd rather do it once we have
JSPWiki-771 done, so we can cleanly switch from Ant to Maven at our CI jobs

Regarding the Selenium execution: I'm commiting right now
$SVN/branches/MVN3_BRANCH, which has -mainly- a proof-of-context Selenium
execution. There's room for improvement, but I think it's fine as working
example.

Maybe we can use that branch also to configure the parent pom there, before
moving it to trunk? That branch is based on current trunk, the only
difference is the absence of IDE specific files on the branch, so you'll
have to mvn eclipse:eclipse or use m2e/netbeans/whatever IDE with Maven
support. It ressembles more or less the structure described at JSPWIKI-770.


br,
juan pablo

On Mon, Apr 15, 2013 at 12:54 PM, Glen Mazza <gl...@gmail.com> wrote:

> Hi Team, I'd like to start moving some files into the Maven Standard
> Directory layout (JSPWiki-768 and JSPWiki-771), tentatively using this
> structure Juan Pablo mentioned in JSPWiki-770:
>
>       + pom.xml                     -->new  parent pom
>       + jspwiki-war
>           + pom.xml                 --> current $SVN/trunk/pom.xml
>           + src, test, etc          --> current $SVN/trunk/src, tests, etc
>       + jspwiki-selenium
>           + pom.xml
>           + it-tests-modules
>           + jspwiki-vanilla-selenium-war
>           + jspwiki-db-selenium-war
>           + etc
>
> I'll/We'll always update the build.xml with any change to the folder
> structure, such that every check-in will guarantee that the project will
> build with the still-authoritative build.xml.  This is a step-by-step
> process that anybody can work on--move non-Maven located file(s) to its
> Maven position, and update the build.xml and pom.xml to be able to work
> with the file's new location (and not check in until/unless the
> build.xml/pom.xml work with the change).
>
> I'm mainly interested in the jspwiki-war right now, moving:
> our JUnit tests to src->main->test
> our Source code to src->main->java
> our class-level resource files that don't presently require manipulation
> (variable value changing in build.xml) to src->main->resources
> configuration files that are not part of the final build to
> src->main->config
> our web resources that don't presently require manipulation (variable
> value changing) to src->main->webapp
>
> Some resources that can't be used as-is (i.e., are being manipulated
> and/or constructed in the build.xml) will remain in the root folder (and
> referenced by the pom.xml as they presently are) until they can be
> Mavenized.  As the variable replacing process is different between Maven
> and Ant, some property files may need to be temporarily duplicated--a
> build.xml version in root and a pom.xml version in jspwiki-war (or
> jspwiki-selenium), with the build.xml version being deleted once we're
> completely on Maven.  Also, I think we're going to temporarily need
> separate Ant and Maven Selenium webtest locations for reasons I mentioned
> in JSPWIKI-770.
>
> WDYT?
>
> Regards,
> Glen
>
>