refactored acs-share RAD
This commit is contained in:
parent
c6df90008f
commit
585b2cf745
@ -60,11 +60,10 @@ The following properties are intended to be exposed by inheriting Public API Mav
|
||||
|
||||
| Maven Property | Required | Default | Description |
|
||||
| ---------------------------------- |:--------:| ------------------ | ----------- |
|
||||
| `alfresco.sdk.version` | **YES** | | For a list of versions and more details, see the [Alfresco SDK](https://github.com/Alfresco/alfresco-sdk).<br/>*Inherited from [`beedk-acs-webapp-artifact-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-aritfact-rad-tile)* |
|
||||
| `alfresco.sdk.version` | **YES** | | For a list of versions and more details, see the [Alfresco SDK](https://github.com/Alfresco/alfresco-sdk).<br/>*Inherited from [`beedk-acs-webapp-artifact-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-rad-tile)* |
|
||||
| `alfresco.platform.version` | *Maybe* | | The Alfresco Platform version to use for RAD. See below for more details. |
|
||||
| `edition` | | `community` | The Alfresco Platform edition used for RAD. `community` or `enterprise`. See below for more details. |
|
||||
| `alfresco.war.version` | *Maybe* | *See Below* | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository.<br/>*Inherited from [`beedk-acs-webapp-artifact-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-tile)* |
|
||||
| `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 the developer; not for other applications or users.<br/>*Inherited from [`beedk-acs-platform-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-rad-tile)* |
|
||||
| `acs-platform.debugger.port` | | 8000 | The port to expose on `localhost` for the developer; not for other applications or users.<br/>*Inherited from [`beedk-acs-platform-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-rad-tile)* |
|
||||
| `acs-postgres.port` | | 5432 | The port to expose on `localhost` for the developer; not for other applications or users.<br/>*Inherited from [`beedk-acs-platform-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-rad-tile)* |
|
||||
|
9
beedk-acs-share-artifact-rad-tile/.gitignore
vendored
Normal file
9
beedk-acs-share-artifact-rad-tile/.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
# Eclipse
|
||||
.project
|
||||
.classpath
|
||||
.settings
|
||||
|
||||
# Maven
|
||||
pom.xml.versionsBackup
|
||||
target
|
||||
|
82
beedk-acs-share-artifact-rad-tile/README.md
Normal file
82
beedk-acs-share-artifact-rad-tile/README.md
Normal file
@ -0,0 +1,82 @@
|
||||
# BeeDK ACS Share RAD Maven Tile for non-Share-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 rapid application development 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-share-artifact-rad-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-acs-share-artifact-rad-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 Share module or ACS Share web application?
|
||||
: You will be declaring the `beedk-acs-share-module-tile` or `beedk-acs-share-webapp-tile` Maven Tile. You will need to explicitly declare and configure the [`beedk-acs-share-self-rad-tile` Maven Tile](../beedk-acs-share-self-rad-tile).
|
||||
|
||||
Is your Maven project just one within a set of other Maven projects AND one of those other Maven projects is an ACS Share web application (not a module)?
|
||||
: You will need to explicitly declare and configure the [`beedk-acs-share-sibling-rad-tile` Maven Tile](../beedk-acs-share-sibling-rad-tile).
|
||||
|
||||
Otherwise
|
||||
: You will need to explicitly declare and configure the `beedk-acs-share-artifact-rad-tile` Maven Tile.
|
||||
|
||||
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 |
|
||||
| ---------------------------------- |:--------:| ------------------ | ----------- |
|
||||
| `alfresco.share.version` | Maybe | | The Alfresco Share version to use for RAD. See below for more details. |
|
||||
| `alfresco.share.war.groupId` | | `org.alfresco` | The Maven `groupId` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `alfresco.share.war.artifactId` | | `share` | The Maven `artifactId` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `alfresco.share.war.version` | Maybe | *See Below* | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository. |
|
||||
| `acs-share.port` | | 8180 | The port to expose on `localhost` for the developer; not for other applications or users.<br/>*Inherited from [`beedk-acs-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)* |
|
||||
| `acs-share.debugger.port` | | 8100 | The port to expose on `localhost` for the developer; not for other applications or users.<br/>*Inherited from [`beedk-acs-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)* |
|
||||
| `acs-share.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-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)* |
|
||||
|
||||
* The `alfresco.share.version` is used to default the `alfresco.share.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-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)
|
||||
|
||||
## Results
|
||||
|
||||
The ACS Share component will be started during the `process-classes` Maven phase.
|
48
beedk-acs-share-artifact-rad-tile/pom.xml
Normal file
48
beedk-acs-share-artifact-rad-tile/pom.xml
Normal 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-acs-share-artifact-rad-tile</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>tile</packaging>
|
||||
|
||||
<name>Order of the Bee Development Kit: RAD for ACS Share 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>
|
||||
<filtering>true</filtering>
|
||||
<tiles>
|
||||
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
69
beedk-acs-share-artifact-rad-tile/tile.xml
Normal file
69
beedk-acs-share-artifact-rad-tile/tile.xml
Normal file
@ -0,0 +1,69 @@
|
||||
<?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-acs-share-artifact</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>rad</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- This plugin downloads the Share WAR -->
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<version>3.1.2</version>
|
||||
<executions>
|
||||
<!-- This execution downloads the Share WAR -->
|
||||
<execution>
|
||||
<id>download-platform-webapp</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals><goal>copy</goal></goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>${alfresco.share.war.groupId}</groupId>
|
||||
<artifactId>${alfresco.share.war.artifactId}</artifactId>
|
||||
<version>${alfresco.share.war.version}</version>
|
||||
<type>war</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
<outputDirectory>${beedk.deploy.share.warDirectory}</outputDirectory>
|
||||
</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 -->
|
||||
<project.build.warDirectory>${project.build.directory}/war</project.build.warDirectory>
|
||||
<alfresco.share.war.groupId>org.alfresco</alfresco.share.war.groupId>
|
||||
<alfresco.share.war.artifactId>share</alfresco.share.war.artifactId>
|
||||
<alfresco.share.war.version>${alfresco.share.version}</alfresco.share.war.version>
|
||||
|
||||
<!-- configuring beedk-acs-share-rad-tile -->
|
||||
<beedk.deploy.share.warFile>${project.build.warDirectory}/${alfresco.share.war.artifactId}-${alfresco.share.war.version}.war</beedk.deploy.share.warFile>
|
||||
<beedk.deploy.share.extDirectory>${project.build.directory}/ext/share</beedk.deploy.share.extDirectory>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<tiles>
|
||||
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile -->
|
||||
<tile>@project.groupId@:beedk-acs-share-rad-tile:@project.version@</tile>
|
||||
</tiles>
|
||||
|
||||
</project>
|
9
beedk-acs-share-rad-tile/.gitignore
vendored
Normal file
9
beedk-acs-share-rad-tile/.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
# Eclipse
|
||||
.project
|
||||
.classpath
|
||||
.settings
|
||||
|
||||
# Maven
|
||||
pom.xml.versionsBackup
|
||||
target
|
||||
|
82
beedk-acs-share-rad-tile/README.md
Normal file
82
beedk-acs-share-rad-tile/README.md
Normal file
@ -0,0 +1,82 @@
|
||||
# BeeDK Abstract ACS Share Maven Tile for RAD
|
||||
|
||||
This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk). It is considered to be part of the **Private 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 ACS Share module, extension, service, or web application. It is intended to be used by other BeeDK components and not directly by any development project.
|
||||
|
||||
## 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-share-rad-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-acs-share-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 |
|
||||
| -------------------------- |:--------:| --------------- | ----------- |
|
||||
| `acs-share.hotswap.enabled` | | true | Enable the HotSwap Agent for live classpath reloading. |
|
||||
| `acs-share.hotswap.disablePlugins` | | | Do not enable the HotSwap Agent with the following plugins. All plugins are documented here: https://github.com/HotswapProjects/HotswapAgent/tree/master/plugin |
|
||||
| `acs-share.debugger.enabled` | | true | Enable the JDWP debugger. |
|
||||
| `acs-share.port` | | 8180 | The port to expose on `localhost` for the developer; not for other applications or users. |
|
||||
| `acs-share.debugger.port` | | 8100 | The port to expose on `localhost` for the developer; not for other applications or users. |
|
||||
| `acs-share.tomcat.opts` | | | Additional `CATALINA_OPTS` to add to the Apache Tomcat startup.<br/>*May be overridden by any POM parent or Maven Tile.* |
|
||||
| `acs-share.timeout` | | 30000 | The time to wait for the startup to complete, in milliseconds. |
|
||||
| `tomcat-rad.version` | | *not important* | The version of the [Apache Tomcat Rapid Application Development Docker container](/inteligr8/tomcat-rad-docker). |
|
||||
|
||||
### Private API
|
||||
|
||||
The following properties are only intended to be defined by BeeDK components.
|
||||
|
||||
| Maven Property | Required | Default | Description |
|
||||
| ------------------------------------ |:--------:| ------------------ | ----------- |
|
||||
| `beedk.deploy.share.warFile` | **Yes** | | The WAR file to deploy in the Apache Tomcat instance. |
|
||||
| `beedk.deploy.share.classesDirectory` | | | An additional classpath directory to sideload into the web application. |
|
||||
| `beedk.deploy.share.testClassesDirectory` | | | An additional test classpath directory to sideload into the web application. |
|
||||
| `beedk.deploy.share.extDirectory` | | | An additional directory of JARs to sideload into the web application. |
|
||||
| `beedk.deploy.share.webDirectory` | | | An additional directory of web resources to sideload in the web application. |
|
||||
| `beedk.deploy.share.warDirectory` | | `${project.build.warDirectory}` | A build directory for WAR files. |
|
||||
|
||||
### 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 ACS Share will be started during the `process-classes` Maven phase.
|
48
beedk-acs-share-rad-tile/pom.xml
Normal file
48
beedk-acs-share-rad-tile/pom.xml
Normal 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-acs-share-rad-tile</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>tile</packaging>
|
||||
|
||||
<name>Order of the Bee Development Kit: RAD for ACS Share</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>
|
126
beedk-acs-share-rad-tile/tile.xml
Normal file
126
beedk-acs-share-rad-tile/tile.xml
Normal file
@ -0,0 +1,126 @@
|
||||
<?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-acs-share</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>rad</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- 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-acs-share</id>
|
||||
<phase>process-classes</phase>
|
||||
<goals><goal>start</goal></goals>
|
||||
<configuration>
|
||||
<images>
|
||||
<image>
|
||||
<name>docker.inteligr8.com/inteligr8/tomcat-rad:${tomcat-rad.version}</name>
|
||||
<alias>acs-share</alias>
|
||||
<run>
|
||||
<env>
|
||||
<ENABLE_JDWP>${acs-share.debugger.enabled}</ENABLE_JDWP>
|
||||
<ENABLE_HOTSWAP>${acs-share.hotswap.enabled}</ENABLE_HOTSWAP>
|
||||
<DISABLE_HOTSWAP_PLUGINS>${acs-share.hotswap.disablePlugins}</DISABLE_HOTSWAP_PLUGINS>
|
||||
<CATALINA_OPTS>${acs-share.tomcat.opts}</CATALINA_OPTS>
|
||||
</env>
|
||||
<ports>
|
||||
<port>${acs-share.port}:8080</port>
|
||||
<port>${acs-share.debugger.port}:8000</port>
|
||||
</ports>
|
||||
<network>
|
||||
<mode>custom</mode>
|
||||
<name>${project.artifactId}</name>
|
||||
</network>
|
||||
<volumes>
|
||||
<bind>
|
||||
<volume>${beedk.deploy.share.warFile}:/var/lib/tomcat/webapps/share.war:ro</volume>
|
||||
<volume>${beedk.deploy.share.classesDirectory}:/var/lib/tomcat/dev/classes:ro</volume>
|
||||
<volume>${beedk.deploy.share.modClassesDirectory}:/var/lib/tomcat/dev/classes-extra1:ro</volume>
|
||||
<volume>${beedk.deploy.share.extClassesDirectory}:/var/lib/tomcat/dev/classes-extra2:ro</volume>
|
||||
<volume>${beedk.deploy.share.testClassesDirectory}:/var/lib/tomcat/dev/classes-extra3:ro</volume>
|
||||
<volume>${beedk.deploy.share.extDirectory}:/var/lib/tomcat/dev/lib:ro</volume>
|
||||
<volume>${beedk.deploy.share.webDirectory}:/var/lib/tomcat/dev/web:ro</volume>
|
||||
</bind>
|
||||
</volumes>
|
||||
<wait>
|
||||
<http>
|
||||
<url>http://localhost:${acs-share.port}/share</url>
|
||||
<method>GET</method>
|
||||
<status>200..399</status>
|
||||
</http>
|
||||
<time>${acs-share.timeout}</time>
|
||||
</wait>
|
||||
</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>!acs-share.tomcat.opts</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<acs-share.tomcat.opts></acs-share.tomcat.opts>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>default-props</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>!some-prop-that-never-exists</name>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<!-- configurable -->
|
||||
<beedk.deploy.share.classesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.classesDirectory>
|
||||
<beedk.deploy.share.modClassesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.modClassesDirectory>
|
||||
<beedk.deploy.share.extClassesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.extClassesDirectory>
|
||||
<beedk.deploy.share.testClassesDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.testClassesDirectory>
|
||||
<beedk.deploy.share.extDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.extDirectory>
|
||||
<beedk.deploy.share.webDirectory>${project.build.directory}/doesnotexist</beedk.deploy.share.webDirectory>
|
||||
<beedk.deploy.share.warDirectory>${project.build.warDirectory}</beedk.deploy.share.warDirectory>
|
||||
<acs-share.timeout>150000</acs-share.timeout>
|
||||
<acs-share.debugger.enabled>true</acs-share.debugger.enabled>
|
||||
<acs-share.hotswap.enabled>true</acs-share.hotswap.enabled>
|
||||
<acs-share.hotswap.disablePlugins></acs-share.hotswap.disablePlugins>
|
||||
|
||||
<!-- ports -->
|
||||
<acs-share.port>8180</acs-share.port>
|
||||
<acs-share.debugger.port>8100</acs-share.debugger.port>
|
||||
|
||||
<!-- versions -->
|
||||
<tomcat-rad.version>9-1.4</tomcat-rad.version>
|
||||
|
||||
<!-- configuring beedk-acs-webapp-artifact-tile -->
|
||||
<alfresco.war.artifactId>share</alfresco.war.artifactId>
|
||||
</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>
|
@ -37,6 +37,19 @@ To use this plugin, just reference it with the Maven Tiles plugin as shown in th
|
||||
</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 Share module or ACS Share web application?
|
||||
: You will be declaring the `beedk-acs-share-module-tile` or `beedk-acs-share-webapp-tile` Maven Tile. You will need to explicitly declare and configure the `beedk-acs-share-self-rad-tile` Maven Tile.
|
||||
|
||||
Is your Maven project just one within a set of other Maven projects AND one of those other Maven projects is an ACS Share web application (not a module)?
|
||||
: You will need to explicitly declare and configure the [`beedk-acs-share-sibling-rad-tile` Maven Tile](../beedk-acs-share-sibling-rad-tile).
|
||||
|
||||
Otherwise
|
||||
: You will need to explicitly declare and configure the [`beedk-acs-share-artifact-rad-tile` Maven Tile](../beedk-acs-share-artifact-rad-tile).
|
||||
|
||||
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.
|
||||
@ -51,14 +64,10 @@ The following properties are intended to be exposed by inheriting Public API Mav
|
||||
| `alfresco.share.version` | *Maybe* | | The Alfresco Share version to use for RAD. See below for more details. |
|
||||
| `alfresco.war.artifactId` | | `share` | The Maven `artifactId` of a Maven `war` Type Project defined in a Maven Repository.<br/>*Inherited from [`beedk-acs-webapp-artifact-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-tile)* |
|
||||
| `alfresco.war.version` | *Maybe* | *See Below* | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository.<br/>*Inherited from [`beedk-acs-webapp-artifact-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-tile)* |
|
||||
| `project.build.shareExtDirectory` | | `${project.build.directory}/ext/share` | An additional directory of JARs to add to the ACS Share at runtime. |
|
||||
| `acs-platform.url` | | *See Below* | The URL of the backend ACS Platform to be used. |
|
||||
| `acs-share.hotswap.enabled` | | true | Enable the HotSwap Agent for live classpath reloading. |
|
||||
| `acs-share.debugger.enabled` | | true | Enable the JDWP debugger. |
|
||||
| `acs-share.port` | | 8180 | The port to expose on `localhost` for the developer; not for other applications or users. |
|
||||
| `acs-share.debugger.port` | | 8100 | The port to expose on `localhost` for the developer; not for other applications or users. |
|
||||
| `acs-share.timeout` | | 45000 | The time to wait for the startup to complete, in milliseconds. |
|
||||
| `tomcat-rad.version` | | *not important* | The version of the [Apache Tomcat Rapid Application Development Docker container](/inteligr8/tomcat-rad-docker). |
|
||||
| `acs-share.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-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)* |
|
||||
|
||||
* The `alfresco.share.version` is used to default the `alfresco.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.
|
||||
* The `acs-platform.url` will default to the appropriate value when using the `beedk-acs-platform-*-rad-tile` tiles. This should be overridden if you are not using those tiles and are instead using some other ACS Platform instance.
|
||||
@ -67,7 +76,7 @@ The following properties are intended to be exposed by inheriting Public API Mav
|
||||
|
||||
Additional less important configurations are inherited from the following Maven Tiles.
|
||||
|
||||
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
|
||||
* [`beedk-acs-share-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-rad-tile)
|
||||
* [`beedk-acs-webapp-artifact-rad-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-rad-tile)
|
||||
|
||||
## Results
|
||||
|
@ -26,7 +26,7 @@
|
||||
<configuration>
|
||||
<excludeScope>provided</excludeScope>
|
||||
<includeTypes>jar</includeTypes>
|
||||
<outputDirectory>${project.build.shareExtDirectory}</outputDirectory>
|
||||
<outputDirectory>${beedk.deploy.share.extDirectory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
@ -76,61 +76,6 @@
|
||||
</replacements>
|
||||
</configuration>
|
||||
</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-acs-share</id>
|
||||
<phase>process-classes</phase>
|
||||
<goals><goal>start</goal></goals>
|
||||
<configuration>
|
||||
<tiles-keep-id>true</tiles-keep-id>
|
||||
<images>
|
||||
<image>
|
||||
<name>docker.inteligr8.com/inteligr8/tomcat-rad:${tomcat-rad.version}</name>
|
||||
<alias>acs-share</alias>
|
||||
<run>
|
||||
<env>
|
||||
<ENABLE_JDWP>${acs-share.debugger.enabled}</ENABLE_JDWP>
|
||||
<ENABLE_HOTSWAP>${acs-share.hotswap.enabled}</ENABLE_HOTSWAP>
|
||||
</env>
|
||||
<ports>
|
||||
<port>${acs-share.port}:8080</port>
|
||||
<port>${acs-share.debugger.port}:8000</port>
|
||||
</ports>
|
||||
<network>
|
||||
<mode>custom</mode>
|
||||
<name>${project.artifactId}</name>
|
||||
</network>
|
||||
<volumes>
|
||||
<bind>
|
||||
<volume>${project.build.warFile}:/var/lib/tomcat/webapps/share.war:ro</volume>
|
||||
<volume>${project.build.outputDirectory}:/var/lib/tomcat/dev/classes:ro</volume>
|
||||
<volume>${project.build.directory}/module-classes:/var/lib/tomcat/dev/classes-extra1:ro</volume>
|
||||
<volume>${project.build.directory}/extension-classes:/var/lib/tomcat/dev/classes-extra2:ro</volume>
|
||||
<volume>${project.build.testOutputDirectory}:/var/lib/tomcat/dev/classes-extra3:ro</volume>
|
||||
<volume>${project.build.shareExtDirectory}:/var/lib/tomcat/dev/lib:ro</volume>
|
||||
<volume>${project.build.directory}/web-resources:/var/lib/tomcat/dev/web:ro</volume>
|
||||
</bind>
|
||||
</volumes>
|
||||
<wait>
|
||||
<http>
|
||||
<url>http://localhost:${acs-share.port}/share</url>
|
||||
<method>GET</method>
|
||||
<status>200..399</status>
|
||||
</http>
|
||||
<time>${acs-share.timeout}</time>
|
||||
</wait>
|
||||
</run>
|
||||
</image>
|
||||
</images>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
@ -144,20 +89,16 @@
|
||||
<properties>
|
||||
<!-- configurable -->
|
||||
<acs-platform.url>http://${project.artifactId}-acs-platform:8080</acs-platform.url>
|
||||
<acs-share.hotswap.enabled>true</acs-share.hotswap.enabled>
|
||||
<acs-share.debugger.enabled>true</acs-share.debugger.enabled>
|
||||
<acs-share.debugger.port>8100</acs-share.debugger.port>
|
||||
<acs-share.timeout>45000</acs-share.timeout>
|
||||
<project.build.shareExtDirectory>${project.build.directory}/ext/share</project.build.shareExtDirectory>
|
||||
|
||||
<!-- ports -->
|
||||
<acs-share.port>8180</acs-share.port>
|
||||
|
||||
<!-- versions -->
|
||||
<tomcat-rad.version>9-1.4</tomcat-rad.version>
|
||||
<beedk.deploy.share.warFile>${project.build.warFile}</beedk.deploy.share.warFile>
|
||||
<beedk.deploy.share.classesDirectory>${project.build.outputDirectory}</beedk.deploy.share.classesDirectory>
|
||||
<beedk.deploy.share.modClassesDirectory>${project.build.directory}/module-classes</beedk.deploy.share.modClassesDirectory>
|
||||
<beedk.deploy.share.extClassesDirectory>${project.build.directory}/extension-classes</beedk.deploy.share.extClassesDirectory>
|
||||
<beedk.deploy.share.testClassesDirectory>${project.build.testOutputDirectory}</beedk.deploy.share.testClassesDirectory>
|
||||
<beedk.deploy.share.extDirectory>${project.build.directory}/ext/share</beedk.deploy.share.extDirectory>
|
||||
<beedk.deploy.share.warDirectory>${project.build.directory}/war</beedk.deploy.share.warDirectory>
|
||||
<beedk.deploy.share.webDirectory>${project.build.directory}/web-resources</beedk.deploy.share.webDirectory>
|
||||
|
||||
<!-- configuring beedk-acs-webapp-artifact-tile -->
|
||||
<alfresco.war.artifactId>share</alfresco.war.artifactId>
|
||||
<alfresco.war.version>${alfresco.share.version}</alfresco.war.version>
|
||||
</properties>
|
||||
</profile>
|
||||
@ -165,7 +106,7 @@
|
||||
|
||||
<tiles>
|
||||
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
|
||||
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
|
||||
<tile>@project.groupId@:beedk-acs-share-rad-tile:@project.version@</tile>
|
||||
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-webapp-artifact-rad-tile -->
|
||||
<tile>@project.groupId@:beedk-acs-webapp-artifact-rad-tile:@project.version@</tile>
|
||||
</tiles>
|
||||
|
2
pom.xml
2
pom.xml
@ -46,7 +46,9 @@
|
||||
<module>beedk-acs-platform-self-rad-tile</module>
|
||||
<module>beedk-acs-platform-sibling-rad-tile</module>
|
||||
<module>beedk-acs-platform-artifact-rad-tile</module>
|
||||
<module>beedk-acs-share-rad-tile</module>
|
||||
<module>beedk-acs-share-self-rad-tile</module>
|
||||
<module>beedk-acs-share-artifact-rad-tile</module>
|
||||
<module>beedk-ate-self-rad-tile</module>
|
||||
<module>beedk-ate-sibling-rad-tile</module>
|
||||
<module>beedk-aps-rad-tile</module>
|
||||
|
Loading…
x
Reference in New Issue
Block a user