# Salespoint Framework

image:https://travis-ci.org/st-tu-dresden/salespoint.svg?branch=6.4.x["Build Status", link="https://travis-ci.org/st-tu-dresden/salespoint"]

## Prerequisites

- Java 8
- Git
- Maven 3.x

## Building the project

.Building the project
[source, bash]
----
$ git clone https://github.com/st-tu-dresden/salespoint
$ cd salespoint
$ mvn clean install
----

## Documentation

The reference documentation is written in Asciidoc and built using Asciidoctor. The main documentation source file is located in `src/main/asciidoc`.

To build the reference documentation simply run `mvn generate-resources` on the command line. This generates the following HTML files:

* the Salespoint website in `target/generated-docs/index.html`.
* the Salespoint reference in `target/generated-docs/salespoint-reference.html`.

## Deployment

To deploy artifacts to the salespoint repository, simply run `mvn clean deploy`. This requires your `settings.xml` (located in `~/.m2`) to contain a server defintion with the credentials to access the Salespoint server via SFTP:

[source, xml]
----
<server>
    <id>salespoint</id>
    <username>…</username>
    <password>…</password>
</server>
----

To deploy the website and reference documentation, run `mvn site:deploy`.

## Release

. Make sure all tickets are closed, except the release one.
. Tweak `ChangelogCreator` (in `src/test/java`) to point to the milestone to be released. Run the creator. Copy console output into `src/main/asciidoc/site/changelog.adoc`.
. Update `src/main/asciidoc/site/index.adoc` to reflect version about to be released and correct next development version.
. Commit as `#?? - Prepare release $version.`.
. Run `mvn release:prepare -DscmCommentPrefix="$releaseTicketId - "`.
. Edit commits to match commit message format, re-create tag.
. Push changes & tag.
. Check out tag.
. Run `mvn clean deploy site:deploy -Prelease -DskipTests`.
