View Source

h1. Requirements

h2. Java Requirements

See the [compatibility matrix|petalsesb:Compatibility Matrix] to known which Java version is required to build Petals ESB.

h2. Maven requirements

See the [compatibility matrix|petalsesb:Compatibility Matrix] to known which Maven version is required to build Petals ESB.

Maven settings:
# You have an access to the OW2's MRM ([Nexus|http://repository.ow2.org/]),
# You have an access to the PetalsLink's MRM ([Artifactory|http://maven.petalslink.com/])
# Your Maven's setting file is right, containing an *activated default profile*:
{code:lang=xml}
<profile>
<id>default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
...
</profile>
{code}
containing MRM declarations:
{code:lang=xml}
<repositories>
<repository>
<id>petalslink-other.release</id>
<name>PetalsLink - Other - Releases - Repository</name>
<url>http://maven.petalslink.com/others</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>petalslink-public.release</id>
<name>PetalsLink - Public - Releases - Repository</name>
<url>http://maven.petalslink.com/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>ow2.release</id>
<name>OW2 - Public - Release - Repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>ow2.snapshot</id>
<name>OW2 - Public - Snapshot - Repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ow2.release</id>
<name>OW2 - Public - Release - Repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>ow2.snapshot</id>
<name>OW2 - Public - Snapshot - Repository</name>
<url>http://repository.ow2.org/nexus/content/repositories/snapshots</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
{code}

The Shiboleth Maven repository is declared in few dependency of Petals ESB with its previous location. It has moved since the release of these dependencies. But its previous location returns an HTML page instead of a 404 response, so downloaded artifacts are invalid. We must force the use of the new location as following:
{code}
<mirror>
<id>bad-shibboleth</id>
<mirrorOf>open-saml</mirrorOf>
<url>https://build.shibboleth.net/nexus/content/groups/public</url>
</mirror>
{code}

*MRMs usages:*
|| MRM | Contains ||
| PetalsLink - Other - Releases - Repository | Third party products released not available on other Internet Maven repository |
| PetalsLink - Public - Releases - Repository | Old artifacts of the Petals area and not developed by the Petals ESB team, as Easy* |
| OW2 - Public - Release - Repository | Petals ESB artifacts released |
| OW2 - Public - Snapshot - Repository | Petals ESB artifacts in snapshot version |

h1. Building Petals ESB

Checkout the project you want to build (see [Petals ESB source code tree]), and execute in the directory of the checked out project:
{code}
mvn clean install
{code}

{tip}
To build Petals ESB in the same conditions than a release process, the profile '{{ow2-release}}' must be used:
{code}
mvn clean install -Pow2-release
{code}
{tip}