added beedk-aps-rad-tile

This commit is contained in:
Brian Long 2021-06-01 17:07:23 -04:00
parent 3777dad5c8
commit 1ff5ab460e
6 changed files with 238 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# BeeDK Abstract ACS Platform Maven Tile for RAD
# BeeDK APS Extension Maven Tile for RAD
This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk). It is considered to be part of the **Public API** of the BeeDK.

9
beedk-aps-rad-tile/.gitignore vendored Normal file
View File

@ -0,0 +1,9 @@
# Eclipse
.project
.classpath
.settings
# Maven
pom.xml.versionsBackup
target

View File

@ -0,0 +1,65 @@
# BeeDK APS Application Maven Tile for RAD
This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk). It is considered to be part of the **Public API** of the BeeDK.
## Purpose
This project creates a [Maven Tile](https://github.com/repaint-io/maven-tiles) that provides the basis for rapid application development of any application integrating with APS.
## Usage
To use this plugin, just reference it with the Maven Tiles plugin as shown in the following snippet. Do not forget the `extensions` element in the *plugin* configuration.
```xml
<project ...>
...
<build>
...
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>[2.0,3.0)</version>
<extensions>true</extensions>
<configuration>
<tiles>
...
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-rad-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>
```
See the [BeeDK documentation](/inteligr8/ootbee-beedk) on instructions for how to start and stop RAD capabilities.
## Configuration
In your Maven project, set the following properties to define the behavior of this Maven Tile. Unless otherwise stated, they can only be overridden in the project POM or other Maven Tiles loaded earlier than this Maven Tile.
### Public API
The following properties are intended to be exposed by inheriting Public API Maven Tiles.
| Maven Property | Required | Default | Description |
| -------------------------- |:--------:| --------------- | ----------- |
| `aps.port` | | 8080 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `aps.timeout` | | 60000 | The time to wait for the startup to complete, in milliseconds. |
| `aps.version` | | 1.11.1.1 | The version of the [Process Services Docker container](https://hub.docker.com/r/alfresco/process-services). |
| `aps-postgres.version` | | *not important* | The version of PostgreSQL to use in the integration testing infrastructure. |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
## Results
The APS Application and database components will be started during the `process-classes` Maven phase.

View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-aps-rad-tile</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for APS</name>
<scm>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
</scm>
<organization>
<name>Order of the Bee</name>
<url>https://orderofthebee.net</url>
</organization>
<developers>
<developer>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<organization>Inteligr8</organization>
<organizationUrl>https://www.inteligr8.com</organizationUrl>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.20</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

114
beedk-aps-rad-tile/tile.xml Normal file
View File

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0 https://bitbucket.org/inteligr8/maven-tiles/raw/xsd/src/main/resources/maven-tiles.xsd">
<profiles>
<profile>
<id>rad-aps</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<build>
<plugins>
<!-- Using Docker for ACS Search -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-aps</id>
<phase>process-classes</phase>
<goals><goal>start</goal></goals>
<configuration>
<images>
<image>
<name>postgres:${aps-postgres.version}</name>
<alias>aps-db</alias>
<run>
<env>
<POSTGRES_PASSWORD>alfresco</POSTGRES_PASSWORD>
<POSTGRES_USER>alfresco</POSTGRES_USER>
<POSTGRES_DB>activiti</POSTGRES_DB>
</env>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
<image>
<name>alfresco/process-services:${aps.version}</name>
<alias>aps-app</alias>
<run>
<env>
<ACTIVITI_DATASOURCE_USERNAME>alfresco</ACTIVITI_DATASOURCE_USERNAME>
<ACTIVITI_DATASOURCE_PASSWORD>alfresco</ACTIVITI_DATASOURCE_PASSWORD>
<ACTIVITI_DATASOURCE_DRIVER>org.postgresql.Driver</ACTIVITI_DATASOURCE_DRIVER>
<ACTIVITI_HIBERNATE_DIALECT>org.hibernate.dialect.PostgreSQLDialect</ACTIVITI_HIBERNATE_DIALECT>
<ACTIVITI_DATASOURCE_URL>jdbc:postgresql://${project.artifactId}-aps-db:5432/activiti?characterEncoding=UTF-8</ACTIVITI_DATASOURCE_URL>
</env>
<ports>
<port>${aps.port}:8080</port>
</ports>
<volumes>
<bind>
<volume>@user.home@/alfresco/license/aps:/root/.activiti/enterprise-license:ro</volume>
</bind>
</volumes>
<dependsOn>
<container>aps-db</container>
</dependsOn>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
</run>
</image>
</images>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- allow downstream tiles to default this before this tile does -->
<profile>
<id>tomcat-opts-unspecified</id>
<activation>
<property>
<name>!aps.tomcat.opts</name>
</property>
</activation>
<properties>
<aps.tomcat.opts></aps.tomcat.opts>
</properties>
</profile>
<profile>
<id>default-props</id>
<activation>
<property>
<name>!some-prop-that-never-exists</name>
</property>
</activation>
<properties>
<!-- ports -->
<aps.port>8080</aps.port>
<!-- versions -->
<aps-postgres.version>9.6</aps-postgres.version>
<aps.version>1.11.1.1</aps.version>
</properties>
</profile>
</profiles>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
</tiles>
</project>

View File

@ -49,6 +49,7 @@
<module>beedk-acs-share-self-rad-tile</module>
<module>beedk-ate-self-rad-tile</module>
<module>beedk-ate-sibling-rad-tile</module>
<module>beedk-aps-rad-tile</module>
<module>beedk-aps-ext-rad-tile</module>
<module>beedk-acs-search-it-tile</module>