initial checkin
This commit is contained in:
9
beedk-acs-platform-artifact-it-tile/.gitignore
vendored
Normal file
9
beedk-acs-platform-artifact-it-tile/.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# Eclipse
|
||||
.project
|
||||
.classpath
|
||||
.settings
|
||||
|
||||
# Maven
|
||||
pom.xml.versionsBackup
|
||||
target
|
||||
|
83
beedk-acs-platform-artifact-it-tile/README.md
Normal file
83
beedk-acs-platform-artifact-it-tile/README.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# BeeDK ACS Platform Integration Test Maven Tile for non-Platform-accessible Projects
|
||||
|
||||
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 integration testing any Maven project against the ACS Platform.
|
||||
|
||||
## 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-acs-platform-artifact-it-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-acs-platform-artifact-it-tile:[1.0.0,2.0.0)</tile>
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
...
|
||||
</build>
|
||||
...
|
||||
</project>
|
||||
```
|
||||
|
||||
There are 2 other alternative tiles that serve a similar purpose, but are for other use cases. Make sure you are using the right one. Follow the logic below.
|
||||
|
||||
Is your Maven project an ACS Platform module or ACS Platform web application?
|
||||
: You will be declaring the `beedk-acs-platform-module-tile` or `beedk-acs-platform-webapp-tile` Maven Tile. You will need to explicitly declare and configure the [`beedk-acs-platform-self-it-tile` Maven Tile](../beedk-acs-platform-self-it-tile).
|
||||
|
||||
Is your Maven project just one within a set of other Maven projects AND one of those other Maven projects is an ACS Platform web application (not a module)?
|
||||
: You will need to explicitly declare and configure the [`beedk-acs-platform-sibling-it-tile` Maven Tile](../beedk-acs-platform-sibling-it-tile).
|
||||
|
||||
Otherwise
|
||||
: You will need to explicitly declare and configure this `beedk-acs-platform-artifact-it-tile` Maven Tile.
|
||||
|
||||
## 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 |
|
||||
| ---------------------------------- |:--------:| ------------------ | ----------- |
|
||||
| `alfresco.platform.version` | Maybe | | The Alfresco Platform version to use for integration testing. See below for more details. |
|
||||
| `edition` | | `community` | The Alfresco Platform edition used for integration testing. `community` or `enterprise`. See below for more details. |
|
||||
| `alfresco.platform.war.groupId` | | `org.alfresco` | The Maven `groupId` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `alfresco.platform.war.artifactId` | | *See Below* | The Maven `artifactId` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `alfresco.platform.war.version` | Maybe | *See Below* | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `project.build.extDirectory` | | `${project.build.directory}/ext/platform` | An additional directory of JARs to add to the ACS Platform at runtime. |
|
||||
| `acs-platform.port` | | 8080 | The port to expose on `localhost` for scripts to use during integration testing to verify the state of the application; not for a developer or user.<br/>*Inherited from [`beedk-acs-platform-it-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile)* |
|
||||
| `acs-postgres.port` | | 5432 | The port to expose on `localhost` for scripts to use during integration testing to verify the state of the application; not for a developer or user.<br/>*Inherited from [`beedk-acs-platform-it-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile)* |
|
||||
| `acs-activemq.port` | | 8161 | The port to expose on `localhost` for scripts to use during integration testing to verify the state of the application; not for a developer or user.<br/> *Inherited from [`beedk-acs-platform-it-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile)* |
|
||||
| `acs-platform.tomcat.opts` | | | Additional `CATALINA_OPTS` to add to the Apache Tomcat startup.<br/>*May be overridden by any POM parent or Maven Tile.*<br/>*Inherited from [`beedk-acs-platform-it-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile)* |
|
||||
|
||||
* The `edition` is used to default the `alfresco.platform.war.artifactId` to `content-services-community` or `content-services`.
|
||||
* The `alfresco.platform.version` is used to default the `alfresco.platform.war.version`. It is expected to be used by other Maven Tiles, so it is here for convenience. You must specify either property for this tile to function.
|
||||
|
||||
### Other APIs
|
||||
|
||||
Additional less important configurations are inherited from the following Maven Tiles.
|
||||
|
||||
* [`beedk-acs-platform-it-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile)
|
||||
|
||||
## Results
|
||||
|
||||
The ACS Platform, database, and MQ components will be started and stopped during the `pre-integration-test` and `post-integration-test` Maven phases, respectively.
|
47
beedk-acs-platform-artifact-it-tile/pom.xml
Normal file
47
beedk-acs-platform-artifact-it-tile/pom.xml
Normal 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-acs-platform-artifact-it-tile</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>tile</packaging>
|
||||
|
||||
<name>Order of the Bee Development Kit: Integration Testing for ACS Platform by Maven Artifact</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>
|
109
beedk-acs-platform-artifact-it-tile/tile.xml
Normal file
109
beedk-acs-platform-artifact-it-tile/tile.xml
Normal file
@@ -0,0 +1,109 @@
|
||||
<?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">
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- This plugin downloads the Platform WAR and JDBC JAR dependency -->
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<version>3.1.2</version>
|
||||
<executions>
|
||||
<!-- This execution downloads the Platform WAR -->
|
||||
<execution>
|
||||
<id>download-platform-webapp</id>
|
||||
<phase>pre-integration-test</phase>
|
||||
<goals><goal>copy</goal></goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>${alfresco.platform.war.groupId}</groupId>
|
||||
<artifactId>${alfresco.platform.war.artifactId}</artifactId>
|
||||
<version>${alfresco.platform.war.version}</version>
|
||||
<type>war</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
<outputDirectory>${project.build.warDirectory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- This execution downloads the postgreSQL JDBC JAR -->
|
||||
<execution>
|
||||
<id>download-platform-jdbc</id>
|
||||
<phase>pre-integration-test</phase>
|
||||
<goals><goal>copy</goal></goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
<version>${postgres.jdbc.version}</version>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
<outputDirectory>${beedk.deploy.platform.extDirectory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<!-- This translates 'edition' into a configurable property -->
|
||||
<profile>
|
||||
<id>acs-community</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>edition</name>
|
||||
<value>!enterprise</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<!-- configurable -->
|
||||
<alfresco.platform.war.artifactId>content-services-community</alfresco.platform.war.artifactId>
|
||||
</properties>
|
||||
</profile>
|
||||
<!-- This translates 'edition' into a configurable property -->
|
||||
<profile>
|
||||
<id>acs-enterprise</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>edition</name>
|
||||
<value>enterprise</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<!-- configurable -->
|
||||
<alfresco.platform.war.artifactId>content-services</alfresco.platform.war.artifactId>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>default-props</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>!some-prop-that-never-exists</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<!-- configurable -->
|
||||
<project.build.warDirectory>${project.build.directory}/war</project.build.warDirectory>
|
||||
<project.build.extDirectory>${project.build.directory}/ext/platform</project.build.extDirectory>
|
||||
<alfresco.platform.war.groupId>org.alfresco</alfresco.platform.war.groupId>
|
||||
<alfresco.platform.war.version>${alfresco.platform.version}</alfresco.platform.war.version>
|
||||
|
||||
<!-- versions -->
|
||||
<postgres.jdbc.version>42.2.18</postgres.jdbc.version>
|
||||
|
||||
<!-- configuring beedk-acs-platform-it-tile -->
|
||||
<beedk.deploy.platform.warFile>${project.build.warDirectory}/${alfresco.platform.war.artifactId}-${alfresco.platform.war.version}.war</beedk.deploy.platform.warFile>
|
||||
<beedk.deploy.platform.extDirectory>${project.build.extDirectory}</beedk.deploy.platform.extDirectory>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<tiles>
|
||||
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-it-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-acs-platform-it-tile:1.0-SNAPSHOT</tile>
|
||||
</tiles>
|
||||
|
||||
</project>
|
Reference in New Issue
Block a user