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

Merge branch 'develop' into stable

parents 32209000 e1cd5245
Loading
Loading
Loading
Loading
+7 −58
Original line number Diff line number Diff line
@@ -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.

#### Plugin Repository

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.

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>
```
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.

#### 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>
```
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.

### Components
### Modules

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
+1 −1
Original line number Diff line number Diff line
@@ -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>
+1 −1
Original line number Diff line number Diff line
@@ -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 -->
+8 −8
Original line number Diff line number Diff line
@@ -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]) {
+9 −9
Original line number Diff line number Diff line
#!/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
Loading