initial checkin
This commit is contained in:
9
beedk-acs-module-tile/.gitignore
vendored
Normal file
9
beedk-acs-module-tile/.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
# Eclipse
|
||||
.project
|
||||
.classpath
|
||||
.settings
|
||||
|
||||
# Maven
|
||||
pom.xml.versionsBackup
|
||||
target
|
||||
|
68
beedk-acs-module-tile/README.md
Normal file
68
beedk-acs-module-tile/README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# BeeDK ACS Module Maven Tile
|
||||
|
||||
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 any ACS module or extension.
|
||||
|
||||
## 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-module-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-acs-module-tile:[1.0.0,2.0.0)</tile>
|
||||
...
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
...
|
||||
</plugins>
|
||||
...
|
||||
</build>
|
||||
...
|
||||
</project>
|
||||
```
|
||||
|
||||
## 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 |
|
||||
| ---------------------------------- |:--------:| ------------------ | ----------- |
|
||||
| `project.build.packageDirectory` | | `target/package` | A variable specifying the folder name of consolidated resources for packaging. |
|
||||
| `alfresco.module.pathname` | | `${project.groupId}.${project.artifactId}` | A variable specifying the folder name of module resources. Use this property to help reference module resources. It should rarely ever be overridden. |
|
||||
|
||||
## Results
|
||||
|
||||
This Maven Tile will result in the definition of the following Maven properties during the respective Maven phase.
|
||||
|
||||
| Property | Data Type | Phase | Description |
|
||||
| ---------------------------- |:---------:|:------------:| ----------- |
|
||||
| `alfresco.module.path` | Text | *At startup* | The classpath to the module resources: `alfresco/module/${alfresco.module.pathname}` |
|
||||
|
||||
## Initialization
|
||||
|
||||
This tile comes with the ability to initialize your project with the required file(s) of an ACS module. You can do this by executing any Maven build with the `scaffold` property.
|
||||
|
||||
```sh
|
||||
mvn -Dscaffold generate-sources
|
||||
```
|
47
beedk-acs-module-tile/pom.xml
Normal file
47
beedk-acs-module-tile/pom.xml
Normal file
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.inteligr8.ootbee</groupId>
|
||||
<artifactId>beedk-acs-module-tile</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>tile</packaging>
|
||||
|
||||
<name>Order of the Bee Development Kit: ACS Module Core</name>
|
||||
<scm>
|
||||
<url>https://bitbucket.org/inteligr8/ootbee-beedk</url>
|
||||
</scm>
|
||||
<organization>
|
||||
<name>Order of the Bee</name>
|
||||
<url>https://orderofthebee.net</url>
|
||||
</organization>
|
||||
<developers>
|
||||
<developer>
|
||||
<name>Brian Long</name>
|
||||
<email>brian@inteligr8.com</email>
|
||||
<organization>Inteligr8</organization>
|
||||
<organizationUrl>https://www.inteligr8.com</organizationUrl>
|
||||
<url>https://twitter.com/brianmlong</url>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.repaint.maven</groupId>
|
||||
<artifactId>tiles-maven-plugin</artifactId>
|
||||
<version>2.20</version>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<tiles>
|
||||
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
|
||||
</tiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
257
beedk-acs-module-tile/tile.xml
Normal file
257
beedk-acs-module-tile/tile.xml
Normal file
@@ -0,0 +1,257 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://tiles.bluetrainsoftware.com/maven/tiles/1.1.0 https://bitbucket.org/inteligr8/maven-tiles/raw/xsd/src/main/resources/maven-tiles.xsd">
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<!-- need to override default resources, even though this shows up in the build-helper too -->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-acs-module-resources</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals><goal>add-resource</goal></goals>
|
||||
<configuration>
|
||||
<resources>
|
||||
<!-- copy & filter all the resource files -->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
<!-- copy & filter the contents of a convenient module folder -->
|
||||
<resource>
|
||||
<directory>src/main/module</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
<targetPath>${project.build.directory}/module-classes/${alfresco.module.path}</targetPath>
|
||||
</resource>
|
||||
<!-- copy & filter the contents of standard web to web output -->
|
||||
<resource>
|
||||
<directory>src/main/web</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
<targetPath>${project.build.directory}/web-resources/META-INF</targetPath>
|
||||
</resource>
|
||||
<!-- copy & filter the contents of standard webapp to web output -->
|
||||
<resource>
|
||||
<directory>src/main/webapp</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
<targetPath>${project.build.directory}/web-resources/META-INF</targetPath>
|
||||
</resource>
|
||||
<!-- copy & filter the contents of Alfresco SDK assembly/web to web output -->
|
||||
<resource>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
<filtering>true</filtering>
|
||||
<excludes>
|
||||
<exclude>**/README*</exclude>
|
||||
</excludes>
|
||||
<targetPath>${project.build.directory}/web-resources/META-INF</targetPath>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- This plugin prevents binary file formats from being corrupted due to filtering -->
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<nonFilteredFileExtensions>
|
||||
<!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
<executions>
|
||||
<!-- This plugin execution consolidates the compiled/generated/filtered resources into one directory for packaging -->
|
||||
<execution>
|
||||
<id>consolidate-resources</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals><goal>copy-resources</goal></goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.packageDirectory}</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${project.build.outputDirectory}</directory>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/module-classes</directory>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.build.directory}/web-resources</directory>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- This plugin minifies (compresses) JavaScript files -->
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>yuicompressor-maven-plugin</artifactId>
|
||||
<version>1.5.1</version>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>**/webscripts/**</exclude>
|
||||
<exclude>**/site-webscripts/**</exclude>
|
||||
<exclude>**/*.lib.js</exclude>
|
||||
<exclude>**/*.css</exclude>
|
||||
<exclude>**/*-min.js</exclude>
|
||||
<exclude>**/*-min.css</exclude>
|
||||
<exclude>**/*.min.js</exclude>
|
||||
<exclude>**/*.pack.js</exclude>
|
||||
</excludes>
|
||||
<excludeResources>true</excludeResources>
|
||||
<force>true</force>
|
||||
<jswarn>false</jswarn>
|
||||
</configuration>
|
||||
<executions>
|
||||
<!-- This execution compresses the JavaScript files in the compiled classes folder -->
|
||||
<execution>
|
||||
<id>compress-resources</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>compress</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sourceDirectory>${project.build.packageDirectory}</sourceDirectory>
|
||||
<outputDirectory>${project.build.packageDirectory}</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- This plugin changes the packaging directory to the consolidated directory -->
|
||||
<plugin>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.2.0</version>
|
||||
<configuration>
|
||||
<classesDirectory>${project.build.packageDirectory}</classesDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<!-- This plugin builds an AMP file during the package phase -->
|
||||
<plugin>
|
||||
<groupId>com.inteligr8.alfresco</groupId>
|
||||
<artifactId>amp-plugin</artifactId>
|
||||
<version>1.0.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>build-amp-file</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>amp</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${beedk.jar.notest.empty}</skip>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>scaffold-acs-module</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>scaffold</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- This plugin downloads the required configurations for all modules -->
|
||||
<plugin>
|
||||
<groupId>com.googlecode.maven-download-plugin</groupId>
|
||||
<artifactId>download-maven-plugin</artifactId>
|
||||
<version>1.6.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>download-module-props</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>wget</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<url>https://raw.githubusercontent.com/Alfresco/alfresco-sdk/alfresco-sdk-aggregator-${alfresco.sdk.version}/archetypes/alfresco-platform-jar-archetype/src/main/resources/archetype-resources/src/main/resources/alfresco/module/__artifactId__/module.properties</url>
|
||||
<outputDirectory>${basedir}/src/main/module</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.packageDirectory>${project.build.directory}/package</project.build.packageDirectory>
|
||||
<alfresco.module.pathname>${project.groupId}.${project.artifactId}</alfresco.module.pathname>
|
||||
|
||||
<!-- output -->
|
||||
<alfresco.module.path>alfresco/module/${alfresco.module.pathname}</alfresco.module.path>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<tiles>
|
||||
<!-- Documentation: https://bitbucket.org/inteligr8/ootbee-beedk/src/stable/beedk-amp-check-tile -->
|
||||
<tile>com.inteligr8.ootbee:beedk-amp-check-tile:1.0-SNAPSHOT</tile>
|
||||
</tiles>
|
||||
|
||||
</project>
|
Reference in New Issue
Block a user