initial checkin

This commit is contained in:
2021-04-22 15:58:20 -04:00
commit a7fef4641b
278 changed files with 14028 additions and 0 deletions

9
beedk-ate-self-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,80 @@
# BeeDK Alfresco Transform Engine RAD Maven Tile
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 supports the rapid application development of a Alfresco Transform Engine.
> This does not currently support use with ATS. Only the ALTS (ACS Platform Local Transform Service).
## 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-ate-self-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-ate-self-rad-tile:[1.0.0,2.0.0)</tile>
...
<tile>com.inteligr8.ootbee:beedk-ate-springboot-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 |
| ------------------------- |:--------:| --------------- | ----------- |
| `ate.app.className` | **Yes** | | The Java class name of the @SpringBootApplication annotated class. |
| `ate.docker.image.name` | **Yes** | | The Docker image name of the ATE, including the Docker registry host if applicable. |
| `ate.docker.image.tag` | | `latest` | The Docker image tag (version) of the ATE. |
| `ate.port` | | 8080 | The port to expose on `localhost` for the developer; not for other applications. |
| `ate.debugger.port` | | 8001 | The port to expose on `localhost` for the developer; not for other applications. |
| `ate.timeout` | | 20000 | The time to wait for the startup to complete, in milliseconds. |
### Private API
The following properties are only intended to be defined by BeeDK components.
| Maven Property | Required | Default | Description |
| ---------------------------- |:--------:| --------------- | ----------- |
| `java-dcevm-hotswap.version` | | *not important* | The version of the [Java DCEVM Hotswap Rapid Application Development Docker container](/inteligr8/java-dcevm-hotswap-docker). |
### 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 configured Alfresco Transform Engine will be started during the `process-classes` Maven phase. It will **not** be configured automatically for use by the ACS Platform or ATS.

View File

@@ -0,0 +1,47 @@
<?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-ate-self-rad-tile</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>tile</packaging>
<name>Order of the Bee Development Kit: RAD for ATE</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>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,112 @@
<?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-ate</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<build>
<plugins>
<!-- This plugin downloads the dependent runtime/test JARs -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<!-- This execution downloads the dependency JARs -->
<execution>
<id>download-ate-jars</id>
<phase>process-classes</phase>
<goals><goal>copy-dependencies</goal></goals>
<configuration>
<excludeScope>provided</excludeScope>
<includeTypes>jar</includeTypes>
<outputDirectory>${beedk.deploy.ate.extDirectory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- Using Docker to host the web application -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-ate</id>
<phase>process-classes</phase>
<goals><goal>start</goal></goals>
<configuration>
<images>
<image>
<name>docker.inteligr8.com/inteligr8/java-dcevm-hotswap:${java-dcevm-hotswap.version}</name>
<alias>ate</alias>
<run>
<env>
<JAVA_CLASS>${ate.app.className}</JAVA_CLASS>
</env>
<ports>
<port>${ate.port}:8090</port>
<port>${ate.debugger.port}:8000</port>
</ports>
<volumes>
<bind>
<volume>${project.build.outputDirectory}:/var/lib/jvm/dev/classes:ro</volume>
<volume>${project.build.testOutputDirectory}:/var/lib/jvm/dev/classes-extra1:ro</volume>
<volume>${beedk.deploy.ate.extDirectory}:/var/lib/jvm/dev/lib:ro</volume>
</bind>
</volumes>
<network>
<mode>custom</mode>
<name>${project.artifactId}</name>
</network>
<wait>
<http>
<url>http://localhost:${ate.port}/transform/config</url>
<method>GET</method>
<status>200..399</status>
</http>
<time>${ate.timeout}</time>
</wait>
</run>
</image>
</images>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>default-props</id>
<activation>
<property>
<name>!some-prop-that-never-exists</name>
</property>
</activation>
<properties>
<!-- configurable -->
<ate.docker.image.tag>latest</ate.docker.image.tag>
<ate.port>8090</ate.port>
<ate.debugger.port>8001</ate.debugger.port>
<ate.timeout>20000</ate.timeout>
<beedk.deploy.ate.extDirectory>${project.build.directory}/libs</beedk.deploy.ate.extDirectory>
<!-- versions -->
<java-dcevm-hotswap.version>11.0.10-1.4.1</java-dcevm-hotswap.version>
</properties>
</profile>
</profiles>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>com.inteligr8.ootbee:beedk-run-tile:1.0-SNAPSHOT</tile>
</tiles>
</project>