The patch program is needed.
For Debian GNU / Linux and derivatives (as Ubuntu), install with
sudo apt install patch
On RPM yum style GNU / Linux systems, install with:
sudo yum install patch
On RPM dnf style GNU / Linux systems, install with:
sudo dnf install patch
On Windows you can find it in several distributions including GNUWin32
Before building Syncope, you need to setup an environment variable to give Maven more memory.
On Unix with JDK 7
export MAVEN_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
On Unix with JDK 8 or later
export MAVEN_OPTS="-Xms512m -Xmx1024m"
On Windows with JDK 7
set MAVEN_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
On Windows with JDK 8 or later
set MAVEN_OPTS=-Xms512m -Xmx1024m
To build Syncope simply execute (from within the top-level source directory):
$ mvn clean install
To build Syncope without running any test nor check do:
$ mvn -PskipTests,all
To build Syncope without running any test nor check, but generating Docker images, do:
$ mvn -PskipTests,all,docker
$ docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube
$ mvn sonar:sonar
To build Syncope documentation execute (from within the top-level source directory):
$ mvn -N -P site clean generate-resources
target/generated-docs/
.
Besides default, other Maven
build profiles are
provided, for developer convenience.
Such profiles are limited to a specific module, hence Maven needs to be invoked from the corresponding
subdirectory, not from top-level.
application/json
for both Accept
and
Content-Type
HTTP headers; it is possible, however, to use application/xml
or
application/yaml
.
$ mvn clean verify -DjaxrsContentType=application/xml
$ mvn clean verify -DjaxrsContentType=application/yaml
$ mvn -Pdebug,all
$ mvn -Pdebug
Once started in debug mode, individual test methods can be executed as follows (the Maven Surefire Plugins rules apply here):
$ mvn test -Dtest=UserITCase#list
$ mvn -Photswap,all
The build profiles enlisted below require Docker to work.
$ mvn -Ppostgres-it
$ mvn -Pmysql-it
$ mvn -Pmariadb-it
$ mvn -Poracle-it
$ mvn -Psqlserver-it
$ mvn -Ppayara-it
$ mvn -Pwildfly-it
This build profile require Docker to work.
$ mvn -Pelasticsearch-it
$ mvn -Pdebug
$ mvn -Photswap
$ mvn -Pdebug
Once started in debug mode, the test cases can be executed as follows:
$ cd target/enduser-test && nodejs/node/node nodejs/bin/protractor protractor-conf.js
protractor-conf.js
content.
$ mvn -Photswap
$ mvn -Peclipse-it