Changes

First, child projects that have maven sites can now be included in this site "the maven way".

Secondly, SourceForge.net stopped the ability to access the SVN servers from the shell access computer that hosts the web sites, so we could no longer use the setup site script that was setup (I tried to modify it and tweak it only to find this out).

Build the site

Necessary Pre-requisites

Install subversion

Check out the entire repository (as the site depends on other modules now):

svn co http://jsf-comp.svn.sourceforge.net/svnroot/jsf-comp/trunk/ jsf-comp

You need at least maven 2.0.1 installed on your computer. You can get it here

Set up your settings.xml file. In your local m2 directory (on *nix computers it is ~/.m2/settings.xml). Example file:

<settings>
  <servers>
    <server>
      <id>sf.net</id>
      <username>sourceforge-user-name</username>
      <privateKey>path_to_sourceforge_private_key</privateKey>
      <filePermissions>664</filePermissions>
      <directoryPermissions>2775</directoryPermissions>
    </server>
  </servers>
</settings>
        

On Windows, you will need to setup putty or another ssh setup (like cygwin). For putty to work with maven, see one of:

You need SSH private-key acecss to sourceforge. Follow the sourceforge instructions to learn how to get this going.

Go for it

First, test the site locally (see the next secion for more information) and make sure everything is working.

Once you have everything installed, you can now deploy. Please make sure your working copy is up to date. *Nix example:

          cd jsf-comp
          svn update
          cd site/jsf-comp
          mvn clean site-deploy
        

Windows example:

          cd jsf-comp
          svn update
          cd site\jsf-comp
          mvn clean site-deploy
        

If you get a failure on the command "chmod -Rf g+w /home/groups/j/js/jsf-comp/htdocs/", don't worry, this is the very last step and even though it failed, the site will still be updated correctly as all the directories in the htdocs directory will get sticky group permissions.

Testing the site locally

Please test site changes locally before running the site build on the source forge shell. This will make sure it works and looks good first. You can do this by executing the following mvn command from inside the "site/jsf-comp" directory

mvn clean site:stage -DstagingDirectory=local_directory_here
      

Change the site

Site-source

You find the site-source in SVN. That makes it easy to edit the pages on your workstation.

The module-name is site.

Adding a maven project to this site

In order to have maven include the documentation for your maven project, you must reference it from the pom.xml in the site directory. This page will give you step-by-step instructions on how to set this up.

If you haven't already, check out the trunk via SVN (see above).

In the site's pom.xml, find the section "modules" and add a path to your project using a relative path taking into account the SVN folder structure (see the facelets annotation-deployment module in the file as an example). Notice the relative path in the pom.xml

Alter the "site/jsf-comp/src/site/site.xml" file so you can put a link to your project in there (look under the components section). Remember this path as you will use it shortly.

Edit your project's pom.xml file and setup where to publish to. Example:

<distributionManagement>
  <site>
    <id>sf.net</id>
    <name>SourceForge web site</name>
    <url>
      scpexe://shell.sf.net/home/groups/j/js/jsf-comp/htdocs/testsite/components/your-folder-here
    </url>
  </site>
</distributionManagement>
      

Remember to change the "your-folder-here" in the example above to match the href that you used in the site.xml file from above.

Use maven to create your site folder under src (please google this for instructions). Once you have a site folder, edit the site.xml so you can include references to the parent project. For an example, feel free to look at the facelets deployment site.xml:
http://jsf-comp.svn.sourceforge.net/viewvc/jsf-comp/trunk/facelets/annotation-deployment/src/site/site.xml?view=markup

In this file you will see a links section and a parent project menu so that users can navigate back to the jsf-comp main web site.

When you deploy the site (above), it will automatically build and deploy your project as well due to the <module> tag that you put in the pom.xml file.