Commit cd643e49 authored by Brian Long's avatar Brian Long
Browse files

added `beedk-activiti-ext-tile`

parent a20f9517
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -60,8 +60,8 @@
				<extensions>true</extensions>
				<configuration>
					<tiles>
						<!-- Documentation: https://git.inteligr8.com/inteligr8/ootbee-beedk/src/branch/stable/beedk-aps-ext-rad-tile -->
						<tile>com.inteligr8.ootbee:beedk-aps-ext-rad-tile:1.1-SNAPSHOT</tile>
						<!-- Documentation: https://git.inteligr8.com/inteligr8/ootbee-beedk/src/branch/stable/beedk-activiti-ext-tile -->
						<tile>com.inteligr8.ootbee:beedk-activiti-ext-tile:${beedkVersion}</tile>
					</tiles>
				</configuration>
			</plugin>
@@ -90,10 +90,5 @@
			<id>activiti-public-releases</id>
			<url>https://artifacts.alfresco.com/nexus/repository/activiti-releases</url>
		</repository>
		<!-- Used when performing optional RAD and integration testing -->
		<repository>
			<id>activiti-enterprise-releases</id>
			<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
		</repository>
    </repositories>
</project>
 No newline at end of file
+9 −0
Original line number Diff line number Diff line
# Eclipse
.project
.classpath
.settings

# Maven
pom.xml.versionsBackup
target
+62 −0
Original line number Diff line number Diff line
# BeeDK Activiti Extension Maven Tile

This is a component within the proposed [BeeDK](/inteligr8/ootbee-beedk).  It is considered to be part of the **Public API** of the BeeDK.

## Purpose

This project creates a [Maven Tile](https://github.com/repaint-io/maven-tiles) that assists with the building of any Activiti 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://git.inteligr8.com/inteligr8/ootbee-beedk/src/branch/stable/beedk-activiti-ext-tile -->
						<tile>com.inteligr8.ootbee:beedk-activiti-ext-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 |
| ---------------------------- |:--------:| --------------- | ----------- |
| `activiti.shaded.classifier` |          | `bundle`        | |
| `activiti.apidoc.name`       |          | *project name*  | |
| `activiti.apidoc.title`      |          | Activiti API Documentation | |

### Plugin Versions

| Maven Property                     |
| ---------------------------------- |
| `activiti-api-doclet.version`      |
| `maven-clean-plugin.version`       |
| `maven-javadoc-plugin.version`     |
| `maven-shade-plugin.version`       |
| `flatten-maven-plugin.version`     |
+55 −0
Original line number Diff line number Diff line
<?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-activiti-ext-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: Activiti Extension</name>
	<url>https://git.inteligr8.com/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://git.inteligr8.com/inteligr8/ootbee-beedk.git</connection>
		<developerConnection>scm:git:git@git.inteligr8.com:inteligr8/ootbee-beedk.git</developerConnection>
		<url>https://git.inteligr8.com/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>
+132 −0
Original line number Diff line number Diff line
<?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://git.inteligr8.com/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>
				<!-- functional -->
				<activiti.shaded.classifier>bundle</activiti.shaded.classifier>
				<activiti.apidoc.name>@project.name@</activiti.apidoc.name>
				<activiti.apidoc.title>Activiti API Documentation</activiti.apidoc.title>

				<!-- versioning -->
				<activiti-api-doclet.version>1.1.1</activiti-api-doclet.version>
				<maven-clean-plugin.version>@maven-clean-plugin.version@</maven-clean-plugin.version>
				<maven-javadoc-plugin.version>@maven-javadoc-plugin.version@</maven-javadoc-plugin.version>
				<maven-shade-plugin.version>@maven-shade-plugin.version@</maven-shade-plugin.version>
				<flatten-maven-plugin.version>@flatten-maven-plugin.version@</flatten-maven-plugin.version>
			</properties>
		</profile>
		<profile>
			<id>apidoc</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-clean-plugin</artifactId>
						<version>${maven-clean-plugin.version}</version>
						<configuration>
							<filesets>
								<fileset>
									<directory>${basedir}/apidocs</directory>
								</fileset>
							</filesets>
						</configuration>
					</plugin>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>${maven-javadoc-plugin.version}</version>
						<executions>
							<execution>
								<id>generate-doclet</id>
								<phase>generate-resources</phase>
								<goals>
									<goal>javadoc</goal>
								</goals>
								<configuration>
									<sourceFileIncludes>**/*.java</sourceFileIncludes>
									<doclet>com.inteligr8.activiti.doclet.ActivitiDoclet</doclet>
									<docletArtifact>
										<groupId>com.inteligr8.activiti</groupId>
										<artifactId>activiti-api-doclet</artifactId>
										<version>${activiti-api-doclet.version}</version>
									</docletArtifact>
									<useStandardDocletOptions>false</useStandardDocletOptions>
									<outputDirectory>${basedir}</outputDirectory>
									<additionalOptions>
										<additionalOption>--apiName '${activiti.apidoc.name}'</additionalOption>
										<additionalOption>--title '${activiti.apidoc.title}'</additionalOption>
									</additionalOptions>

									<!-- this is required in JDKs before v23 -->
									<disableNoFonts>true</disableNoFonts>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>bundle</id>
			<build>
				<plugins>
					<!-- This allows other depending projects to not bundle duplicate libraries -->
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>flatten-maven-plugin</artifactId>
						<version>${flatten-maven-plugin.version}</version>
						<executions>
							<execution>
								<id>flatten-pom</id>
								<phase>process-resources</phase>
							</execution>
						</executions>
					</plugin>
					<!-- this is the bundling -->
					<plugin>
						<artifactId>maven-shade-plugin</artifactId>
						<version>${maven-shade-plugin.version}</version>
						<executions>
							<execution>
								<id>shade-deps</id>
								<phase>package</phase>
								<goals><goal>shade</goal></goals>
								<configuration>
									<shadedArtifactAttached>true</shadedArtifactAttached>
									<shadedClassifierName>${activiti.shaded.classifier}</shadedClassifierName>
									
									<!-- This allows other depending projects to not bundle duplicate libraries -->
									<createDependencyReducedPom>false</createDependencyReducedPom>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
Loading