You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/10/28 10:19:45 UTC
[isis] 03/04: ISIS-2094: separates mixins from mavendeps
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 9ccb865a72d23adf26fb1228a17304d233fd045d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Oct 28 09:56:17 2019 +0000
ISIS-2094: separates mixins from mavendeps
and makes them inherit from core, for deployment stuff
---
core/pom.xml | 3 +-
examples/apps/demo/pom.xml | 8 +-
examples/pom.xml | 16 +-
mavendeps/_adoc/antora.yml | 2 +-
mavendeps/_adoc/modules/ROOT/pages/about.adoc | 3 +-
mavendeps/intellij/pom.xml | 2 -
mavendeps/pom.xml | 4 -
mavendeps/testing/pom.xml | 1 -
mavendeps/webapp/pom.xml | 1 -
{mavendeps => mixins}/_adoc/antora.yml | 2 +-
mixins/_adoc/modules/ROOT/_attributes.adoc | 6 +
mixins/_adoc/modules/ROOT/attachments/.gitkeep | 0
mixins/_adoc/modules/ROOT/examples/.gitkeep | 0
mixins/_adoc/modules/ROOT/images/.gitkeep | 0
mixins/_adoc/modules/ROOT/nav.adoc | 4 +
mixins/_adoc/modules/ROOT/pages/_attributes.adoc | 4 +
.../_adoc/modules/ROOT/pages/about.adoc | 1 +
.../_adoc/modules/ROOT/partials/_attributes.adoc | 4 +
mixins/datanucleus-enhance/pom.xml | 111 +++++++++++++
mixins/docker/pom.xml | 136 +++++++++++++++
{mavendeps => mixins}/pom.xml | 23 ++-
mixins/standard/pom.xml | 142 ++++++++++++++++
mixins/surefire/pom.xml | 183 +++++++++++++++++++++
23 files changed, 619 insertions(+), 37 deletions(-)
diff --git a/core/pom.xml b/core/pom.xml
index e1001ec..b12dd1d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -2487,7 +2487,8 @@
<modules>
<module>../supplemental-model</module>
-
+ <module>../mixins</module>
+
<module>schema</module>
<module>commons</module>
<module>config</module>
diff --git a/examples/apps/demo/pom.xml b/examples/apps/demo/pom.xml
index cfbec9b..ee540d8 100644
--- a/examples/apps/demo/pom.xml
+++ b/examples/apps/demo/pom.xml
@@ -228,19 +228,19 @@
<mixins>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-standard</artifactId>
+ <artifactId>isis-mixin-standard</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-datanucleus-enhance</artifactId>
+ <artifactId>isis-mixin-datanucleus-enhance</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-surefire</artifactId>
+ <artifactId>isis-mixin-surefire</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-docker</artifactId>
+ <artifactId>isis-mixin-docker</artifactId>
</mixin>
</mixins>
</configuration>
diff --git a/examples/pom.xml b/examples/pom.xml
index 571278a..648c152 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -151,19 +151,19 @@
<mixins>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-standard</artifactId>
+ <artifactId>isis-mixin-standard</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-datanucleus-enhance</artifactId>
+ <artifactId>isis-mixin-datanucleus-enhance</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-surefire</artifactId>
+ <artifactId>isis-mixin-surefire</artifactId>
</mixin>
<mixin>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-docker</artifactId>
+ <artifactId>isis-mixin-docker</artifactId>
</mixin>
</mixins>
</configuration>
@@ -289,25 +289,25 @@
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-standard</artifactId>
+ <artifactId>isis-mixin-standard</artifactId>
<version>${isis.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-datanucleus-enhance</artifactId>
+ <artifactId>isis-mixin-datanucleus-enhance</artifactId>
<version>${isis.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-surefire</artifactId>
+ <artifactId>isis-mixin-surefire</artifactId>
<version>${isis.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps-mixin-docker</artifactId>
+ <artifactId>isis-mixin-docker</artifactId>
<version>${isis.version}</version>
<type>pom</type>
</dependency>
diff --git a/mavendeps/_adoc/antora.yml b/mavendeps/_adoc/antora.yml
index a316213..9e6a8f6 100644
--- a/mavendeps/_adoc/antora.yml
+++ b/mavendeps/_adoc/antora.yml
@@ -1,5 +1,5 @@
name: mavendeps
-title: Maven Mixins
+title: Maven Dependencies
version: master
start_page: ROOT:about.adoc
nav:
diff --git a/mavendeps/_adoc/modules/ROOT/pages/about.adoc b/mavendeps/_adoc/modules/ROOT/pages/about.adoc
index a8fab1c..a7a7407 100644
--- a/mavendeps/_adoc/modules/ROOT/pages/about.adoc
+++ b/mavendeps/_adoc/modules/ROOT/pages/about.adoc
@@ -1,3 +1,4 @@
-= Maven Mixins
+= Maven Dependencies
include::_attributes.adoc[]
+TODO: to document
diff --git a/mavendeps/intellij/pom.xml b/mavendeps/intellij/pom.xml
index b6b821e..ee6fc22 100644
--- a/mavendeps/intellij/pom.xml
+++ b/mavendeps/intellij/pom.xml
@@ -20,12 +20,10 @@
<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>
-
<parent>
<groupId>org.apache.isis.mavendeps</groupId>
<artifactId>isis-mavendeps</artifactId>
<version>${revision}</version>
- <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>isis-mavendeps-intellij</artifactId>
diff --git a/mavendeps/pom.xml b/mavendeps/pom.xml
index 05854e2..e2633b2 100644
--- a/mavendeps/pom.xml
+++ b/mavendeps/pom.xml
@@ -155,10 +155,6 @@
<module>intellij</module>
<module>testing</module>
<module>webapp</module>
- <module>mixin-standard</module>
- <module>mixin-surefire</module>
- <module>mixin-datanucleus-enhance</module>
- <module>mixin-docker</module>
</modules>
</project>
diff --git a/mavendeps/testing/pom.xml b/mavendeps/testing/pom.xml
index 68cf4ae..9d04c42 100644
--- a/mavendeps/testing/pom.xml
+++ b/mavendeps/testing/pom.xml
@@ -19,7 +19,6 @@
<groupId>org.apache.isis.mavendeps</groupId>
<artifactId>isis-mavendeps</artifactId>
<version>${revision}</version>
- <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>isis-mavendeps-testing</artifactId>
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index 9c92778..27df075 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -19,7 +19,6 @@
<groupId>org.apache.isis.mavendeps</groupId>
<artifactId>isis-mavendeps</artifactId>
<version>${revision}</version>
- <relativePath>../pom.xml</relativePath>
</parent>
<artifactId>isis-mavendeps-webapp</artifactId>
diff --git a/mavendeps/_adoc/antora.yml b/mixins/_adoc/antora.yml
similarity index 85%
copy from mavendeps/_adoc/antora.yml
copy to mixins/_adoc/antora.yml
index a316213..789546f 100644
--- a/mavendeps/_adoc/antora.yml
+++ b/mixins/_adoc/antora.yml
@@ -1,4 +1,4 @@
-name: mavendeps
+name: mixins
title: Maven Mixins
version: master
start_page: ROOT:about.adoc
diff --git a/mixins/_adoc/modules/ROOT/_attributes.adoc b/mixins/_adoc/modules/ROOT/_attributes.adoc
new file mode 100644
index 0000000..43cb529
--- /dev/null
+++ b/mixins/_adoc/modules/ROOT/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/images
+:partialsdir: {moduledir}/partials
+endif::[]
diff --git a/mixins/_adoc/modules/ROOT/attachments/.gitkeep b/mixins/_adoc/modules/ROOT/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/mixins/_adoc/modules/ROOT/examples/.gitkeep b/mixins/_adoc/modules/ROOT/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/mixins/_adoc/modules/ROOT/images/.gitkeep b/mixins/_adoc/modules/ROOT/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/mixins/_adoc/modules/ROOT/nav.adoc b/mixins/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..11a6b3a
--- /dev/null
+++ b/mixins/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,4 @@
+* xref:about.adoc[About]
+
+
+
diff --git a/mixins/_adoc/modules/ROOT/pages/_attributes.adoc b/mixins/_adoc/modules/ROOT/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/mixins/_adoc/modules/ROOT/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/mavendeps/_adoc/modules/ROOT/pages/about.adoc b/mixins/_adoc/modules/ROOT/pages/about.adoc
similarity index 72%
copy from mavendeps/_adoc/modules/ROOT/pages/about.adoc
copy to mixins/_adoc/modules/ROOT/pages/about.adoc
index a8fab1c..490143a 100644
--- a/mavendeps/_adoc/modules/ROOT/pages/about.adoc
+++ b/mixins/_adoc/modules/ROOT/pages/about.adoc
@@ -1,3 +1,4 @@
= Maven Mixins
include::_attributes.adoc[]
+TODO: to document
\ No newline at end of file
diff --git a/mixins/_adoc/modules/ROOT/partials/_attributes.adoc b/mixins/_adoc/modules/ROOT/partials/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/mixins/_adoc/modules/ROOT/partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/mixins/datanucleus-enhance/pom.xml b/mixins/datanucleus-enhance/pom.xml
new file mode 100644
index 0000000..65766ce
--- /dev/null
+++ b/mixins/datanucleus-enhance/pom.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+<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>
+
+ <parent>
+ <groupId>org.apache.isis.mixins</groupId>
+ <artifactId>isis-mixins</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>isis-mixin-datanucleus-enhance</artifactId>
+ <version>${revision}</version>
+
+ <packaging>pom</packaging>
+
+ <name>Apache Isis Maven Mixin - Datanucleus Enhance Mixin</name>
+ <description>
+ Maven mixin providing the ability to run datanucleus:enhance on JDO/DN entities.
+ </description>
+
+ <properties>
+ <revision>2.0.0-M3-SNAPSHOT</revision>
+ </properties>
+
+ <profiles>
+ <profile>
+ <id>mavenmixin-datanucleusenhance</id>
+ <activation>
+ <file>
+ <exists>${basedir}/logging-dn-enhance.properties</exists>
+ </file>
+ </activation>
+ <properties>
+
+ <datanucleus-maven-plugin.version>5.2.1</datanucleus-maven-plugin.version>
+ <datanucleus-api-jdo.version>5.2.1</datanucleus-api-jdo.version>
+ <datanucleus-core.version>5.2.1</datanucleus-core.version>
+ <datanucleus-jodatime.version>5.2.0-release</datanucleus-jodatime.version>
+
+ <datanucleus-maven-plugin.log4jConfiguration>${basedir}/logging-dn-enhance.properties</datanucleus-maven-plugin.log4jConfiguration>
+ <datanucleus-maven-plugin.verbose>true</datanucleus-maven-plugin.verbose>
+ <datanucleus-maven-plugin.fork>false</datanucleus-maven-plugin.fork>
+
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-maven-plugin</artifactId>
+ <version>${datanucleus-maven-plugin.version}</version>
+ <configuration>
+ <fork>${datanucleus-maven-plugin.fork}</fork>
+ <log4jConfiguration>${datanucleus-maven-plugin.log4jConfiguration}</log4jConfiguration>
+ <verbose>${datanucleus-maven-plugin.verbose}</verbose>
+ </configuration>
+ <executions>
+ <execution>
+ <id>process-classes</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>process-test-classes</id>
+ <phase>process-test-classes</phase>
+ <goals>
+ <goal>enhance</goal>
+ </goals>
+ <configuration>
+ <metadataDirectory>${project.build.testOutputDirectory}</metadataDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-core</artifactId>
+ <version>${datanucleus-core.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-api-jdo</artifactId>
+ <version>${datanucleus-api-jdo.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.datanucleus</groupId>
+ <artifactId>datanucleus-jodatime</artifactId>
+ <version>${datanucleus-jodatime.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+</project>
diff --git a/mixins/docker/pom.xml b/mixins/docker/pom.xml
new file mode 100644
index 0000000..0f3517c
--- /dev/null
+++ b/mixins/docker/pom.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+<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>
+
+ <parent>
+ <groupId>org.apache.isis.mixins</groupId>
+ <artifactId>isis-mixins</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>isis-mixin-docker</artifactId>
+ <version>${revision}</version>
+
+ <packaging>pom</packaging>
+
+ <name>Apache Isis Maven Mixin - Docker</name>
+ <description>
+ Maven mixin providing the ability to build, tag and deploy Docker images.
+ </description>
+
+ <properties>
+ <revision>2.0.0-M3-SNAPSHOT</revision>
+ </properties>
+
+ <profiles>
+
+ <profile>
+ <id>mavenmixin-docker-install</id>
+ <activation>
+ <property>
+ <name>mavenmixin-docker</name>
+ </property>
+ </activation>
+
+ <properties>
+ <maven-deploy-plugin.version>2.8.1</maven-deploy-plugin.version>
+ <docker-maven-plugin.version>1.0.0</docker-maven-plugin.version>
+ <gmavenplus-plugin.version>1.5</gmavenplus-plugin.version>
+ <groovy-all.version>2.4.7</groovy-all.version>
+
+ <docker-plugin.imageName>XXX/${project.parent.artifactId}</docker-plugin.imageName>
+ <docker-plugin.imageTag>${project.version}</docker-plugin.imageTag>
+ <docker-plugin.resource.include>${project.parent.artifactId}.war</docker-plugin.resource.include>
+ <docker-plugin.serverId>docker-hub</docker-plugin.serverId>
+ <docker-plugin.registryUrl>https://index.docker.io/v1/</docker-plugin.registryUrl>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${maven-deploy-plugin.version}</version>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.spotify</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>${docker-maven-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>build-image</id>
+ <phase>install</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker-plugin.imageName}</imageName>
+ </configuration>
+ </execution>
+ <execution>
+ <id>tag-image</id>
+ <phase>install</phase>
+ <goals>
+ <goal>tag</goal>
+ </goals>
+ <configuration>
+ <image>${docker-plugin.imageName}</image>
+ <newName>${docker-plugin.imageName}:${docker-plugin.imageTag}</newName>
+ </configuration>
+ </execution>
+ <execution>
+ <id>push-image-tagged</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker-plugin.imageName}:${docker-plugin.imageTag}</imageName>
+ </configuration>
+ </execution>
+ <execution>
+ <id>push-image-latest</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker-plugin.imageName}:latest</imageName>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <dockerDirectory>${project.build.outputDirectory}/docker</dockerDirectory>
+ <resources>
+ <resource>
+ <targetPath>.</targetPath>
+ <directory>${project.build.directory}</directory>
+ <include>${docker-plugin.resource.include}</include>
+ </resource>
+ </resources>
+ <serverId>${docker-plugin.serverId}</serverId>
+ <registryUrl>${docker-plugin.registryUrl}</registryUrl>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+</project>
diff --git a/mavendeps/pom.xml b/mixins/pom.xml
similarity index 86%
copy from mavendeps/pom.xml
copy to mixins/pom.xml
index 05854e2..946e519 100644
--- a/mavendeps/pom.xml
+++ b/mixins/pom.xml
@@ -21,19 +21,19 @@
<relativePath>../core/pom.xml</relativePath>
</parent>
- <groupId>org.apache.isis.mavendeps</groupId>
- <artifactId>isis-mavendeps</artifactId>
+ <groupId>org.apache.isis.mixins</groupId>
+ <artifactId>isis-mixins</artifactId>
- <name>Apache Isis Maven Dependency Bundles</name>
+ <name>Apache Isis Maven Mixins</name>
<description>
- Collection of Apache Isis Maven Dependency Bundles.
+ Collection of Apache Isis Maven Mixins
</description>
<packaging>pom</packaging>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.mavendeps</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/mavendeps</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.mixins</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/mixins</git-plugin.propertiesDir>
<lombok.version>[1.18,)</lombok.version>
@@ -152,13 +152,10 @@
</dependencyManagement>
<modules>
- <module>intellij</module>
- <module>testing</module>
- <module>webapp</module>
- <module>mixin-standard</module>
- <module>mixin-surefire</module>
- <module>mixin-datanucleus-enhance</module>
- <module>mixin-docker</module>
+ <module>standard</module>
+ <module>surefire</module>
+ <module>datanucleus-enhance</module>
+ <module>docker</module>
</modules>
</project>
diff --git a/mixins/standard/pom.xml b/mixins/standard/pom.xml
new file mode 100644
index 0000000..ee55792
--- /dev/null
+++ b/mixins/standard/pom.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+<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>
+
+ <parent>
+ <groupId>org.apache.isis.mixins</groupId>
+ <artifactId>isis-mixins</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>isis-mixin-standard</artifactId>
+ <version>${revision}</version>
+
+ <packaging>pom</packaging>
+
+ <name>Apache Isis Maven Mixin - Standard Plugins</name>
+ <description>
+ Maven mixin for the "standard" set of plugins.
+ </description>
+
+ <properties>
+ <revision>2.0.0-M3-SNAPSHOT</revision>
+ </properties>
+
+ <profiles>
+
+ <profile>
+ <id>mavenmixin-standard</id>
+ <activation>
+ <property>
+ <name>!skip.mavenmixin-standard</name>
+ </property>
+ </activation>
+
+ <properties>
+ <jar-plugin.automaticModuleName></jar-plugin.automaticModuleName>
+
+ <maven-clean-plugin.version>2.5</maven-clean-plugin.version>
+ <maven-project-info-reports-plugin.version>2.9</maven-project-info-reports-plugin.version>
+ <maven-resources-plugin.version>2.6</maven-resources-plugin.version>
+ <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
+ <maven-jar-plugin.version>2.4</maven-jar-plugin.version>
+ <maven-install-plugin.version>2.5.1</maven-install-plugin.version>
+ <maven-deploy-plugin.version>2.8.1</maven-deploy-plugin.version>
+ <maven-site-plugin.version>3.3</maven-site-plugin.version>
+
+ <compiler-plugin.source>1.8</compiler-plugin.source>
+ <compiler-plugin.target>1.8</compiler-plugin.target>
+ <compiler-plugin.compilerArgument>-parameters</compiler-plugin.compilerArgument>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>${maven-clean-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>${maven-resources-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <source>${compiler-plugin.source}</source>
+ <target>${compiler-plugin.target}</target>
+ <compilerArgument>${compiler-plugin.compilerArgument}</compilerArgument>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar-plugin.version}</version>
+ <inherited>true</inherited>
+ <executions>
+ <execution>
+ <id>package-test-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ </archive>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Automatic-Module-Name>${jar-plugin.automaticModuleName}</Automatic-Module-Name>
+ <SCM-Revision>${git.commit.id.abbrev}</SCM-Revision>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>${maven-install-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${maven-deploy-plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${maven-site-plugin.version}</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+</project>
diff --git a/mixins/surefire/pom.xml b/mixins/surefire/pom.xml
new file mode 100644
index 0000000..d4f2023
--- /dev/null
+++ b/mixins/surefire/pom.xml
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+<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>
+
+ <parent>
+ <groupId>org.apache.isis.mixins</groupId>
+ <artifactId>isis-mixins</artifactId>
+ <version>${revision}</version>
+ </parent>
+
+ <artifactId>isis-mixin-surefire</artifactId>
+ <version>${revision}</version>
+
+ <packaging>pom</packaging>
+
+ <name>Apache Isis Maven Mixin - Surefire</name>
+ <description>
+ Maven mixin that configures the surefire plugin to run unit tests, integration tests and BDD specs in separate executions.
+ </description>
+
+ <properties>
+ <revision>2.0.0-M3-SNAPSHOT</revision>
+ </properties>
+
+ <profiles>
+
+ <profile>
+ <id>mavenmixin-surefire</id>
+ <activation>
+ <property>
+ <name>!skip.mavenmixin-surefire</name>
+ </property>
+ </activation>
+
+ <properties>
+
+ <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
+ <maven-surefire-report-plugin.version>2.19.1</maven-surefire-report-plugin.version>
+
+ <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
+
+ <isis.integTest.module></isis.integTest.module>
+ <skipTests>false</skipTests>
+ <skipUTs>${skipTests}</skipUTs>
+ <skipITs>${skipTests}</skipITs>
+ <skipBSs>${skipTests}</skipBSs>
+
+ <surefire-plugin.argLine></surefire-plugin.argLine>
+ </properties>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>default-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skipTests>${skipUTs}</skipTests>
+ <includes>
+ <include>**/*Test*.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/*Testing.java</exclude>
+ <exclude>**/*IntegTest*.java</exclude>
+ <exclude>**/*Abstract*.java</exclude>
+ </excludes>
+ <useFile>true</useFile>
+ <printSummary>true</printSummary>
+ <reportsDirectory>${project.build.directory}/surefire-unittest-reports</reportsDirectory>
+ <forkCount>1</forkCount>
+ <reuseForks>true</reuseForks>
+ <argLine>${surefire-plugin.argLine}</argLine>
+ </configuration>
+ </execution>
+ <execution>
+ <id>integ-test</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skipTests>${skipITs}</skipTests>
+ <includes>
+ <include>**/*IntegTest*.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/*Abstract*.java</exclude>
+ </excludes>
+ <useFile>true</useFile>
+ <printSummary>true</printSummary>
+ <reportsDirectory>${project.build.directory}/surefire-integtest-reports</reportsDirectory>
+ <systemPropertyVariables>
+ <isis.integTest.module>${isis.integTest.module}</isis.integTest.module>
+ </systemPropertyVariables>
+ <forkCount>1</forkCount>
+ <reuseForks>true</reuseForks>
+ <argLine>${surefire-plugin.argLine}</argLine>
+ </configuration>
+ </execution>
+ <execution>
+ <id>integ-bddspecs</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <skipTests>${skipBSs}</skipTests>
+ <includes>
+ <include>**/*IntegBddSpecs.java</include>
+ </includes>
+ <excludes>
+ <exclude>**/*Abstract*.java</exclude>
+ <exclude>**/*Test*.java</exclude>
+ </excludes>
+ <useFile>true</useFile>
+ <printSummary>true</printSummary>
+ <testFailureIgnore>true</testFailureIgnore>
+ <reportsDirectory>${project.build.directory}/surefire-integbddspecs-reports</reportsDirectory>
+ <forkCount>1</forkCount>
+ <reuseForks>true</reuseForks>
+ <argLine>${surefire-plugin.argLine}</argLine>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${maven-surefire-report-plugin.version}</version>
+ <configuration>
+ <showSuccess>false</showSuccess>
+ </configuration>
+ <executions>
+ <execution>
+ <id>test</id>
+ <phase>test</phase>
+ </execution>
+ <execution>
+ <id>integration-test</id>
+ <phase>integration-test</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${maven-surefire-report-plugin.version}</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+</project>