= Salespoint Framework image:https://github.com/st-tu-dresden/salespoint/workflows/CI%20build/badge.svg["CI Build", link="https://github.com/st-tu-dresden/salespoint/actions"] == Prerequisites - Java 13 - 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 -Pdocs package` 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 definition with the credentials to access the Salespoint server via SFTP: [source, xml] ---- salespoint ---- To deploy the website and reference documentation, run `mvn -Pdocs site:deploy`. == Release 1. Make sure all tickets are closed, except the release one. 2. 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`. 3. Update version information `index.adoc` (in `src/main/asciidoc/site`). 4. Commit as `#?? - Prepare release $version.`. If this was on a maintainance branch, also cherry-pick this commit to `main` and resolve any conflicts. 5. Run `mvn release:prepare`. 6. Edit commits to match commit message format, re-create tag. 7. Push changes & tag. 8. Check out tag and run `mvn clean deploy -Prelease -DskipTests`. 10. Check out `main` and run `mvn clean package -Pdocs -Prelease`. 11. Again, check out tag and run `mvn site:deploy -Pdocs`.