Git Product home page Git Product logo

hacep's Introduction

HACEP

HACEP Core project

Build instructions

To build the HACEP core code you need Maven. Default builds code using the Red Hat supported repositories and EAP 7, see Build with EAP 7.0.4, and there is also an EAP 6 profile Build with EAP 6.4.5. You can also build HACEP just with the community (unsupported) bits.

Build with Red Hat EAP 7.0.4

First of all you need to download and install the supported dependencies:

Install the Red Hat supported Maven repositories

If you want to use the Red Hat supported bits, you must install JDG/BRMS/EAP repos. To do so download the following archives (from Red Hat customer portal):

and extract them all in one place (let's call it as an example /path/to/extracted/repos) each one under a different folder named as the archive; at the end of the process you should have a folder structure similar to this:

/path/to/extracted/repos
|__ /jboss-brms-bpmsuite-6.4.0.GA-maven-repository
|__ /jboss-datagrid-7.0.0-maven-repository
|__ /jboss-eap-7.0.0.GA-maven-repository
|__ /maven-repository

For your reference, you will find an example settingsEAP7.xml to copy in your .m2 directory from the example-maven-settings directory. Or you can just use it from it is passing this maven option: -s example-maven-settings/settingsEAP7.xml

This Maven settings.xml assumes you have unzipped all your repositories in one folder referenced in the env variable HACEP_REPO, you must set it before running mvn commands with:

Linux/OSX: export HACEP_REPO=/path/to/extracted/repos
Windows: set HACEP_REPO=c:\path\to\extracted\repos

Then you can build with:

mvn -s example-maven-settings/settingsEAP7.xml -Psupported-GA-ee7 -Djava.net.preferIPv4Stack=true -Djgroups.bind_addr=localhost clean install

Or you can omit the supported-GA-ee7 profile, because it's the default one

mvn -s example-maven-settings/settingsEAP7.xml -Djava.net.preferIPv4Stack=true -Djgroups.bind_addr=localhost clean install

For your convenience, you have also a nice pre-configured script:

build-eap7.sh

Build with Red Hat supported EAP 6.4.5

First of all you need to download and install the supported maven repositories:

Install the Red Hat supported Maven repositories

If you want to use the Red Hat supported bits, you must install JDG/BRMS/EAP repos. To do so download the following archives (from Red Hat customer portal):

and extract them all in one place (let's call it as an example /path/to/extracted/repos) each one under a different folder named as the archive; at the end of the process you should have a folder structure similar to this:

/path/to/extracted/repos
|__ /jboss-brms-bpmsuite-6.4.0.GA-maven-repository
|__ /jboss-datagrid-7.0.0-maven-repository
|__ /jboss-eap-6.4.0.GA-maven-repository
|__ /jboss-eap-6.4.5-incremental-maven-repository

For your reference, you will find an example settingsEAP6.xml to copy in your .m2 directory from the example-maven-settings directory. Or you can just use it from it is passing this maven option: -s example-maven-settings/settingsEAP6.xml

This Maven settingsEAP6.xml assumes you have unzipped all your repositories in one folder referenced in the env variable HACEP_REPO, you must set it before running mvn commands with:

Linux/OSX: export HACEP_REPO=/path/to/extracted/repos
Windows: set HACEP_REPO=c:\path\to\extracted\repos

Then you can build with:

mvn -s example-maven-settings/settingsEAP6.xml -Psupported-GA-ee6 -Djava.net.preferIPv4Stack=true -Djgroups.bind_addr=localhost clean install

For your convenience, you have also a nice pre-configured script:

build-eap6.sh

Build with community dependencies

Alternatively, you can just build the code using community (unsupported) bits

mvn -s example-maven-settings/settings.xml -Pcommunity -Djava.net.preferIPv4Stack=true -Djgroups.bind_addr=localhost clean instal

For your convenience, you have also a nice pre-configured script:

build-community.sh

Build with Docker (EAP7)

If you like a more isolated environment and a one liner you can build using docker with (remember to change </path/to/extracted/repos>):

docker run -it --rm -u $(id -u):$(id -g) --name hacep \
    -v "$PWD":/tmp/hacep \
    -v </path/to/extracted/repos>:/tmp/haceprepo \
    -e HACEP_REPO=/tmp/haceprepo -w /tmp/hacep maven:3.3.3-jdk-8 \
    mvn -Duser.home=/tmp/maven -s ./example-maven-settings/settingsEAP7.xml clean install

to speed things up, but having less isolation, you can also pass as a volume your .m2/repository directory (remember to change both </path/to/extracted/repos> and </path/to/your/.m2/repository>):

docker run -it --rm -u $(id -u):$(id -g) --name hacep \
    -v "$PWD":/tmp/hacep \
    -v </path/to/extracted/repos>:/tmp/haceprepo \
    -v </path/to/your/.m2/repository>:/tmp/maven/.m2/repository \
    -e HACEP_REPO=/tmp/haceprepo -w /tmp/hacep maven:3.3.3-jdk-8 \
    mvn -Duser.home=/tmp/maven -s ./example-maven-settings/settingsEAP7.xml -Psupported-GA-ee7 clean install

Build with Docker (EAP6)

If you like a more isolated environment and a one liner you can build using docker with (remember to change </path/to/extracted/repos>):

docker run -it --rm -u $(id -u):$(id -g) --name hacep \
    -v "$PWD":/tmp/hacep \
    -v </path/to/extracted/repos>:/tmp/haceprepo \
    -e HACEP_REPO=/tmp/haceprepo -w /tmp/hacep maven:3.3.3-jdk-8 \
    mvn -Duser.home=/tmp/maven -s ./example-maven-settings/settings.xml clean install

to speed things up, but having less isolation, you can also pass as a volume your .m2/repository directory (remember to change both </path/to/extracted/repos> and </path/to/your/.m2/repository>):

docker run -it --rm -u $(id -u):$(id -g) --name hacep \
    -v "$PWD":/tmp/hacep \
    -v </path/to/extracted/repos>:/tmp/haceprepo \
    -v </path/to/your/.m2/repository>:/tmp/maven/.m2/repository \
    -e HACEP_REPO=/tmp/haceprepo -w /tmp/hacep maven:3.3.3-jdk-8 \
    mvn -Duser.home=/tmp/maven -s ./example-maven-settings/settingsEAP6.xml  -Psupported-GA-ee6 clean install

Run an HACEP example

Please refer to hacep-examples Readme.md for detailed instructions on how to run an HACEP example.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.