Merge branch 'develop' into stable

This commit is contained in:
Brian Long 2024-03-14 17:32:51 -04:00
commit d51874abae
151 changed files with 1629 additions and 600 deletions

View File

@ -10,64 +10,13 @@ The sole purpose of this project is to build all the submodule components. It i
### Configuration
There are a couple configurations required to use the components of the BeeDK. Those are covered in the sections below.
There is no extra configuration required to use the BeeDK or its modules. Some modules may require tools like Docker, but those are requirements of the module, not the BeeDK.
#### Plugin Repository
The BeeDK official artifacts are all deployed to Maven Central. There are no 3rd party repositories needed. You may develop and deploy your own extensions in other repositories though. In those cases, the repositories will need to be defined as `pluginRepositories` in order for Maven Tiles to use them during its discovery.
First, you will need define a reference to the repository for the BeeDK tiles. This is the case until they find their way into the Maven Central Repository.
### Modules
You will need to define a plugin repository in your `setting.xml` or your project `pom.xml`. The following snippet is meant to be included in your `~/.m2/settings.xml` file.
> If you choose to include it in your project `pom.xml`, ignore the structure outside the `pluginRepositories` element and place that element directly under the `project` element.
```xml
<settings ...>
...
<profiles>
...
<profile>
<id>inteligr8</id>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-public</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</profile>
...
</profiles>
...
</settings>
```
#### Archetype
Next, you will need to configure using a repository not named Maven Central for archetypes. Defining a location for archetypes is incredibly bug-laden in the Maven Archetype plugin framework. The only good way to achieve it is by defining an alternative `settings.xml` file. So create a new file called `.m2/beedk-settings.xml` with the following contents.
```xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>custom-archetype</id>
<repositories>
<repository>
<id>archetype</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>custom-archetype</activeProfile>
</activeProfiles>
</settings>
```
### Components
The following components are useful to users of the BeeDK.
The following tiles (side-loaded components) are useful to users of the BeeDK. BeeDK makes extensive use of [Maven Tiles](https://github.com/repaint-io/maven-tiles).
#### Public API
@ -75,8 +24,8 @@ The following components are useful to users of the BeeDK.
| ------------------------------------- | ------------- | ------- |
| `beedk-acs-platform-module-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-module-tile) | Intended to be inherited by all Alfresco Platform module projects; Includes ampification and more. |
| `beedk-acs-share-module-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-module-tile) | Intended to be inherited by all Alfresco Share module projects; Includes ampification, JS compression, and more. |
| `beedk-acs-platform-webapp-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-webapp-tile) | Intended to be inherited by all Alfresco Platform web application projects; Includes installing AMPs, and more. |
| `beedk-acs-share-webapp-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-webapp-tile) | Intended to be inherited by all Alfresco Share web application projects; Includes installing AMPs, and more. |
| `beedk-acs-platform-webapp-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-platform-webapp-tile) | Intended to be inherited by all Alfresco Platform web application projects; Includes installing AMPs, loading JARs, and more. |
| `beedk-acs-share-webapp-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-acs-share-webapp-tile) | Intended to be inherited by all Alfresco Share web application projects; Includes installing AMPs, loading JARs, and more. |
| `beedk-ate-springboot` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-ate-springboot) | Intended to be inherited by all Alfresco Transform Engine Spring Boot projects; Includes dependencies. |
| `beedk-ate-springboot-test` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-ate-springboot-test) | Intended to be inherited by all Alfresco Transform Engine Spring Boot projects; Includes dependencies. |
| `beedk-ate-springboot-tile` | [Source](/inteligr8/ootbee-beedk/src/stable/beedk-ate-springboot-tile) | Intended to be inherited by all Alfresco Transform Engine Spring Boot projects; Includes Spring Boot repackaging and more. |
@ -169,7 +118,7 @@ docker container ls -aq --filter={artifactId}-* | % { docker container rm $_ }
You can use one of these Maven Archetypes to generate a new project by executing the following at the command line.
```sh
mvn -s ~/.m2/beedk-settings.xml archetype:generate
mvn archetype:generate
```
### Scaffolding

View File

@ -49,7 +49,7 @@
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
<version>${archetype-packaging.version}</version>
</extension>
</extensions>
</build>

View File

@ -42,7 +42,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<!-- This assures the parent properties override defaults in the tiles -->

View File

@ -5,27 +5,27 @@ function discoverArtifactId {
function rebuild {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
mvn -Drad "-Ddocker.showLogs" process-test-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop (docker container ls -q --filter name=${ARTIFACT_ID}-*)
docker container stop (docker container ls -q --filter name="^/${ARTIFACT_ID}")
echo "Removing containers ..."
docker container rm (docker container ls -aq --filter name=${ARTIFACT_ID}-*)
docker container rm (docker container ls -aq --filter name="^/${ARTIFACT_ID}")
}
function tail_logs {
@ -34,12 +34,12 @@ function tail_logs {
)
discoverArtifactId
docker container logs -f (docker container ls -q --filter name=${ARTIFACT_ID}-${container})
docker container logs -f (docker container ls -q --filter name="^/${ARTIFACT_ID}-${container}$")
}
function list {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
switch ($args[0]) {

View File

@ -1,42 +1,42 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
local ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
start() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
mvn -Drad -Ddocker.showLogs process-test-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop `docker container ls -q --filter name=${ARTIFACT_ID}-*`
docker container stop `docker container ls -q --filter name="^/${ARTIFACT_ID}"`
echo "Removing containers ..."
docker container rm `docker container ls -aq --filter name=${ARTIFACT_ID}-*`
docker container rm `docker container ls -aq --filter name="^/${ARTIFACT_ID}"`
}
tail_logs() {
discoverArtifactId
docker container logs -f `docker container ls -q --filter name=${ARTIFACT_ID}-$1`
docker container logs -f `docker container ls -q --filter name="^/${ARTIFACT_ID}-$1$"`
}
list() {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
case "$1" in

View File

@ -20,27 +20,47 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransacti
import org.alfresco.service.ServiceRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEvent;
import org.springframework.extensions.surf.util.AbstractLifecycleBean;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can use the Alfresco Java Public API on startup or shutdown.
*/
@Component
public class ExampleBootstrap implements InitializingBean, DisposableBean {
public class ExampleBootstrap extends AbstractLifecycleBean {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
// this is the Alfresco Public Java API entrypoint
@Autowired
protected ServiceRegistry serviceRegistry;
@Override
public void afterPropertiesSet() throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("onStartup()");
@Value("${example.config.value:default}")
private String configValue;
@Value("${example.config.value:#{null}}")
private String configValueWithNullDefault;
/**
* This is called after Spring beans and configuration are injected, but
* before ACS services are ready. So don't call any ACS services, start an
* ACS transaction, or try to create an authentication context.
*/
@PostConstruct
private void init() {
}
/**
* This is called after @PostConstruct and all the ACS services are
* initialized and ready. You will have no authentication or transaction
* context.
*/
@Override
protected void onBootstrap(ApplicationEvent event) {
this.logger.trace("onBootstrap()");
// provide some authority within the Alfresco context
AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
@ -57,11 +77,15 @@ public class ExampleBootstrap implements InitializingBean, DisposableBean {
}
});
}
@Override
public void destroy() throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("onShutdown()");
/**
* This is called after @PostConstruct and all the ACS services are
* initialized and ready. You will have no authentication or transaction
* context.
*/
@Override
protected void onShutdown(ApplicationEvent event) {
this.logger.trace("onShutdown()");
// provide some authority within the Alfresco context
AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {

View File

@ -21,15 +21,15 @@ import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.extensions.surf.util.AbstractLifecycleBean;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can use the Alfresco Java Public API when Alfresco triggers an event.
*/
@Component
public class ExampleEventListener implements InitializingBean, OnCreateNodePolicy {
public class ExampleEventListener extends AbstractLifecycleBean implements OnCreateNodePolicy {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@ -37,24 +37,34 @@ public class ExampleEventListener implements InitializingBean, OnCreateNodePolic
@Autowired
protected ServiceRegistry serviceRegistry;
@Override
public void afterPropertiesSet() throws Exception {
@Override
protected void onBootstrap(ApplicationEvent event) {
this.bind();
}
/**
* This must be called after the `PolicyComponent` is initialized/ready.
* So you cannot call it from with `@PostConstruct` or using
* `InitializingBean`.
*/
public void bind() {
if (this.logger.isTraceEnabled())
this.logger.trace("bind()");
this.logger.trace("bind()");
// example listener
this.serviceRegistry.getPolicyComponent().bindClassBehaviour(OnCreateNodePolicy.QNAME, this,
new JavaBehaviour(this, OnCreateNodePolicy.QNAME.getLocalName(), NotificationFrequency.TRANSACTION_COMMIT));
}
/**
* This will execute with the same authentication and transaction context
* as was used to create the node, unless the binding is
* `TRANSACTION_COMMIT`. Then it will only have the same transaction
* context and the authentication context used when starting the
* transaction.
*/
@Override
public void onCreateNode(ChildAssociationRef childAssocRef) {
if (this.logger.isTraceEnabled())
this.logger.trace("onCreateNode('" + childAssocRef.getChildRef() + "')");
this.logger.trace("onCreateNode('" + childAssocRef.getChildRef() + "')");
// TODO do some work
}

View File

@ -39,6 +39,11 @@ public class ExampleGetWebScript extends AbstractWebScript {
@Autowired
protected ServiceRegistry serviceRegistry;
/**
* This will have the authentication context of the authenticated user
* calling the REST endpoint. The transaction context is defined in the
* web script descriptor.
*/
@Override
public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
if (this.logger.isTraceEnabled())

View File

@ -32,11 +32,17 @@ public class ExampleJavaScriptRootObject extends BaseProcessorExtension {
@Autowired
protected ServiceRegistry serviceRegistry;
/**
* An example method that called from within a JavaScript within the ACS
* application: `example.getMessage("example.property")`. All simple
* parameter and return types are generally supported.
*
* The `example` root name comes from the `module-context.xml` file.
*/
public String getMessage(String messageKey) {
if (this.logger.isTraceEnabled())
this.logger.trace("getMessage('" + messageKey + "')");
// just and example method, called in JS with: example.getMessage("example.property");
return this.serviceRegistry.getDictionaryService().getMessage(messageKey);
}

View File

@ -1,9 +1,10 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<webscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://bitbucket.org/!api/2.0/snippets/inteligr8/AzMgbp/HEAD/files/snippet.txt">
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
<url>/exampleJava?paramName={paramValue}</url>
<format default="json"></format>
<authentication>user</authentication>
</webscript>

View File

@ -1,9 +1,10 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<webscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://bitbucket.org/!api/2.0/snippets/inteligr8/AzMgbp/HEAD/files/snippet.txt">
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
<url>/exampleJs?paramName={paramValue}</url>
<format default="json"></format>
<authentication>guest</authentication>
</webscript>

View File

@ -0,0 +1,8 @@
# Module debugging
logger.example.level=trace
# WebScript debugging
logger.springframework-extensions-webscripts-ScriptLogger.level=debug
# non-WebScript JavaScript execution debugging
logger.alfresco-repo-jscript-ScriptLogger.level=debug

View File

@ -35,7 +35,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<!-- This assures the parent properties override defaults in the tiles -->

View File

@ -33,20 +33,9 @@
</modules>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-private</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@ -44,7 +44,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<!-- This assures the parent properties override defaults in the tiles -->

View File

@ -5,27 +5,27 @@ function discoverArtifactId {
function rebuild {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
mvn -Drad "-Ddocker.showLogs" process-test-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop (docker container ls -q --filter name=${ARTIFACT_ID}-*)
docker container stop (docker container ls -q --filter name="^/${ARTIFACT_ID}")
echo "Removing containers ..."
docker container rm (docker container ls -aq --filter name=${ARTIFACT_ID}-*)
docker container rm (docker container ls -aq --filter name="^/${ARTIFACT_ID}")
}
function tail_logs {
@ -34,12 +34,12 @@ function tail_logs {
)
discoverArtifactId
docker container logs -f (docker container ls -q --filter name=${ARTIFACT_ID}-${container})
docker container logs -f (docker container ls -q --filter name="^/${ARTIFACT_ID}-${container}$")
}
function list {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
switch ($args[0]) {

View File

@ -1,42 +1,42 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
local ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
start() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
mvn -Drad -Ddocker.showLogs process-test-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop `docker container ls -q --filter name=${ARTIFACT_ID}-*`
docker container stop `docker container ls -q --filter name="^/${ARTIFACT_ID}"`
echo "Removing containers ..."
docker container rm `docker container ls -aq --filter name=${ARTIFACT_ID}-*`
docker container rm `docker container ls -aq --filter name="^/${ARTIFACT_ID}"`
}
tail_logs() {
discoverArtifactId
docker container logs -f `docker container ls -q --filter name=${ARTIFACT_ID}-$1`
docker container logs -f `docker container ls -q --filter name="^/${ARTIFACT_ID}-$1$"`
}
list() {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
case "$1" in

View File

@ -0,0 +1,74 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
###### File appender definition #######
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=share.log
appender.rolling.filePattern=share.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type=TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval=1
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.freemarker-runtime.name=freemarker.runtime
logger.freemarker-runtime.level=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
logger.example.name=${package}
logger.example.level=debug

View File

@ -35,7 +35,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<!-- This assures the parent properties override defaults in the tiles -->

View File

@ -53,7 +53,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<!-- This assures the parent properties override defaults in the tiles -->

View File

@ -5,12 +5,12 @@ function discoverArtifactId {
function rebuild {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
function stop_ {

View File

@ -6,12 +6,12 @@ discoverArtifactId() {
rebuild() {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
start() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
stop() {

View File

@ -52,19 +52,12 @@ This tile is meant to be used in conjunction with the `beedk-acs-platform-it-til
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.transform-aio.version` | | *not important* | The version of the [Alfresco Transform Core Engine Docker Image](https://hub.docker.com/r/alfresco/alfresco-transform-core-aio/tags). |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-ate-test-tile)
## Results

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -24,7 +24,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>start-alts</id>
@ -33,7 +32,7 @@
<configuration>
<images>
<image>
<name>alfresco/alfresco-transform-core-aio:${alfresco.transform-aio.version}</name>
<name>alfresco/alfresco-transform-core-aio:${ate-aio.version}</name>
<alias>ate-aio</alias>
<run>
<skip>${skipTests}</skip>
@ -53,7 +52,7 @@
<configuration>
<images>
<image>
<name>alfresco/alfresco-transform-core-aio:${alfresco.transform-aio.version}</name>
<name>alfresco/alfresco-transform-core-aio:${ate-aio.version}</name>
<alias>ate-aio</alias>
</image>
</images>
@ -73,9 +72,6 @@
</property>
</activation>
<properties>
<!-- versions -->
<alfresco.transform-aio.version>2.3.6</alfresco.transform-aio.version>
<!-- configuring beedk-acs-platform-it-tile -->
<beedk.deploy.alts.enabled>true</beedk.deploy.alts.enabled>
</properties>
@ -85,6 +81,8 @@
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-ate-test-tile -->
<tile>@project.groupId@:beedk-ate-test-tile:@project.version@</tile>
</tiles>
</project>

View File

@ -56,16 +56,16 @@ In your Maven project, set the following properties to define the behavior of th
The following properties are intended to be exposed by inheriting Public API Maven Tiles.
| Maven Property | Required | Default | Description |
| ------------------------------------- |:--------:| --------------- | ----------- |
| `alfresco.transform-aio.port` | | 8091 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `alfresco.transform-aio.version` | | *not important* | The version of the [Alfresco Transform Core Engine Docker Image](https://hub.docker.com/r/alfresco/alfresco-transform-core-aio/tags). |
| Maven Property | Required | Default | Description |
| ---------------------- |:--------:| --------------- | ----------- |
| `ate-aio.port` | | 8091 | The port to expose on `localhost` for the developer; not for other applications or users. |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-ate-test-tile)
## Results

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -32,7 +32,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-alts</id>
@ -41,11 +40,11 @@
<configuration>
<images>
<image>
<name>alfresco/alfresco-transform-core-aio:${alfresco.transform-aio.version}</name>
<name>alfresco/alfresco-transform-core-aio:${ate-aio.version}</name>
<alias>ate-aio</alias>
<run>
<ports>
<port>${alfresco.transform-aio.port}:8090</port>
<port>${ate-aio.port}:8090</port>
</ports>
<network>
<mode>custom</mode>
@ -70,10 +69,7 @@
</activation>
<properties>
<!-- configurable -->
<alfresco.transform-aio.port>8091</alfresco.transform-aio.port>
<!-- versions -->
<alfresco.transform-aio.version>2.3.6</alfresco.transform-aio.version>
<ate-aio.port>8091</ate-aio.port>
<!-- configuring beedk-acs-platform-rad-tile -->
<beedk.rad.alts.enabled>true</beedk.rad.alts.enabled>
@ -84,6 +80,8 @@
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-ate-test-tile -->
<tile>@project.groupId@:beedk-ate-test-tile:@project.version@</tile>
</tiles>
</project>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the Platform WAR and JDBC JAR dependency -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the Platform WAR -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -31,7 +31,7 @@
<!-- This plugin downloads the Platform WAR and JDBC JAR dependency -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the Platform WAR -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,7 +49,7 @@
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
<version>${archetype-packaging.version}</version>
</extension>
</extensions>
</build>

View File

@ -46,7 +46,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<tiles>
@ -63,20 +63,9 @@
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@ -5,27 +5,27 @@ function discoverArtifactId {
function rebuild {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
mvn -Drad "-Ddocker.showLogs" process-test-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop (docker container ls -q --filter name=${ARTIFACT_ID}-*)
docker container stop (docker container ls -q --filter name="^/${ARTIFACT_ID}")
echo "Removing containers ..."
docker container rm (docker container ls -aq --filter name=${ARTIFACT_ID}-*)
docker container rm (docker container ls -aq --filter name="^/${ARTIFACT_ID}")
}
function tail_logs {
@ -34,12 +34,12 @@ function tail_logs {
)
discoverArtifactId
docker container logs -f (docker container ls -q --filter name=${ARTIFACT_ID}-${container})
docker container logs -f (docker container ls -q --filter name="^/${ARTIFACT_ID}-${container}$")
}
function list {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
switch ($args[0]) {

View File

@ -1,42 +1,42 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
local ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
start() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
mvn -Drad -Ddocker.showLogs process-test-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop `docker container ls -q --filter name=${ARTIFACT_ID}-*`
docker container stop `docker container ls -q --filter name="^/${ARTIFACT_ID}"`
echo "Removing containers ..."
docker container rm `docker container ls -aq --filter name=${ARTIFACT_ID}-*`
docker container rm `docker container ls -aq --filter name="^/${ARTIFACT_ID}"`
}
tail_logs() {
discoverArtifactId
docker container logs -f `docker container ls -q --filter name=${ARTIFACT_ID}-$1`
docker container logs -f `docker container ls -q --filter name="^/${ARTIFACT_ID}-$1$"`
}
list() {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
case "$1" in

View File

@ -20,27 +20,47 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransacti
import org.alfresco.service.ServiceRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEvent;
import org.springframework.extensions.surf.util.AbstractLifecycleBean;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can use the Alfresco Java Public API on startup or shutdown.
*/
@Component
public class ExampleBootstrap implements InitializingBean, DisposableBean {
public class ExampleBootstrap extends AbstractLifecycleBean {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
// this is the Alfresco Public Java API entrypoint
@Autowired
protected ServiceRegistry serviceRegistry;
@Override
public void afterPropertiesSet() throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("onStartup()");
@Value("${example.config.value:default}")
private String configValue;
@Value("${example.config.value:#{null}}")
private String configValueWithNullDefault;
/**
* This is called after Spring beans and configuration are injected, but
* before ACS services are ready. So don't call any ACS services, start an
* ACS transaction, or try to create an authentication context.
*/
@PostConstruct
private void init() {
}
/**
* This is called after @PostConstruct and all the ACS services are
* initialized and ready. You will have no authentication or transaction
* context.
*/
@Override
protected void onBootstrap(ApplicationEvent event) {
this.logger.trace("onBootstrap()");
// provide some authority within the Alfresco context
AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {
@ -57,11 +77,15 @@ public class ExampleBootstrap implements InitializingBean, DisposableBean {
}
});
}
@Override
public void destroy() throws Exception {
if (this.logger.isTraceEnabled())
this.logger.trace("onShutdown()");
/**
* This is called after @PostConstruct and all the ACS services are
* initialized and ready. You will have no authentication or transaction
* context.
*/
@Override
protected void onShutdown(ApplicationEvent event) {
this.logger.trace("onShutdown()");
// provide some authority within the Alfresco context
AuthenticationUtil.runAsSystem(new RunAsWork<Void>() {

View File

@ -21,15 +21,15 @@ import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.extensions.surf.util.AbstractLifecycleBean;
import org.springframework.stereotype.Component;
/**
* This class is an example of how you can use the Alfresco Java Public API when Alfresco triggers an event.
*/
@Component
public class ExampleEventListener implements InitializingBean, OnCreateNodePolicy {
public class ExampleEventListener extends AbstractLifecycleBean implements OnCreateNodePolicy {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@ -37,24 +37,34 @@ public class ExampleEventListener implements InitializingBean, OnCreateNodePolic
@Autowired
protected ServiceRegistry serviceRegistry;
@Override
public void afterPropertiesSet() throws Exception {
@Override
protected void onBootstrap(ApplicationEvent event) {
this.bind();
}
/**
* This must be called after the `PolicyComponent` is initialized/ready.
* So you cannot call it from with `@PostConstruct` or using
* `InitializingBean`.
*/
public void bind() {
if (this.logger.isTraceEnabled())
this.logger.trace("bind()");
this.logger.trace("bind()");
// example listener
this.serviceRegistry.getPolicyComponent().bindClassBehaviour(OnCreateNodePolicy.QNAME, this,
new JavaBehaviour(this, OnCreateNodePolicy.QNAME.getLocalName(), NotificationFrequency.TRANSACTION_COMMIT));
}
/**
* This will execute with the same authentication and transaction context
* as was used to create the node, unless the binding is
* `TRANSACTION_COMMIT`. Then it will only have the same transaction
* context and the authentication context used when starting the
* transaction.
*/
@Override
public void onCreateNode(ChildAssociationRef childAssocRef) {
if (this.logger.isTraceEnabled())
this.logger.trace("onCreateNode('" + childAssocRef.getChildRef() + "')");
this.logger.trace("onCreateNode('" + childAssocRef.getChildRef() + "')");
// TODO do some work
}

View File

@ -39,6 +39,11 @@ public class ExampleGetWebScript extends AbstractWebScript {
@Autowired
protected ServiceRegistry serviceRegistry;
/**
* This will have the authentication context of the authenticated user
* calling the REST endpoint. The transaction context is defined in the
* web script descriptor.
*/
@Override
public void execute(WebScriptRequest req, WebScriptResponse res) throws IOException {
if (this.logger.isTraceEnabled())

View File

@ -32,11 +32,17 @@ public class ExampleJavaScriptRootObject extends BaseProcessorExtension {
@Autowired
protected ServiceRegistry serviceRegistry;
/**
* An example method that called from within a JavaScript within the ACS
* application: `example.getMessage("example.property")`. All simple
* parameter and return types are generally supported.
*
* The `example` root name comes from the `module-context.xml` file.
*/
public String getMessage(String messageKey) {
if (this.logger.isTraceEnabled())
this.logger.trace("getMessage('" + messageKey + "')");
// just and example method, called in JS with: example.getMessage("example.property");
return this.serviceRegistry.getDictionaryService().getMessage(messageKey);
}

View File

@ -1,9 +1,10 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<webscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://bitbucket.org/!api/2.0/snippets/inteligr8/AzMgbp/HEAD/files/snippet.txt">
<shortname>Example Webscript</shortname>
<description>Example Java-backed webscript description</description>
<url>/exampleJava?paramName={paramValue}</url>
<authentication>user</authentication>
<format default="json"></format>
<family>${shortname}</family>
<url>/exampleJava?paramName={paramValue}</url>
<format default="json"></format>
<authentication>user</authentication>
</webscript>

View File

@ -1,9 +1,10 @@
<!-- Documentation: https://docs.alfresco.com/content-services/6.2/develop/reference/web-scripts-ref -->
<webscript>
<webscript xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://bitbucket.org/!api/2.0/snippets/inteligr8/AzMgbp/HEAD/files/snippet.txt">
<shortname>Example Webscript</shortname>
<description>Example JS-backed webscript description</description>
<url>/exampleJs?paramName={paramValue}</url>
<authentication>guest</authentication>
<format default="json"></format>
<family>${shortname}</family>
<url>/exampleJs?paramName={paramValue}</url>
<format default="json"></format>
<authentication>guest</authentication>
</webscript>

View File

@ -0,0 +1,8 @@
# Module debugging
logger.example.level=trace
# WebScript debugging
logger.springframework-extensions-webscripts-ScriptLogger.level=debug
# non-WebScript JavaScript execution debugging
logger.alfresco-repo-jscript-ScriptLogger.level=debug

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -31,7 +31,7 @@
<!-- This plugin downloads ancillary WARs -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the API Explorer WAR -->
<execution>
@ -73,7 +73,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-acs-platform</id>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the Platform JAR-based extension modules and runtime/test dependencies -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency JARs, including JAR modules -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -31,7 +31,7 @@
<!-- This plugin downloads the Platform JAR-based extension modules and runtime/test dependencies -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency JARs, including JAR modules -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -52,19 +52,12 @@ This tile is meant to be used in conjunction with the `beedk-acs-platform-it-til
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-search.version` | | *not important* | The version of the [Alfresco Search Services Docker Image](https://hub.docker.com/r/alfresco/alfresco-search-services/tags). |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-search-test-tile)
## Results

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -24,7 +24,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>start-acs-search</id>
@ -81,9 +80,6 @@
</property>
</activation>
<properties>
<!-- versions -->
<acs-search.version>2.0.1</acs-search.version>
<!-- configuring beedk-acs-platform-it-tile -->
<!-- this tells the platform module to enable solr6 indexing -->
<beedk.deploy.acs-search.enabled>true</beedk.deploy.acs-search.enabled>

View File

@ -60,13 +60,13 @@ The following properties are intended to be exposed by inheriting Public API Mav
| Maven Property | Required | Default | Description |
| -------------------- |:--------:| --------------- | ----------- |
| `acs-search.port` | | 8983 | The port to expose on `localhost` for the developer; not for other applications or users. |
| `acs-search.version` | | *not important* | The version of the [Alfresco Search Services Docker Image](https://hub.docker.com/r/alfresco/alfresco-search-services/tags). |
### Other APIs
Additional less important configurations are inherited from the following Maven Tiles.
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-run-tile)
* [`beedk-run-tile`](/inteligr8/ootbee-beedk/src/stable/beedk-acs-search-test-tile)
## Results

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -32,7 +32,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-acs-search</id>
@ -79,9 +78,6 @@
<properties>
<!-- configurable -->
<acs-search.port>8983</acs-search.port>
<!-- versions -->
<acs-search.version>2.0.1</acs-search.version>
<!-- configuring beedk-acs-platform-rad-tile -->
<!-- this tells the platform module to enable solr6 indexing -->
@ -93,6 +89,8 @@
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-run-tile -->
<tile>@project.groupId@:beedk-run-tile:@project.version@</tile>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-acs-search-test-tile -->
<tile>@project.groupId@:beedk-acs-search-test-tile:@project.version@</tile>
</tiles>
</project>

9
beedk-acs-search-test-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,19 @@
# BeeDK Alfresco Search Services Maven Tile for Tests
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 Alfresco Search Services for the integration testing of any ACS module, extension, service, or web application.
## 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-search.version` | | *not important* | The version of the [Alfresco Search Services Docker Image](https://hub.docker.com/r/alfresco/alfresco-search-services/tags). |

View File

@ -0,0 +1,55 @@
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>beedk-acs-search-test-tile</artifactId>
<packaging>tile</packaging>
<parent>
<groupId>com.inteligr8.ootbee</groupId>
<artifactId>beedk-parent</artifactId>
<version>1.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<name>Order of the Bee Development Kit: Testing for Alfresco Search Services</name>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
<licenses>
<license>
<name>GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:https://bitbucket.org/inteligr8/ootbee-beedk.git</connection>
<developerConnection>scm:git:git@bitbucket.org:inteligr8/ootbee-beedk.git</developerConnection>
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
</scm>
<organization>
<name>Order of the Bee</name>
<url>https://orderofthebee.net</url>
</organization>
<developers>
<developer>
<id>brian.long</id>
<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>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*
-->
<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>default-props</id>
<activation>
<property>
<name>!some-prop-that-never-exists</name>
</property>
</activation>
<properties>
<!-- versions -->
<acs-search.version>2.0.8.1</acs-search.version>
</properties>
</profile>
</profiles>
</project>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -31,7 +31,7 @@
<!-- This plugin downloads the Share WAR -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the Share WAR -->
<execution>

View File

@ -49,7 +49,7 @@
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
<version>${archetype-packaging.version}</version>
</extension>
</extensions>
</build>

View File

@ -49,7 +49,7 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<tiles>
@ -68,20 +68,9 @@
</build>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>inteligr8-releases</id>
<url>http://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@ -5,27 +5,27 @@ function discoverArtifactId {
function rebuild {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-classes
mvn -Drad "-Ddocker.showLogs" process-test-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop (docker container ls -q --filter name=${ARTIFACT_ID}-*)
docker container stop (docker container ls -q --filter name="^/${ARTIFACT_ID}")
echo "Removing containers ..."
docker container rm (docker container ls -aq --filter name=${ARTIFACT_ID}-*)
docker container rm (docker container ls -aq --filter name="^/${ARTIFACT_ID}")
}
function tail_logs {
@ -34,12 +34,12 @@ function tail_logs {
)
discoverArtifactId
docker container logs -f (docker container ls -q --filter name=${ARTIFACT_ID}-${container})
docker container logs -f (docker container ls -q --filter name="^/${ARTIFACT_ID}-${container}$")
}
function list {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
switch ($args[0]) {

View File

@ -1,42 +1,42 @@
#!/bin/sh
discoverArtifactId() {
ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
local ARTIFACT_ID=`mvn -q -Dexpression=project.artifactId -DforceStdout help:evaluate`
}
rebuild() {
echo "Rebuilding project ..."
mvn process-classes
mvn process-test-classes
}
start() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-classes
mvn -Drad process-test-classes
}
start_log() {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad -Ddocker.showLogs process-classes
mvn -Drad -Ddocker.showLogs process-test-classes
}
stop() {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop `docker container ls -q --filter name=${ARTIFACT_ID}-*`
docker container stop `docker container ls -q --filter name="^/${ARTIFACT_ID}"`
echo "Removing containers ..."
docker container rm `docker container ls -aq --filter name=${ARTIFACT_ID}-*`
docker container rm `docker container ls -aq --filter name="^/${ARTIFACT_ID}"`
}
tail_logs() {
discoverArtifactId
docker container logs -f `docker container ls -q --filter name=${ARTIFACT_ID}-$1`
docker container logs -f `docker container ls -q --filter name="^/${ARTIFACT_ID}-$1$"`
}
list() {
discoverArtifactId
docker container ls --filter name=${ARTIFACT_ID}-*
docker container ls --filter name="^/${ARTIFACT_ID}"
}
case "$1" in

View File

@ -0,0 +1,74 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
###### File appender definition #######
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=share.log
appender.rolling.filePattern=share.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type=TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval=1
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.freemarker-runtime.name=freemarker.runtime
logger.freemarker-runtime.level=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
logger.example.name=${package}
logger.example.level=debug

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -77,7 +77,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>run-acs-share</id>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the Share JAR-based extension modules and runtime/test dependencies -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency JARs, including JAR modules -->
<execution>
@ -87,7 +87,6 @@
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${beedk.plugins.fabric8.docker.version}</version>
<executions>
<execution>
<id>start-acs-share</id>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -31,7 +31,7 @@
<!-- This plugin downloads the Share JAR-based extension modules -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency JARs, including JAR modules -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the dependency AMPs -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency AMPs in the 'compile' and 'runtime' scopes -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the dependency AMPs -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency AMPs in the `compile`, `runtime`, and `test' scopes -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -36,7 +36,7 @@
<!-- This plugin downloads the dependency AMPs -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency AMPs in the `compile`, `runtime`, and `test' scopes -->
<execution>

View File

@ -50,7 +50,7 @@ The following properties are intended to be exposed by inheriting Public API Mav
| `alfresco.war.groupId` | | `org.alfresco` | The Maven `groupId` of a Maven `war` Type Project defined in a Maven Repository. |
| `alfresco.war.artifactId` | **YES** | | The Maven `artifactId` of a Maven `war` Type Project defined in a Maven Repository. |
| `alfresco.war.version` | **YES** | | The Maven `version` of a Maven `war` Type Project defined in a Maven Repository. |
| `project.build.warDirectory` | | `${project.build.directory}/war` | This is where WARs are temporarily copied during the build process. |
| `project.build.warDirectory` | | `${project.build.directory}/war` | This is where WARs are temporarily copied during the build process. |
### Private API
@ -59,6 +59,7 @@ The following properties are only intended to be defined by BeeDK components.
| Maven Property | Required | Default | Description |
| ---------------------------- |:--------:| ----------------- | ----------- |
| `beedk.download.war.phase` | | `prepare-package` | The Maven `phase` of when the WAR should be downloaded, copied, or otherwise prepared for packaging. If packaging for integration testing, you will want this to be `pre-integration-test`. |
| `beedk.download.war.skip` | | `true` | Skip the download of the WAR; only enabled when WAR will be used. |
## Results

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -23,7 +23,7 @@
<!-- This plugin downloads the parameterized WAR -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the parameterized WAR -->
<execution>

View File

@ -49,11 +49,6 @@
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.26</version>
<extensions>true</extensions>
<configuration>
<filtering>true</filtering>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -48,7 +48,7 @@
<!-- This plugin downloads the Platform JAR-based extension modules and runtime/test dependencies -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<version>3.6.1</version>
<executions>
<!-- This execution downloads the dependency JARs, including JAR modules -->
<execution>

View File

@ -49,7 +49,7 @@
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>3.1.1</version>
<version>${archetype-packaging.version}</version>
</extension>
</extensions>
</build>

View File

@ -15,8 +15,8 @@
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<activiti.version>5.23.0</activiti.version>
<spring.version>4.3.20.RELEASE</spring.version>
<activiti.version>7.11.0</activiti.version>
<spring.version>5.3.29</spring.version>
</properties>
<dependencies>
@ -33,6 +33,39 @@
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.40</version>
<extensions>true</extensions>
<configuration>
<tiles>
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-aps-ext-rad-tile -->
<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:1.1-SNAPSHOT</tile>
</tiles>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>rad</id>
<activation>
<property>
<name>rad</name>
</property>
</activation>
<properties>
<aps.version>2.4.1</aps.version>
<!-- add properties here -->
<aps.tomcat.opts>-Dproperty-to-set=value</aps.tomcat.opts>
</properties>
</profile>
</profiles>
<repositories>
<repository>

View File

@ -0,0 +1,74 @@
function discoverArtifactId {
$script:ARTIFACT_ID=(mvn -q -Dexpression=project"."artifactId -DforceStdout help:evaluate)
}
function rebuild {
echo "Rebuilding project ..."
mvn process-test-classes
}
function start_ {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad process-test-classes
}
function start_log {
echo "Rebuilding project and starting Docker containers to support rapid application development ..."
mvn -Drad "-Ddocker.showLogs" process-test-classes
}
function stop_ {
discoverArtifactId
echo "Stopping Docker containers that supported rapid application development ..."
docker container ls --filter name="^/${ARTIFACT_ID}"
echo "Stopping containers ..."
docker container stop (docker container ls -q --filter name="^/${ARTIFACT_ID}")
echo "Removing containers ..."
docker container rm (docker container ls -aq --filter name="^/${ARTIFACT_ID}")
}
function tail_logs {
param (
$container
)
discoverArtifactId
docker container logs -f (docker container ls -q --filter name="^/${ARTIFACT_ID}-${container}$")
}
function list {
discoverArtifactId
docker container ls --filter name="^/${ARTIFACT_ID}"
}
switch ($args[0]) {
"start" {
start_
}
"start_log" {
start_log
}
"stop" {
stop_
}
"restart" {
stop_
start_
}
"rebuild" {
rebuild
}
"tail" {
tail_logs $args[1]
}
"containers" {
list
}
default {
echo "Usage: .\rad.ps1 [ start | start_log | stop | restart | rebuild | tail {container} | containers ]"
}
}
echo "Completed!"

Some files were not shown because too many files have changed in this diff Show More