activemq-artemis/docs/hacking-guide/en/building.md

81 lines
2.2 KiB
Markdown

# Building
We use Apache Maven to build the code, distribution, etc. and to manage dependencies.
We use `gitbook` to build the docs.
The minimum required Maven version is 3.0.0.
Note that there are some [compatibility issues with Maven 3.X](https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes)
still unsolved. This is specially true for the ['site' plugin](https://maven.apache.org/plugins-archives/maven-site-plugin-3.3/maven-3.html).
## Full Release
#### Upgrading the `gitbook` version and regenerating the `npm-shrinkwrap.json` file
The full release uses `gitbook` to build a static website from the documentation. This is automatically installed using
an `NPM` plugin and is controlled via a package.json file.
Install `NPM` using the instructions below
cd artemis-website
alter the `package.json` changing the version
npm cache clean; rm -rf ./node_modules/ ./node npm-shrinkwrap.json
npm install --save-dev
npm shrinkwrap --dev
The new npm-shrinkwrap.json should be written, commit it.
### gitbook
Artemis will automate the execution and download of npm. But it may be useful to install it on your system. Simply type:
$ npm install -g gitbook-cli
If you don't have `npm` installed then you would need to install it first.
#### Install npm On Fedora
$ yum install npm
#### Install npm On Fedora 24
This is what you should do if you are using Fedora 24+.
$ dnf install nodejs
#### Install npm On Mac-OS
The easiest way would be through brew [brew]
You first install brew using the instructions on the [brew] website.
After you installed brew you can install npm by:
brew install npm
[brew]: <https://brew.sh>
To build the full release with documentation, Javadocs, and the full web site:
$ mvn -Prelease package
To install it to your local maven repo:
$ mvn -Prelease install
## Build the distribution without docs
It is possible to build a distribution without the manuals and Javadocs.
simply run
$ mvn package
## Building the docs
From either `docs/hacking-guide/en` or `docs/user-manual/en` run `gitbook build` (after you've installed gitbook)
## Building offline
$ mvn dependency:go-offline
$ mvn -o ...