bonita-project
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.bonitasoft</groupId>
<artifactId>bonita-project</artifactId>
<version>10.4.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?><project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.bonitasoft</groupId>
<artifactId>bonita-project</artifactId>
<version>10.4.0</version>
<packaging>pom</packaging>
<name>Bonita Project Parent pom</name>
<description>A parent pom used for Bonita Project.</description>
<url>https://www.bonitasoft.com</url>
<licenses>
<license>
<name>GPL-v2.0</name>
<url>http://www.gnu.org/licenses/gpl-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>bonitasoft</id>
<name>Bonitasoft</name>
<email>rd.user@bonitasoft.com</email>
<organization>Bonitasoft</organization>
<organizationUrl>https://www.bonitasoft.com</organizationUrl>
</developer>
</developers>
<scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
<connection>scm:git:git@github.com:bonitasoft/bonita-project.git</connection>
<developerConnection>scm:git:git@github.com:bonitasoft/bonita-project.git</developerConnection>
<url>https://github.com/bonitasoft/bonita-project</url>
</scm>
<properties>
<flatten-maven-plugin.version>1.7.2</flatten-maven-plugin.version>
<maven-javadoc-plugin.version>3.11.3</maven-javadoc-plugin.version>
<include.pages>*.zip</include.pages>
<!-- Should match version in bonita-runtime-bom -->
<groovy.version>3.0.25</groovy.version>
<gmavenplus-plugin.version>4.2.1</gmavenplus-plugin.version>
<include.processes>*.bar</include.processes>
<maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
<maven-shade-plugin.version>3.6.0</maven-shade-plugin.version>
<versions-maven-plugin.version>2.19.0</versions-maven-plugin.version>
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
<maven-clean-plugin.version>3.5.0</maven-clean-plugin.version>
<ui-designer-artifact-builder.version>1.0.10</ui-designer-artifact-builder.version>
<groovy-eclipse-compiler.version>3.9.0</groovy-eclipse-compiler.version>
<maven-enforcer-plugin.version>3.6.1</maven-enforcer-plugin.version>
<maven-surefire-plugin.version>3.5.3</maven-surefire-plugin.version>
<bonita-process-model.version>9.0.2</bonita-process-model.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<exec-maven-plugin.version>3.5.1</exec-maven-plugin.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<maven-install-plugin.version>3.1.1</maven-install-plugin.version>
<bonita-artifacts-model.version>1.2.2</bonita-artifacts-model.version>
<maven-source-plugin.version>3.3.1</maven-source-plugin.version>
<bonita-project-maven-plugin.version>2.1.2</bonita-project-maven-plugin.version>
<include.profiles>*.xml</include.profiles>
<!-- Bonita specific properties below -->
<bonita.environment>local</bonita.environment>
<!-- Default inclusion filters -->
<include.organizations>*.xml</include.organizations>
<maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version>
<groovy-eclipse-batch.version>3.0.23-02</groovy-eclipse-batch.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<groovy.repository.url>https://groovy.jfrog.io/artifactory/plugins-release/</groovy.repository.url>
<bonita-test-toolkit.version>3.0.0</bonita-test-toolkit.version>
<include.applications>*</include.applications>
<maven-help-plugin.version>3.5.1</maven-help-plugin.version>
<maven-deploy-plugin.version>3.1.4</maven-deploy-plugin.version>
<maven-failsafe-plugin.version>3.5.3</maven-failsafe-plugin.version>
<java.version>17</java.version>
<build-helper-maven-plugin.version>3.6.1</build-helper-maven-plugin.version>
<!-- Only upgrade to a version fixing https://issues.apache.org/jira/browse/MASSEMBLY-1031 -->
<maven-assembly-plugin.version>3.6.0</maven-assembly-plugin.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- DO NOT USE ${project.version} or ${project.parent.version} here -->
<bonita.runtime.version>10.4.0</bonita.runtime.version>
<branding.version>2025.2-u0</branding.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.bonitasoft.runtime</groupId>
<artifactId>bonita-runtime-bom</artifactId>
<version>${bonita.runtime.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.application</groupId>
<artifactId>bonita-user-application</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
<classifier>application</classifier>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.application</groupId>
<artifactId>bonita-admin-application</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
<classifier>application</classifier>
</dependency>
<dependency>
<groupId>com.bonitasoft.web.application</groupId>
<artifactId>bonita-admin-application-sp</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
<classifier>application</classifier>
</dependency>
<dependency>
<groupId>com.bonitasoft</groupId>
<artifactId>bonita-test-toolkit</artifactId>
<version>${bonita-test-toolkit.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.page</groupId>
<artifactId>page-user-case-list</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.page</groupId>
<artifactId>page-user-case-details</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.page</groupId>
<artifactId>page-user-process-list</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.bonitasoft.web.page</groupId>
<artifactId>page-user-task-list</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
</dependency>
</dependencies>
</dependencyManagement>
<pluginRepositories>
<pluginRepository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>groovy</id>
<url>${groovy.repository.url}</url>
</pluginRepository>
</pluginRepositories>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>${groovy-eclipse-compiler.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>${groovy-eclipse-batch.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/bin</directory>
<followSymlinks>false</followSymlinks>
<useDefaultExcludes>true</useDefaultExcludes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<configuration>
<propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-help-plugin</artifactId>
<version>${maven-help-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
<configuration>
<inheritIo>true</inheritIo>
<useMavenLogger>true</useMavenLogger>
</configuration>
</plugin>
<!-- Bonita Project Maven Plugin definition -->
<plugin>
<groupId>org.bonitasoft.maven</groupId>
<artifactId>bonita-project-maven-plugin</artifactId>
<version>${bonita-project-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.bonitasoft.engine.data</groupId>
<artifactId>bonita-business-data-generator</artifactId>
<version>${bonita.runtime.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web</groupId>
<artifactId>ui-designer-artifact-builder</artifactId>
<version>${ui-designer-artifact-builder.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web</groupId>
<artifactId>ui-designer-artifact-builder-common</artifactId>
<version>${ui-designer-artifact-builder.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web</groupId>
<artifactId>ui-designer-artifact-builder-generator-angularjs</artifactId>
<version>${ui-designer-artifact-builder.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web</groupId>
<artifactId>ui-designer-backend-migrationReport</artifactId>
<version>${ui-designer-artifact-builder.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.web</groupId>
<artifactId>ui-designer-artifact-builder-model</artifactId>
<version>${ui-designer-artifact-builder.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.bpm</groupId>
<artifactId>org.bonitasoft.bonita2bar</artifactId>
<version>${bonita-process-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-business-archive</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-form-mapping-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-process-definition-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-application-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-business-object-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-bdm-access-control-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-profile-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-organization-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- Bonita Project assemblies definition -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<executions>
<!-- Assembly used to zip the BDM descriptor file (bom.xml) -->
<execution>
<id>bdm-descriptor-archive</id>
<phase>package</phase>
<configuration>
<descriptorRefs>
<descriptorRef>bdm-assembly</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
<!-- Assembly used to zip all Bonita artifacts -->
<execution>
<id>application-archive</id>
<phase>package</phase>
<configuration>
<descriptorRefs>
<descriptorRef>application-assembly</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
<!-- Assembly used to build the webapp classpath -->
<execution>
<id>application-classpath</id>
<phase>package</phase>
<configuration>
<attach>false</attach>
<finalName>classpath</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${project.build.directory}/assemblies/classpath-assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.bonitasoft</groupId>
<artifactId>bonita-project-assemblies</artifactId>
<version>${bonita.runtime.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>${gmavenplus-plugin.version}</version>
<executions>
<!-- Transform and initialize project properties used to build and package Bonita artifacts -->
<execution>
<id>bonita-project-properties</id>
<phase>initialize</phase>
<configuration>
<scripts>
<script>def project = properties.project
def environment = properties.'bonita.environment'
lcBonitaEnv = environment == null ? 'local' : environment.toLowerCase()
project.properties.setProperty('bonita.environment:lowercase', lcBonitaEnv)
project.properties.setProperty('project.artifactId:lowercase', project.artifactId.toLowerCase())</script>
</scripts>
</configuration>
</execution>
<!-- Generate 'application.properties' file containing information (e.g. app's version) used to deploy the app -->
<execution>
<id>generate-application-properties</id>
<phase>generate-resources</phase>
<configuration>
<scripts>
<script>def project = properties.project
def propsFile = new File(project.build.directory, 'application.properties')
propsFile.delete()
propsFile.getParentFile().mkdirs()
propsFile.createNewFile()
def applicationProperties = new Properties()
applicationProperties.setProperty('version', project.version)
propsFile.withWriter { out ->
applicationProperties.each { it ->
out << it << System.lineSeparator()
}
}</script>
</scripts>
</configuration>
</execution>
<!-- Generate 'classpath-assembly.xml' file use to add additional dependencies in the webapp classpath -->
<execution>
<id>generate-classpath-assembly</id>
<phase>prepare-package</phase>
<configuration>
<scripts>
<script>import groovy.json.JsonSlurper
import groovy.xml.XmlSlurper
import groovy.xml.XmlUtil
import org.slf4j.LoggerFactory
def log = LoggerFactory.getLogger(getClass())
def project = properties.project
// Classpath assembly templating
def assembliesFolder = new File(project.build.directory, 'assemblies')
assembliesFolder.mkdirs()
def assemblyFile = new File(assembliesFolder, 'classpath-assembly.xml')
assemblyFile.delete()
assemblyFile.createNewFile()
def is = getClass().getResourceAsStream("/assemblies/${assemblyFile.name}")
assemblyFile.append(is)
is.close()
/*
* We no longer exclude Bonita connectors and actor filters artifacts
* when bonita.includeDependencyJars=false.
* They used to be in the bar, but are not in the jarless bar.
* So they are now directly included in the webapp classpath.
*/
def barHasJars = properties.'bonita.includeDependencyJars' == null || properties.'bonita.includeDependencyJars'.toBoolean()
if(barHasJars){
def dependencyReportFile = new File(project.build.directory, 'bonita-dependencies.json')
if(dependencyReportFile.exists()){
def report = new JsonSlurper().parse(dependencyReportFile)
// Excluding Bonita connectors and actor filters artifacts
def implementations = report.connectorImplementations + report.filterImplementations
def excludedArtifacts = implementations.collect { impl -> "${impl.artifact.groupId}:${impl.artifact.artifactId}" }.unique()
if(excludedArtifacts){
def assembly = new XmlSlurper(false,false).parseText(assemblyFile.text)
excludedArtifacts.each{ artifact ->
assembly.dependencySets.dependencySet.excludes[0].appendNode{
log.info "Excluding $artifact from webapp classpath"
exclude(artifact)
}
}
assemblyFile.write(XmlUtil.serialize(assembly))
}
}
}</script>
</scripts>
</configuration>
</execution>
<!-- Copy Docker resources located in bonita-project-assemblies used to package the app as a Docker image -->
<execution>
<id>generate-docker-resources</id>
<phase>generate-resources</phase>
<configuration>
<scripts>
<script>def dockerOutput = new File(properties.project.build.directory)
dockerOutput.mkdirs()
// Copy resources from the bonita-project-assemblies resources jar
def resourceList = ['Dockerfile']
resourceList.each { name ->
getClass().getResourceAsStream("/docker/$name").withCloseable { input ->
java.nio.file.Files.copy(input, new File(dockerOutput, name).toPath(), java.nio.file.StandardCopyOption.REPLACE_EXISTING)
}
}</script>
</scripts>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-json</artifactId>
<version>${groovy.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-xml</artifactId>
<version>${groovy.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-ant</artifactId>
<version>${groovy.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.bonitasoft</groupId>
<artifactId>bonita-project-assemblies</artifactId>
<version>${bonita.runtime.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.bonitasoft.engine</groupId>
<artifactId>bonita-application-model</artifactId>
<version>${bonita-artifacts-model.version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<configuration>
<bindAllProjectProperties>true</bindAllProjectProperties>
<bindAllSessionUserProperties>true</bindAllSessionUserProperties>
<bindPropertiesToSeparateVariables>false</bindPropertiesToSeparateVariables>
</configuration>
</plugin>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<versionRange>[3.0,)</versionRange>
<goals>
<goal>execute</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<versionRange>[3.0,)</versionRange>
<goals>
<goal>add-source</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
<runOnConfiguration>true</runOnConfiguration>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Enforce Maven 3.9.6, the minimum maven version for Sisu injections to work with Java 17 -->
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.9.6</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Execute Bonita artifacts validation -->
<plugin>
<groupId>org.bonitasoft.maven</groupId>
<artifactId>bonita-project-maven-plugin</artifactId>
<executions>
<execution>
<id>validate-artifacts</id>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Profile used to package the app as a Bundle Tomcat -->
<profile>
<id>bundle</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<!-- Unpack community bundle -->
<execution>
<id>prepare-bundle</id>
<phase>process-resources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.bonitasoft.distrib</groupId>
<artifactId>bundle-tomcat</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/bundle</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!-- Unpack enterprise bundle -->
<execution>
<id>prepare-bundle-enterprise</id>
<phase>process-resources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.bonitasoft.distrib</groupId>
<artifactId>bundle-tomcat-sp</artifactId>
<version>${bonita.runtime.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/bundle</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven-assembly-plugin.version}</version>
<executions>
<!-- Assembly definition for the Community edition -->
<execution>
<id>bundle-archive</id>
<phase>package</phase>
<configuration>
<descriptorRefs>
<descriptorRef>bundle-tomcat-assembly</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
<!-- Assembly definition for the Enterprise edition -->
<execution>
<id>bundle-archive-enterprise</id>
<phase>package</phase>
<configuration>
<descriptorRefs>
<descriptorRef>bundle-tomcat-sp-assembly</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<!-- When building in SCA, we do not neet dependency jars, these will be inserted in webapp classpath -->
<bonita.includeDependencyJars>false</bonita.includeDependencyJars>
</properties>
</profile>
<!-- Profile used to package the app as a Docker image -->
<profile>
<id>docker</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
<executable>docker</executable>
<commandlineArgs>${docker.buildArgLine}</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<docker.buildArgs/>
<docker.baseImageRepository>bonita</docker.baseImageRepository>
<docker.baseImageVersion>${bonita.runtime.version}</docker.baseImageVersion>
<docker.imageRepository>${project.artifactId:lowercase}-${bonita.environment:lowercase}</docker.imageRepository>
<docker.baseImage>${docker.baseImageRepository}:${docker.baseImageVersion}</docker.baseImage>
<docker.imageName>${docker.imageRepository}:${project.version}</docker.imageName>
<docker.buildArgLine>build "." --build-arg ARTIFACT_FINAL_NAME=${project.build.finalName} --build-arg BONITA_ENVIRONMENT=${bonita.environment:lowercase} --build-arg BONITA_BASE_IMAGE="${docker.baseImage}" ${docker.buildArgs} --tag "${docker.imageName}"</docker.buildArgLine>
</properties>
</profile>
</profiles>
</project>