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.