Building NetarchiveSuite

Describes how to build the NetarchiveSuite project with /wiki/spaces/APP/pages/11538241

Related to this page is the Release procedure page.

 

The current status can be viewed in the Jenkins CI server.

Get the source code

  1. Get the source code from Github: 

    git clone https://github.com/netarchivesuite/netarchivesuite.git
  2. /wiki/spaces/APP/pages/11538241
  3. cd to the project folder

Building with Maven (requires maven 3)

You can know start building with Maven. To run a full build including fast tests use:

mvn clean install

Activate the fullTest profile to run all tests, incuding slower ones:

mvn clean test -PfullTest

 

Check the Jenkins build server for the current state of code, it might be breaking. 

See the Maven documentation for further details.

Building with IntelliJ

Running the tests

The following properties are needed by the tests and should be defined in the default JUnit run configuration: 

-Xmx768m
-Dfile.encoding=UTF-8
-Ddk.netarkivet.settings.file=tests/dk/netarkivet/test-settings.xml
-Dorg.apache.commons.logging.log=org.apache.commons.logging.impl.Jdk14Logger
-Djava.util.logging.config.file=tests/dk/netarkivet/testlog.prop
-Djava.security.manager
-Djava.security.policy=tests/dk/netarkivet/ant-test.policy
-Dorg.archive.crawler.frontier.AbstractFrontier.queue-assignment-policy=org.archive.crawler.frontier.HostnameQueueAssignmentPolicy,org.archive.crawler.frontier.IPQueueAssignmentPolicy,org.archive.crawler.frontier.BucketQueueAssignmentPolicy,org.archive.crawler.frontier.SurtAuthorityQueueAssignmentPolicy,org.archive.crawler.frontier.TopmostAssignedSurtQueueAssignmentPolicy,dk.netarkivet.harvester.harvesting.DomainnameQueueAssignmentPolicy
-Duser.language=en -Duser.country=US -Duser.variant=US -Duser.timezone=Europe/Copenhagen

Building with Jenkins

A number of different builds are running on the SBForge Jenkins and are defined through a Job DSL found here.