Uploaded image for project: 'Log4net'
  1. Log4net
  2. LOG4NET-117

Migrate web content generation of Maven 2.0

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.2.11
    • Builds
    • None

    Description

      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.

      Attachments

        Activity

          People

            bodewig Stefan Bodewig
            carnold@apache.org Curt Arnold
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: