Set up a development environment

To develop on this project yourself you need to take the following steps:

Install jdk1.4

For the time being this project should remain jdk1.4 compliant: Install the latest jdk1.4 distribution, and set your JAVA_HOME environment variable accordingly. That will take care that Maven will build 1.4 compliant classes.

Install Maven 1.x

  • Follow the instructions at http://maven.apache.org/maven-1.x/
  • Make sure that http://repository.hippocms.org/maven is one of the maven repositories specified in your maven build.properties configuration file.

Get the code

The source can be found at http://svn.hippocms.org/repos/hippo/hippo-repository-java-adapter and can be anonymously checked out using any Subversion client. Instructions on Subversion use can be found at http://svnbook.red-bean.com/. The following command checks out the trunk to a directory called 'hippo-adapter'

~/workspaces/> svn co http://svn.hippocms.org/repos/hippo/hippo-repository-java-adapter/trunk hippo-adapter
        

Project layout

~/workspaces/> find . -type d -maxdepth 3  | grep -v '.svn' | sed 's%[^/]*/% |  %g' | cut -b5-

hippo-adapter
|  build
|   |  xdocs
|  hippo-repository-adapter-api
|   |  src
|   |  xdocs
|  hippo-repository-cachemanager
|   |  dependencies
|   |  src
|   |  xdocs
|  hippo-repository-update-notifier
|   |  dependencies
|   |  src
|   |  xdocs
|  hippo-repository-webdav-client
|   |  dependencies
|   |  src
|   |  xdocs
|  legal
|  test
|   |  dependencies
|   |  src
        

Each main directory except for 'legal' constitutes a project, the 'hippo-repository-*' projects all create an artifact (a jar file).

  • hippo-repository-adapter-api contains the interfaces implemented by the other projects.
  • hippo-repository-cachemanager implements caching.
  • hippo-repository-update-notifier implements update notification.
  • hippo-repository-webdav-client implements WebDAV connectivity.
  • The test project is a placeholder for integration tests testing the code against a live repository.
  • The build project is the only non-java project, it acts as the glue for building and integration testing the other projects. All maven commands for building, testing, deploying etc. are executed from this directory.

Build it

The project is divided in a number of subprojects organized as a maven multiproject, all projects are built/tested and/or installed with one maven command:

~/workspaces/> cd hippo-adapter
~/workspaces/hippo-adapter> cd build
~/workspaces/hippo-adapter/build> maven
__  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2

build:start:

help:
[echo] ********************************************************************************
[echo]  Hippo Repository Java Adapter build:
[echo]  ------------------------------------
[echo]  Main goals:
[echo]  help            : This message
[echo]  install         : Build all subprojects and copy their artifacts to the local maven repository
[echo]  deploy          : Deploy the artifacts of all subprojects to the remote maven repository
[echo]  eclipse-project : Generate eclipse .project and .classpath files for each subproject
[echo]  test            : Run all integration tests
[echo]  doc             : Generate an aggregated site with javadoc, source xref, test results etc. of all subprojects
[echo]  clean           : Remove all generated items
[echo] ********************************************************************************
[echo]  For more information, see http://hippocms.org/display/OS/Hippo+Repository+Java+Adapter
BUILD SUCCESSFUL
Total time: 3 seconds