Migrate web content generation of Maven 2.0
-------------------------------------------

                 Key: LOG4NET-117
                 URL: https://issues.apache.org/jira/browse/LOG4NET-117
             Project: Log4net
          Issue Type: Task
          Components: Builds
            Reporter: Curt Arnold


The other LS projects have been migrating to Maven 2.0 for documentation 
generation and deployment, packaging and, for the Java projects, build and 
dependency management.  Migrating log4net would complete the migration and 
would allow consistency between the web content of the various projects.

The initial commit overlays the existing source code struction with fragments 
of the Maven Standard Directory Layout,.  The following directories are added:

src/assembly - release packaging info, includes assembly.bin borrowed from 
another project.

src/changes - project change list.  Includes sample changes.xml.  log4cxx has 
an XSLT transform that can generate changes.xml from a downloaded JIRA issue 
list.  Used to generate change-report.html.

src/site - documentation source files, site.xml contains navigation and layout 
details for all generated pages
src/site/apt - web content in Maven's APT (almost plain text) format
src/site/resources - static content copied over without processing
src/site/xdoc - XDoc content, I copied the existing xdocs content here, but 
deleted a few no longer needed pages

The existing C# code in src should be relocated to src/main/cs and the build 
and project files appropriately changed.  For extra credit, the following 
relocations would bring the layout closer to a typical Maven layout:

change log4net.build to generate DLL's in target (maybe target\bin) instead of 
bin
svn rm docs
svn mv examples src/examples
svn mv extensions src/extensions
svn mv tests/src src/test/cs
svn mv tests/nant.build src/test/nant.build (modified to build test DLL's in 
target)
svn rm xdocs


pom.xml - Maven project descriptor, contains info used to generate much of the 
web content

After installing Maven 2.0.7 (which requires a JDK 1.4 or later).  Running mvn 
site will generate the web content in target/site/index.html.

mvn site-deploy should deploy the content to the logging/site/trunk/docs SVN 
for staging before going live on logging.apache.org.  The implementation of 
site-deploy uses Maven to generate the web content, invoke Nant to checkout the 
existing content, uses Maven's SCP deployment to copy the generated content 
over the existing content, and then invokes Nant to set svn:mime-type and 
finally commit the changes.  The deployment stalled on the commit when run from 
Maven, but if I ctrl+c'd the process and then manually "svn commit", the 
changes were processed.

I set up a Windows build environment but ran into problems with both NUnit and 
NDoc that I wasn't able to get around.  Setting up the SSHD to receive the 
"uploaded" web content before deployment was also less than ideal. It may be 
simpler to add mono, ndoc and nant to the VM used to build the other LS 
projects for web creation.  I have left stubs that should have published the 
API docs if I had been successful getting them from NDoc.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to