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 2018/07/18 22:51:00 UTC

[isis] 04/05: ISIS-1810: recreating simpleapp archetype

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 4622b57c5e33f75481c7cc53bcc7e3e7bbfc22d0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jul 19 00:37:17 2018 +0200

    ISIS-1810: recreating simpleapp archetype
---
 example/archetype/simpleapp/pom.xml                | 109 ++++---
 .../META-INF/maven/archetype-metadata.xml          | 339 ++++++++++-----------
 .../resources/archetype-resources/.gitlab-ci.yml   |  28 +-
 .../resources/archetype-resources/.m2/settings.xml |   8 +-
 .../archetype-resources/application/pom.xml        |   2 +-
 .../fixture/scenarios/DomainAppDemo.java           |   6 +-
 .../manifest/isis-non-changing.properties          |   4 +-
 .../bdd/specglue/BootstrappingGlue.java            |   4 +-
 ...ingGlue.java => BootstrappingGlueAbstract.java} |  25 +-
 .../application/translations.pot                   | 105 +++++--
 .../archetype-resources/module-simple/pom.xml      |  42 ++-
 .../domainapp/modules/simple/SimpleModule.java     |   6 +-
 .../modules/simple/dom/impl/SimpleObject.java      |  22 +-
 .../simple/dom/impl/SimpleObjectRepository.java    |  58 ----
 .../modules/simple/dom/impl/SimpleObjects.java     |  13 +-
 .../domainapp/modules/simple/dom/types/Name.java   |  38 +++
 .../simple/fixture/SimpleObject_persona.java       |   6 +-
 .../modules/simple/dom/impl/SimpleObject_Test.java |   7 +-
 .../simple/dom/impl/SimpleObjects_Test.java        |   9 +-
 .../integtests/SimpleModuleIntegTestAbstract.java  |   6 +-
 .../tests/SimpleObjectMenu_IntegTest.java          |  30 +-
 .../integtests/tests/SimpleObject_IntegTest.java   |  42 ++-
 .../module-simple/translations.pot                 | 105 +++++--
 .../src/main/resources/archetype-resources/pom.xml | 288 +++++++++--------
 .../resources/archetype-resources/webapp/pom.xml   |   2 +-
 .../src/main/webapp/WEB-INF/logging.properties     |   4 +-
 .../webapp/src/main/webapp/WEB-INF/web.xml         |   7 +-
 .../resources/projects/basic/archetype.properties  |   2 +-
 28 files changed, 700 insertions(+), 617 deletions(-)

diff --git a/example/archetype/simpleapp/pom.xml b/example/archetype/simpleapp/pom.xml
index 485f3d8..eb6a4e3 100644
--- a/example/archetype/simpleapp/pom.xml
+++ b/example/archetype/simpleapp/pom.xml
@@ -17,63 +17,62 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.apache.isis.archetype</groupId>
-    <artifactId>simpleapp-archetype</artifactId>
-    <version>${revision}</version>
-    <packaging>maven-archetype</packaging>
-    <name>simpleapp-archetype</name>
-    <build>
-        <extensions>
-            <extension>
-                <groupId>org.apache.maven.archetype</groupId>
-                <artifactId>archetype-packaging</artifactId>
-                <version>3.0.1</version>
-            </extension>
-        </extensions>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-archetype-plugin</artifactId>
-                    <version>3.0.1</version>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-    <description>This module defines a standard parent POM to use for various Incode applications and modules.  
+<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>org.apache.isis.archetype</groupId>
+  <artifactId>simpleapp-archetype</artifactId>
+  <version>2.0.0-M1</version>
+  <packaging>maven-archetype</packaging>
+  <name>simpleapp-archetype</name>
+  <build>
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.archetype</groupId>
+        <artifactId>archetype-packaging</artifactId>
+        <version>3.0.1</version>
+      </extension>
+    </extensions>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-archetype-plugin</artifactId>
+          <version>3.0.1</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <description>This module defines a standard parent POM to use for various Incode applications and modules.  
         Its primary purpose is to make it easy to use a set up maven mixins (https://github.com/odavid/maven-plugins)
         within child POMs.  Specifically this means locking down the versions of plugins using pluginManagement.
         
         It does NOT define any mixins for Apache Isis.</description>
-    <url>https://github.com/incodehq/incode-build/simpleapp</url>
-    <developers>
-        <developer>
-            <id>danhaywood</id>
-            <name>Dan Haywood</name>
-            <email>dan@haywood-associates.co.uk</email>
-        </developer>
-    </developers>
-    <licenses>
-        <license>
-            <name>The Apache Software License, Version 2.0</name>
-            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-            <distribution>repo</distribution>
-        </license>
-    </licenses>
-    <scm>
-        <connection>scm:git:git@github.com:incodehq/incode-build.git/simpleapp</connection>
-        <developerConnection>scm:git:git@github.com:incodehq/incode-build.git/simpleapp</developerConnection>
-        <url>git@github.com:incodehq/incode-build.git/simpleapp</url>
-    </scm>
-    <parent>
-        <groupId>org.apache.isis.core</groupId>
-        <artifactId>isis</artifactId>
-        <version>1.16.3-SNAPSHOT</version>
-        <relativePath>../../../core/pom.xml</relativePath>
-    </parent>
-    <properties>
-        <revision>2.0.0-M1-SNAPSHOT</revision>
-        <archetype.test.skip>true</archetype.test.skip>
-    </properties>
+  <url>https://github.com/incodehq/incode-build/simpleapp</url>
+  <developers>
+    <developer>
+      <id>danhaywood</id>
+      <name>Dan Haywood</name>
+      <email>dan@haywood-associates.co.uk</email>
+    </developer>
+  </developers>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <scm>
+    <connection>scm:git:git@github.com:incodehq/incode-build.git/simpleapp</connection>
+    <developerConnection>scm:git:git@github.com:incodehq/incode-build.git/simpleapp</developerConnection>
+    <url>git@github.com:incodehq/incode-build.git/simpleapp</url>
+  </scm>
+  <parent>
+    <groupId>org.apache.isis.core</groupId>
+    <artifactId>isis</artifactId>
+    <version>2.0.0-M1</version>
+    <relativePath>../../../core/pom.xml</relativePath>
+  </parent>
+  <properties>
+    <archetype.test.skip>true</archetype.test.skip>
+  </properties>
 </project>
diff --git a/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
index 925709d..37b7cec 100644
--- a/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/example/archetype/simpleapp/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -17,180 +17,177 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" name="simpleapp" xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-    <fileSets>
+<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="simpleapp" xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd">
+  <fileSets>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>_checks</directory>
+      <includes>
+        <include>**/*.xml</include>
+      </includes>
+    </fileSet>
+    <fileSet filtered="true" encoding="UTF-8">
+      <directory>.m2</directory>
+      <includes>
+        <include>**/*.xml</include>
+      </includes>
+    </fileSet>
+    <fileSet encoding="UTF-8">
+      <directory/>
+      <includes>
+        <include>.gitattributes</include>
+        <include>.gitignore</include>
+        <include>.gitlab-ci.yml</include>
+        <include>enhance-all.sh</include>
+        <include>README.adoc</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <modules>
+    <module name="${rootArtifactId}-module-simple" id="${rootArtifactId}-module-simple" dir="module-simple">
+      <fileSets>
         <fileSet filtered="true" encoding="UTF-8">
-            <directory>_checks</directory>
-            <includes>
-                <include>**/*.xml</include>
-            </includes>
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.java</include>
+            <include>**/*.xml</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.png</include>
+          </includes>
         </fileSet>
         <fileSet filtered="true" encoding="UTF-8">
-            <directory>.m2</directory>
-            <includes>
-                <include>**/*.xml</include>
-            </includes>
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>logging-dn-enhance.properties</include>
+            <include>logging-integtest.properties</include>
+          </includes>
         </fileSet>
         <fileSet encoding="UTF-8">
-            <directory/>
-            <includes>
-                <include>.gitattributes</include>
-                <include>.gitignore</include>
-                <include>.gitlab-ci.yml</include>
-                <include>enhance-all.sh</include>
-                <include>README.adoc</include>
-            </includes>
-        </fileSet>
-    </fileSets>
-    <modules>
-        <module name="${rootArtifactId}-module-simple" id="${rootArtifactId}-module-simple" dir="module-simple">
-            <fileSets>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/java</directory>
-                    <includes>
-                        <include>**/*.java</include>
-                        <include>**/*.xml</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/main/java</directory>
-                    <includes>
-                        <include>**/*.png</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/test/java</directory>
-                    <includes>
-                        <include>**/*.java</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory/>
-                    <includes>
-                        <include>logging-dn-enhance.properties</include>
-                        <include>logging-integtest.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory/>
-                    <includes>
-                        <include>.gitignore</include>
-                        <include>build.gradle</include>
-                        <include>gradlew</include>
-                        <include>gradlew.bat</include>
-                        <include>layouts.gradle</include>
-                        <include>liveReload.gradle</include>
-                        <include>translations.pot</include>
-                    </includes>
-                </fileSet>
-            </fileSets>
-        </module>
-        <module name="${rootArtifactId}-application" id="${rootArtifactId}-application" dir="application">
-            <fileSets>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/java</directory>
-                    <includes>
-                        <include>**/*.java</include>
-                        <include>**/*.xml</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/main/java</directory>
-                    <includes>
-                        <include>**/*.png</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/resources</directory>
-                    <includes>
-                        <include>**/*.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/test/java</directory>
-                    <includes>
-                        <include>**/*.java</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/test/java</directory>
-                    <includes>
-                        <include>**/*.feature</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/test/resources</directory>
-                    <includes>
-                        <include>**/*.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory/>
-                    <includes>
-                        <include>logging-integtest.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory/>
-                    <includes>
-                        <include>.gitignore</include>
-                        <include>translations.pot</include>
-                    </includes>
-                </fileSet>
-            </fileSets>
-        </module>
-        <module name="${rootArtifactId}-webapp" id="${rootArtifactId}-webapp" dir="webapp">
-            <fileSets>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/java</directory>
-                    <includes>
-                        <include>**/*.java</include>
-                        <include>**/*.html</include>
-                        <include>**/*.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet filtered="true" encoding="UTF-8">
-                    <directory>src/main/webapp</directory>
-                    <includes>
-                        <include>**/*.xml</include>
-                        <include>**/*.html</include>
-                        <include>**/*.properties</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/main/resources</directory>
-                    <includes>
-                        <include>**/*.</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/main/jettyconsole</directory>
-                    <includes>
-                        <include>**/*.png</include>
-                        <include>**/*.pdn</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>src/main/webapp</directory>
-                    <includes>
-                        <include>**/*.css</include>
-                        <include>**/*.ico</include>
-                        <include>**/*.gif</include>
-                        <include>**/*.ini</include>
-                        <include>**/*.md</include>
-                        <include>**/*.ttf</include>
-                        <include>**/*.png</include>
-                        <include>**/*.js</include>
-                        <include>**/*.po</include>
-                    </includes>
-                </fileSet>
-                <fileSet encoding="UTF-8">
-                    <directory>lib</directory>
-                    <includes>
-                        <include>**/*.gitignore</include>
-                    </includes>
-                </fileSet>
-            </fileSets>
-        </module>
-    </modules>
+          <directory/>
+          <includes>
+            <include>.gitignore</include>
+            <include>build.gradle</include>
+            <include>gradlew</include>
+            <include>gradlew.bat</include>
+            <include>layouts.gradle</include>
+            <include>liveReload.gradle</include>
+            <include>translations.pot</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+    <module name="${rootArtifactId}-application" id="${rootArtifactId}-application" dir="application">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.java</include>
+            <include>**/*.xml</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.png</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/resources</directory>
+          <includes>
+            <include>**/*.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.java</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/test/java</directory>
+          <includes>
+            <include>**/*.feature</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/test/resources</directory>
+          <includes>
+            <include>**/*.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>logging-integtest.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory/>
+          <includes>
+            <include>.gitignore</include>
+            <include>translations.pot</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+    <module name="${rootArtifactId}-webapp" id="${rootArtifactId}-webapp" dir="webapp">
+      <fileSets>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/java</directory>
+          <includes>
+            <include>**/*.java</include>
+            <include>**/*.html</include>
+            <include>**/*.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet filtered="true" encoding="UTF-8">
+          <directory>src/main/webapp</directory>
+          <includes>
+            <include>**/*.xml</include>
+            <include>**/*.html</include>
+            <include>**/*.properties</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/resources</directory>
+          <includes>
+            <include>**/*.</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/jettyconsole</directory>
+          <includes>
+            <include>**/*.png</include>
+            <include>**/*.pdn</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>src/main/webapp</directory>
+          <includes>
+            <include>**/*.css</include>
+            <include>**/*.gif</include>
+            <include>**/*.ini</include>
+            <include>**/*.png</include>
+            <include>**/*.js</include>
+            <include>**/*.po</include>
+          </includes>
+        </fileSet>
+        <fileSet encoding="UTF-8">
+          <directory>lib</directory>
+          <includes>
+            <include>**/*.gitignore</include>
+          </includes>
+        </fileSet>
+      </fileSets>
+    </module>
+  </modules>
 </archetype-descriptor>
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitlab-ci.yml b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitlab-ci.yml
index 9331427..7d4a33b 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitlab-ci.yml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/.gitlab-ci.yml
@@ -1,8 +1,12 @@
 #
 # requires the following gitlab secret variables
-# - DOCKER_HUB_USERNAME
-# - DOCKER_HUB_PASSWORD
-# - DOCKER_HUB_EMAIL
+# - DOCKER_REGISTRY_USERNAME
+# - DOCKER_REGISTRY_PASSWORD
+# - DOCKER_REGISTRY_EMAIL
+# - DOCKER_REGISTRY_NAME        # eg "registry-1.docker.io" (for docker hub)
+                                # or "docker-dev.incode.cloud" (eg a cloud-based nexus)
+# - DOCKER_REGISTRY_URL         # eg "https://index.docker.io/v1/" (for docker hub)
+                                # or "https://repo.incode.cloud/repository/docker-dev/" (eg a cloud-based nexus)
 #
 
 image: maven:3.5.3-jdk-8
@@ -16,11 +20,8 @@ services:
 variables:
   DOCKER_HOST: tcp://docker:2375
   DOCKER_DRIVER: overlay2
-  MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
   MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dskip.cloudbees-estatio-repositories -Dskip.sonatype-snapshots -Dskip.apache-snapshots"
-  APP_NAME: "isis-demoapp-simpleapp"
-  DOCKER_REGISTRY_ID: "docker-hub"
-  DOCKER_REGISTRY_URL: "https://index.docker.io/v1/"
+  APP_NAME: "simpleapp"
 
 stages:
   - build-package-push
@@ -30,20 +31,21 @@ build-package-push:
   script:
     - echo "REVISION=$REVISION"
     - >
-      mvn $MAVEN_CLI_OPTS \
-          clean install \
+      mvn --batch-mode \
+           install \
           -Drevision=$REVISION \
           -Dmavenmixin-docker \
-          -Ddocker-plugin.imageName=$DOCKER_HUB_USERNAME/$APP_NAME
+          -Ddocker-plugin.imageName=$DOCKER_REGISTRY_NAME/$DOCKER_REGISTRY_USERNAME/$APP_NAME
     - >
-      mvn $MAVEN_CLI_OPTS \
+      mvn -s .m2/settings.xml \
+          --batch-mode \
           docker:push@push-image-tagged \
           -pl webapp \
           -Drevision=$REVISION \
           -DskipTests \
           -Dskip.isis-swagger \
           -Dmavenmixin-docker \
-          -Ddocker-plugin.imageName=$DOCKER_HUB_USERNAME/$APP_NAME \
-          -Ddocker-plugin.serverId=$DOCKER_REGISTRY_ID \
+          -Ddocker-plugin.imageName=$DOCKER_REGISTRY_USERNAME/$DOCKER_REGISTRY_REPOSITORY \
+          -Ddocker-plugin.serverId=docker-registry \
           -Ddocker.registryUrl=$DOCKER_REGISTRY_URL
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/.m2/settings.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/.m2/settings.xml
index 013142b..3a2172d 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/.m2/settings.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/.m2/settings.xml
@@ -7,11 +7,11 @@
           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
   <servers>
     <server>
-      <id>${symbol_dollar}{env.DOCKER_REGISTRY_ID}</id>
-      <username>${symbol_dollar}{env.DOCKER_HUB_USERNAME}</username>
-      <password>${symbol_dollar}{env.DOCKER_HUB_PASSWORD}</password>
+      <id>docker-registry</id>
+      <username>${symbol_dollar}{env.DOCKER_REGISTRY_USERNAME}</username>
+      <password>${symbol_dollar}{env.DOCKER_REGISTRY_PASSWORD}</password>
       <configuration>
-        <email>${symbol_dollar}{env.DOCKER_HUB_EMAIL}</email>
+        <email>${symbol_dollar}{env.DOCKER_REGISTRY_EMAIL}</email>
       </configuration>
     </server>
   </servers>
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
index 6e95f1a..040a36f 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
@@ -26,7 +26,7 @@
     </parent>
 
     <artifactId>${artifactId}</artifactId>
-    <name>SimpleApp Application</name>
+    <name>Apache Isis App - SimpleApp Application</name>
 
     <description>This defines the application (manifest) and runs application-level fixtures and integration (smoke) tests</description>
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
index 0229979..ca584a1 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/java/domainapp/application/fixture/scenarios/DomainAppDemo.java
@@ -25,7 +25,7 @@ import javax.inject.Inject;
 
 import org.apache.isis.applib.AppManifest2;
 import org.apache.isis.applib.fixturescripts.FixtureScript;
-import org.apache.isis.applib.services.metamodel.MetaModelService4;
+import org.apache.isis.applib.services.metamodel.MetaModelService;
 
 import domainapp.modules.simple.fixture.SimpleObject_persona;
 
@@ -37,12 +37,12 @@ public class DomainAppDemo extends FixtureScript {
 
     @Override
     protected void execute(final ExecutionContext ec) {
-        AppManifest2 appManifest2 = metaModelService4.getAppManifest2();
+        AppManifest2 appManifest2 = metaModelService.getAppManifest2();
         ec.executeChild(this, appManifest2.getTeardownFixture());
         ec.executeChild(this, appManifest2.getRefDataSetupFixture());
         ec.executeChild(this, new SimpleObject_persona.PersistAll());
     }
 
     @Inject
-    MetaModelService4 metaModelService4;
+    MetaModelService metaModelService;
 }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
index 22bf94f..13aabf3 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/main/resources/domainapp/application/manifest/isis-non-changing.properties
@@ -21,9 +21,9 @@ ${symbol_pound}  under the License.
 
 
 
-
+${symbol_pound} -- auto wired by plugins -- 
 ${symbol_pound}isis.services.eventbus.implementation=guava
-isis.services.eventbus.implementation=axon
+${symbol_pound}isis.services.eventbus.implementation=axon
 
 
 ${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pound}${symbol_pou [...]
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java
index 5b2364d..b6b046e 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java
@@ -19,13 +19,11 @@ O *  Licensed to the Apache Software Foundation (ASF) under one or more
  */
 package domainapp.application.bdd.specglue;
 
-import org.apache.isis.core.runtime.headless.HeadlessWithBootstrappingAbstract;
-
 import cucumber.api.java.After;
 import cucumber.api.java.Before;
 import domainapp.application.DomainAppApplicationModule;
 
-public class BootstrappingGlue extends HeadlessWithBootstrappingAbstract {
+public class BootstrappingGlue extends BootstrappingGlueAbstract {
 
     @Before(order=100)
     public void beforeScenario() {
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlueAbstract.java
similarity index 67%
copy from example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java
copy to example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlueAbstract.java
index 5b2364d..efd213a 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlue.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/bdd/specglue/BootstrappingGlueAbstract.java
@@ -19,26 +19,17 @@ O *  Licensed to the Apache Software Foundation (ASF) under one or more
  */
 package domainapp.application.bdd.specglue;
 
+import org.apache.isis.applib.Module;
+import org.apache.isis.core.integtestsupport.ModuleBuilder;
 import org.apache.isis.core.runtime.headless.HeadlessWithBootstrappingAbstract;
 
-import cucumber.api.java.After;
-import cucumber.api.java.Before;
-import domainapp.application.DomainAppApplicationModule;
+public class BootstrappingGlueAbstract extends HeadlessWithBootstrappingAbstract {
 
-public class BootstrappingGlue extends HeadlessWithBootstrappingAbstract {
-
-    @Before(order=100)
-    public void beforeScenario() {
-        super.bootstrapAndSetupIfRequired();
-    }
-
-    @After
-    public void afterScenario(cucumber.api.Scenario sc) {
-        super.tearDownAllModules();
-    }
-
-    public BootstrappingGlue() {
-        super(new DomainAppApplicationModule());
+    public BootstrappingGlueAbstract(final Module module) {
+        super(ModuleBuilder.create(module)
+                .withHeadlessTransactionSupport()
+                .withIntegrationTestConfigFallback()
+                .build());
     }
 
 }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot
index 1ab3518..bbd2a03 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot
@@ -23,7 +23,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"POT-Creation-Date: 2018-03-10 13:41:00+\n"
+"POT-Creation-Date: 2018-07-18 23:11:02+\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -40,12 +40,12 @@ msgid ".pot file name"
 msgstr ""
 
 
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act()
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act()
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act()
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi#act()
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel#act()
 #: org.apache.isis.applib.services.bookmark.BookmarkHolder_lookup#act()
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#act()
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#act()
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#act()
-#: org.apache.isis.applib.services.layout.Object_openRestApi#act()
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel#act()
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#act()
 msgid "Act"
 msgstr ""
@@ -56,6 +56,15 @@ msgid "Action"
 msgstr ""
 
 
+#: java.lang.Class#addEventListener()
+#: java.util.function.Consumer#addEventListener()
+#: org.apache.isis.applib.services.eventbus.EventBusService#addEventListener()
+#: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#addEventListener()
+#: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo#addEventListener()
+msgid "Add Event Listener"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.xactn.TransactionService$Policy#ALWAYS
 msgid "Always"
 msgstr ""
@@ -66,6 +75,11 @@ msgid "Are you sure?"
 msgstr ""
 
 
+#: org.apache.isis.core.integtestsupport.components.HeadlessTransactionSupportDefault#beginTransaction()
+msgid "Begin Transaction"
+msgstr ""
+
+
 #: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
 msgid "Cancel"
 msgstr ""
@@ -124,12 +138,17 @@ msgstr ""
 #: domainapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()
 #: domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()
 #: java.io.Serializable#downloadLayoutXml()
+#: java.lang.Class#downloadLayoutXml()
 #: java.lang.Comparable#downloadLayoutXml()
 #: java.lang.Iterable#downloadLayoutXml()
 #: java.lang.Object#downloadLayoutXml()
+#: java.lang.reflect.AnnotatedElement#downloadLayoutXml()
+#: java.lang.reflect.GenericDeclaration#downloadLayoutXml()
+#: java.lang.reflect.Type#downloadLayoutXml()
 #: java.util.Collection#downloadLayoutXml()
 #: java.util.List#downloadLayoutXml()
 #: java.util.Set#downloadLayoutXml()
+#: java.util.function.Consumer#downloadLayoutXml()
 #: javax.jdo.listener.InstanceLifecycleListener#downloadLayoutXml()
 #: javax.jdo.listener.LoadLifecycleListener#downloadLayoutXml()
 #: javax.jdo.listener.StoreLifecycleListener#downloadLayoutXml()
@@ -148,7 +167,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#downloadLayoutXml()
 #: org.apache.isis.applib.services.audit.AuditerService#downloadLayoutXml()
 #: org.apache.isis.applib.services.background.BackgroundService#downloadLayoutXml()
-#: org.apache.isis.applib.services.background.BackgroundService2#downloadLayoutXml()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#downloadLayoutXml()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#downloadLayoutXml()
 #: org.apache.isis.applib.services.command.Command#downloadLayoutXml()
@@ -170,11 +188,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#downloadLayoutXml()
 #: org.apache.isis.applib.services.jaxb.JaxbService#downloadLayoutXml()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#downloadLayoutXml()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#downloadLayoutXml()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#downloadLayoutXml()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#downloadLayoutXml()
 #: org.apache.isis.applib.services.layout.LayoutService#downloadLayoutXml()
 #: org.apache.isis.applib.services.layout.LayoutService2#downloadLayoutXml()
-#: org.apache.isis.applib.services.memento.MementoService#downloadLayoutXml()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#downloadLayoutXml()
 #: org.apache.isis.applib.services.menu.MenuBarsService#downloadLayoutXml()
 #: org.apache.isis.applib.services.message.MessageService#downloadLayoutXml()
@@ -200,11 +217,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#downloadLayoutXml()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#downloadLayoutXml()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#downloadLayoutXml()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#downloadLayoutXml()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#downloadLayoutXml()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#downloadLayoutXml()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#downloadLayoutXml()
 #: org.apache.isis.core.commons.components.Component#downloadLayoutXml()
 #: org.apache.isis.core.commons.config.IsisConfiguration#downloadLayoutXml()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#downloadLayoutXml()
@@ -219,9 +237,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#downloadLayoutXml()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#downloadLayoutXml()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#downloadLayoutXml()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#downloadLayoutXml()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#downloadLayoutXml()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#downloadLayoutXml()
@@ -258,6 +278,11 @@ msgid "Download Translations"
 msgstr ""
 
 
+#: org.apache.isis.core.integtestsupport.components.HeadlessTransactionSupportDefault#endTransaction()
+msgid "End Transaction"
+msgstr ""
+
+
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternalNoop#executeWithinTransaction()
 #: org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault#executeWithinTransaction()
 msgid "Execute Within Transaction"
@@ -269,10 +294,10 @@ msgid "Fallback"
 msgstr ""
 
 
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#act(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
 #: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#act(java.lang.String)
 msgid "File name"
 msgstr ""
@@ -374,7 +399,7 @@ msgid "New Application Feature"
 msgstr ""
 
 
-#: org.apache.isis.core.metamodel.services.xactn.TransactionServiceDefault#nextTransaction()
+#: org.apache.isis.core.runtime.services.xactn.TransactionServiceDefault#nextTransaction()
 msgid "Next Transaction"
 msgstr ""
 
@@ -412,12 +437,17 @@ msgstr ""
 #: domainapp.application.services.homepage.HomePageViewModel#openRestApi()
 #: domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()
 #: java.io.Serializable#openRestApi()
+#: java.lang.Class#openRestApi()
 #: java.lang.Comparable#openRestApi()
 #: java.lang.Iterable#openRestApi()
 #: java.lang.Object#openRestApi()
+#: java.lang.reflect.AnnotatedElement#openRestApi()
+#: java.lang.reflect.GenericDeclaration#openRestApi()
+#: java.lang.reflect.Type#openRestApi()
 #: java.util.Collection#openRestApi()
 #: java.util.List#openRestApi()
 #: java.util.Set#openRestApi()
+#: java.util.function.Consumer#openRestApi()
 #: javax.jdo.listener.InstanceLifecycleListener#openRestApi()
 #: javax.jdo.listener.LoadLifecycleListener#openRestApi()
 #: javax.jdo.listener.StoreLifecycleListener#openRestApi()
@@ -436,7 +466,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#openRestApi()
 #: org.apache.isis.applib.services.audit.AuditerService#openRestApi()
 #: org.apache.isis.applib.services.background.BackgroundService#openRestApi()
-#: org.apache.isis.applib.services.background.BackgroundService2#openRestApi()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#openRestApi()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#openRestApi()
 #: org.apache.isis.applib.services.command.Command#openRestApi()
@@ -458,11 +487,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#openRestApi()
 #: org.apache.isis.applib.services.jaxb.JaxbService#openRestApi()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#openRestApi()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#openRestApi()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#openRestApi()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#openRestApi()
 #: org.apache.isis.applib.services.layout.LayoutService#openRestApi()
 #: org.apache.isis.applib.services.layout.LayoutService2#openRestApi()
-#: org.apache.isis.applib.services.memento.MementoService#openRestApi()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#openRestApi()
 #: org.apache.isis.applib.services.menu.MenuBarsService#openRestApi()
 #: org.apache.isis.applib.services.message.MessageService#openRestApi()
@@ -489,11 +517,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#openRestApi()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#openRestApi()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#openRestApi()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#openRestApi()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#openRestApi()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#openRestApi()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#openRestApi()
 #: org.apache.isis.core.commons.components.Component#openRestApi()
 #: org.apache.isis.core.commons.config.IsisConfiguration#openRestApi()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#openRestApi()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#openRestApi()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#openRestApi()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#openRestApi()
@@ -508,9 +537,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#openRestApi()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#openRestApi()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#openRestApi()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#openRestApi()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#openRestApi()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#openRestApi()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#openRestApi()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#openRestApi()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#openRestApi()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#openRestApi()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#openRestApi()
@@ -569,15 +600,25 @@ msgid "Public"
 msgstr ""
 
 
+#: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault#read()
+msgid "Read"
+msgstr ""
+
+
 #: domainapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()
 #: domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()
 #: java.io.Serializable#rebuildMetamodel()
+#: java.lang.Class#rebuildMetamodel()
 #: java.lang.Comparable#rebuildMetamodel()
 #: java.lang.Iterable#rebuildMetamodel()
 #: java.lang.Object#rebuildMetamodel()
+#: java.lang.reflect.AnnotatedElement#rebuildMetamodel()
+#: java.lang.reflect.GenericDeclaration#rebuildMetamodel()
+#: java.lang.reflect.Type#rebuildMetamodel()
 #: java.util.Collection#rebuildMetamodel()
 #: java.util.List#rebuildMetamodel()
 #: java.util.Set#rebuildMetamodel()
+#: java.util.function.Consumer#rebuildMetamodel()
 #: javax.jdo.listener.InstanceLifecycleListener#rebuildMetamodel()
 #: javax.jdo.listener.LoadLifecycleListener#rebuildMetamodel()
 #: javax.jdo.listener.StoreLifecycleListener#rebuildMetamodel()
@@ -596,7 +637,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#rebuildMetamodel()
 #: org.apache.isis.applib.services.audit.AuditerService#rebuildMetamodel()
 #: org.apache.isis.applib.services.background.BackgroundService#rebuildMetamodel()
-#: org.apache.isis.applib.services.background.BackgroundService2#rebuildMetamodel()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#rebuildMetamodel()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#rebuildMetamodel()
 #: org.apache.isis.applib.services.command.Command#rebuildMetamodel()
@@ -618,11 +658,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#rebuildMetamodel()
 #: org.apache.isis.applib.services.jaxb.JaxbService#rebuildMetamodel()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#rebuildMetamodel()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#rebuildMetamodel()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#rebuildMetamodel()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#rebuildMetamodel()
 #: org.apache.isis.applib.services.layout.LayoutService#rebuildMetamodel()
 #: org.apache.isis.applib.services.layout.LayoutService2#rebuildMetamodel()
-#: org.apache.isis.applib.services.memento.MementoService#rebuildMetamodel()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#rebuildMetamodel()
 #: org.apache.isis.applib.services.menu.MenuBarsService#rebuildMetamodel()
 #: org.apache.isis.applib.services.message.MessageService#rebuildMetamodel()
@@ -648,11 +687,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#rebuildMetamodel()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#rebuildMetamodel()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#rebuildMetamodel()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#rebuildMetamodel()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#rebuildMetamodel()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#rebuildMetamodel()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#rebuildMetamodel()
 #: org.apache.isis.core.commons.components.Component#rebuildMetamodel()
 #: org.apache.isis.core.commons.config.IsisConfiguration#rebuildMetamodel()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#rebuildMetamodel()
@@ -667,9 +707,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#rebuildMetamodel()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#rebuildMetamodel()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#rebuildMetamodel()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#rebuildMetamodel()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#rebuildMetamodel()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#rebuildMetamodel()
@@ -686,6 +728,14 @@ msgid "Recreate Objects And Return First"
 msgstr ""
 
 
+#: org.apache.isis.applib.services.eventbus.EventBusService#removeEventListener()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#removeEventListener()
+#: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#removeEventListener()
+#: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo#removeEventListener()
+msgid "Remove Event Listener"
+msgstr ""
+
+
 #: org.apache.isis.applib.fixturescripts.FixtureResult#object
 msgid "Result"
 msgstr ""
@@ -768,14 +818,19 @@ msgid "Version"
 msgstr ""
 
 
+#: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault#write()
+msgid "Write"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
 msgid "Yaml"
 msgstr ""
 
 
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_openRestApi
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
 msgid "datanucleusIdLong"
 msgstr ""
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/pom.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/pom.xml
index 76511c7..65479af 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/pom.xml
@@ -26,7 +26,7 @@
     </parent>
 
     <artifactId>${artifactId}</artifactId>
-    <name>SimpleApp Simple Module</name>
+    <name>Apache Isis App - SimpleApp Simple Module</name>
 
     <properties>
         <isis-maven-plugin.validate.appManifest>domainapp.modules.simple.SimpleModuleManifest</isis-maven-plugin.validate.appManifest>
@@ -131,17 +131,43 @@
     </build>
 
     <dependencies>
+    
+    	<!-- ISIS API -->
+    	
         <dependency>
             <groupId>org.apache.isis.core</groupId>
             <artifactId>isis-core-applib</artifactId>
         </dependency>
-
+        
+        <!-- ISIS CORE PLUGINS -->
+        
         <dependency>
-            <groupId>org.axonframework</groupId>
-            <artifactId>axon-core</artifactId>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-plugins-codegen-bytebuddy</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-plugins-discovery-reflections</artifactId>
         </dependency>
+    
+      	<dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-plugins-jdo-datanucleus-5</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-plugins-eventbus-guava</artifactId>
+        </dependency>
+    
+    	<dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-plugins-jaxrs-resteasy-3</artifactId>
+        </dependency>
+
+        <!-- TESTS -->
 
-        <!-- test -->
         <dependency>
             <groupId>org.apache.isis.mavendeps</groupId>
             <artifactId>isis-mavendeps-testing</artifactId>
@@ -150,12 +176,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.datanucleus</groupId>
-            <artifactId>datanucleus-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
             <groupId>org.hsqldb</groupId>
             <artifactId>hsqldb</artifactId>
             <scope>test</scope>
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
index 2645e06..10ca1bf 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -43,9 +43,9 @@ public class SimpleModule extends ModuleAbstract {
     }
 
     public static class PropertyDomainEvent<S,T>
-            extends org.apache.isis.applib.services.eventbus.PropertyDomainEvent<S,T> {}
+            extends org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> {}
     public static class CollectionDomainEvent<S,T>
-            extends org.apache.isis.applib.services.eventbus.CollectionDomainEvent<S,T> {}
+            extends org.apache.isis.applib.events.domain.CollectionDomainEvent<S,T> {}
     public static class ActionDomainEvent<S> extends
-            org.apache.isis.applib.services.eventbus.ActionDomainEvent<S> {}
+            org.apache.isis.applib.events.domain.ActionDomainEvent<S> {}
 }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
index a8ba8f5..3bbdbac 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
@@ -27,14 +27,11 @@ import javax.jdo.annotations.VersionStrategy;
 import com.google.common.collect.ComparisonChain;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Auditing;
 import org.apache.isis.applib.annotation.CommandReification;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.applib.annotation.Parameter;
-import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
@@ -44,7 +41,7 @@ import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 
-import lombok.AccessLevel;
+import domainapp.modules.simple.dom.types.Name;
 
 @javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE, schema = "simple")
 @javax.jdo.annotations.DatastoreIdentity(strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY, column="id")
@@ -52,30 +49,26 @@ import lombok.AccessLevel;
 @javax.jdo.annotations.Unique(name="SimpleObject_name_UNQ", members = {"name"})
 @DomainObject(auditing = Auditing.ENABLED)
 @DomainObjectLayout()  // causes UI events to be triggered
-@lombok.Getter @lombok.Setter
 @lombok.RequiredArgsConstructor
 public class SimpleObject implements Comparable<SimpleObject> {
 
-    @javax.jdo.annotations.Column(allowsNull = "false", length = 40)
-    @lombok.NonNull
-    @Property() // editing disabled by default, see isis.properties
+
+    @lombok.Getter @lombok.Setter @lombok.NonNull
     @Title(prepend = "Object: ")
-    private String name;
+    @Name private String name;
 
     @javax.jdo.annotations.Column(allowsNull = "true", length = 4000)
+    @lombok.Getter @lombok.Setter
     @Property(editing = Editing.ENABLED)
     private String notes;
 
 
     @Action(semantics = SemanticsOf.IDEMPOTENT, command = CommandReification.ENABLED, publishing = Publishing.ENABLED, associateWith = "name")
     public SimpleObject updateName(
-            @Parameter(maxLength = 40)
-            @ParameterLayout(named = "Name")
-            final String name) {
+            @Name final String name) {
         setName(name);
         return this;
     }
-
     public String default0UpdateName() {
         return getName();
     }
@@ -111,17 +104,14 @@ public class SimpleObject implements Comparable<SimpleObject> {
     // -- injected services
     @javax.inject.Inject
     @javax.jdo.annotations.NotPersistent
-    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     RepositoryService repositoryService;
 
     @javax.inject.Inject
     @javax.jdo.annotations.NotPersistent
-    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     TitleService titleService;
 
     @javax.inject.Inject
     @javax.jdo.annotations.NotPersistent
-    @lombok.Getter(AccessLevel.NONE) @lombok.Setter(AccessLevel.NONE)
     MessageService messageService;
     //endregion
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
deleted file mode 100644
index 85c7bfe..0000000
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository.java
+++ /dev/null
@@ -1,58 +0,0 @@
-#set( $symbol_pound = '#' )
-#set( $symbol_dollar = '$' )
-#set( $symbol_escape = '\' )
-/*
- *  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.
- */
-package domainapp.modules.simple.dom.impl;
-
-import java.util.List;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.query.QueryDefault;
-import org.apache.isis.applib.services.registry.ServiceRegistry2;
-import org.apache.isis.applib.services.repository.RepositoryService;
-
-@DomainService(
-        nature = NatureOfService.DOMAIN,
-        repositoryFor = SimpleObject.class
-)
-public class SimpleObjectRepository {
-
-    public List<SimpleObject> listAll() {
-        return repositoryService.allInstances(SimpleObject.class);
-    }
-
-    public List<SimpleObject> findByName(final String name) {
-        return repositoryService.allMatches(
-                new QueryDefault<>(
-                        SimpleObject.class,
-                        "findByName",
-                        "name", name));
-    }
-
-    public SimpleObject create(final String name) {
-        return repositoryService.persist(SimpleObject.create(name));
-    }
-
-    @javax.inject.Inject
-    RepositoryService repositoryService;
-    @javax.inject.Inject
-    ServiceRegistry serviceRegistry;
-}
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
index 0bb252d..cdf9d30 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObjects.java
@@ -23,7 +23,7 @@ package domainapp.modules.simple.dom.impl;
 
 import java.util.List;
 
-import org.datanucleus.query.typesafe.TypesafeQuery;
+import javax.jdo.JDOQLTypedQuery;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
@@ -35,10 +35,9 @@ import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
-import org.apache.isis.applib.services.jdosupport.IsisJdoSupport;
+import org.apache.isis.applib.events.domain.ActionDomainEvent;
+import org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.applib.services.xactn.TransactionService;
 
 @DomainService(
         nature = NatureOfService.VIEW_MENU_ONLY,
@@ -66,7 +65,7 @@ public class SimpleObjects {
             @ParameterLayout(named="Name")
             final String name
     ) {
-        TypesafeQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+    	JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
         final QSimpleObject cand = QSimpleObject.candidate();
         q = q.filter(
                 cand.name.indexOf(q.stringParameter("name")).ne(-1)
@@ -77,7 +76,7 @@ public class SimpleObjects {
 
     @Programmatic
     public SimpleObject findByNameExact(final String name) {
-        TypesafeQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+    	JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
         final QSimpleObject cand = QSimpleObject.candidate();
         q = q.filter(
                 cand.name.eq(q.stringParameter("name"))
@@ -100,6 +99,6 @@ public class SimpleObjects {
     RepositoryService repositoryService;
 
     @javax.inject.Inject
-    IsisJdoSupport isisJdoSupport;
+    IsisJdoSupport_v3_2 isisJdoSupport;
 
 }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
new file mode 100644
index 0000000..ad40574
--- /dev/null
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/types/Name.java
@@ -0,0 +1,38 @@
+#set( $symbol_pound = '#' )
+#set( $symbol_dollar = '$' )
+#set( $symbol_escape = '\' )
+package domainapp.modules.simple.dom.types;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.jdo.annotations.Column;
+
+import org.apache.isis.applib.annotation.Parameter;
+import org.apache.isis.applib.annotation.ParameterLayout;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.services.i18n.TranslatableString;
+import org.apache.isis.applib.spec.AbstractSpecification2;
+
+@Column(length = Name.MAX_LEN, allowsNull = "false")
+@Property(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
+@Parameter(mustSatisfy = Name.NoExclamationMarks.class, maxLength = Name.MAX_LEN)
+@ParameterLayout(named = "Name")
+@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Name {
+
+    int MAX_LEN = 40;
+
+    class NoExclamationMarks extends AbstractSpecification2<String> {
+
+        @Override
+        public TranslatableString satisfiesTranslatableSafely(final String name) {
+            return name != null && name.contains("!")
+                    ? TranslatableString.tr("Exclamation mark is not allowed")
+                    : null;
+        }
+    }
+}
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
index 5fd5865..d2fb93b 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/fixture/SimpleObject_persona.java
@@ -25,7 +25,7 @@ package domainapp.modules.simple.fixture;
 import org.apache.isis.applib.fixturescripts.PersonaWithBuilderScript;
 import org.apache.isis.applib.fixturescripts.PersonaWithFinder;
 import org.apache.isis.applib.fixturescripts.setup.PersonaEnumPersistAll;
-import org.apache.isis.applib.services.registry.ServiceRegistry2;
+import org.apache.isis.applib.services.registry.ServiceRegistry;
 
 import domainapp.modules.simple.dom.impl.SimpleObject;
 import domainapp.modules.simple.dom.impl.SimpleObjects;
@@ -48,13 +48,11 @@ public enum SimpleObject_persona implements PersonaWithBuilderScript<SimpleObjec
 
     private final String name;
 
-//    @Override
     public SimpleObjectBuilder builder() {
         return new SimpleObjectBuilder().setName(name);
     }
 
-    //@Override
-    public SimpleObject findUsing(final ServiceRegistry2 serviceRegistry) {
+    public SimpleObject findUsing(final ServiceRegistry serviceRegistry) {
         SimpleObjects simpleObjects = serviceRegistry.lookupService(SimpleObjects.class);
         return simpleObjects.findByNameExact(name);
     }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
index 43180a2..c56ae78 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
@@ -19,16 +19,17 @@
  */
 package domainapp.modules.simple.dom.impl;
 
-import org.junit.Before;
-import org.junit.Test;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
 public class SimpleObject_Test {
 
     SimpleObject simpleObject;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         simpleObject = new SimpleObject("Foobar");
     }
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
index d9cbb30..3dc7fe2 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
@@ -31,7 +31,6 @@ import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.core.unittestsupport.jmocking.JMockActions;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
@@ -39,18 +38,14 @@ import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+//TODO [ahuber] this test is still on JUnit 4 because it uses org.junit.Rule, 
+//which no longer exists with JUnit 5
 public class SimpleObjects_Test {
 
     @Rule
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
 
     @Mock
-<<<<<<< HEAD:example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjects_Test.java
-=======
-    ServiceRegistry mockServiceRegistry;
-    
-    @Mock
->>>>>>> dev/2.0.0-M1:example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
     RepositoryService mockRepositoryService;
 
     SimpleObjects simpleObjects;
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index c76df94..c1c6bd3 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -21,14 +21,14 @@
  */
 package domainapp.modules.simple.integtests;
 
-import org.apache.isis.core.integtestsupport.IntegrationTestAbstract3;
+import org.apache.isis.core.integtestsupport.IntegrationTestJupiter;
 
 import domainapp.modules.simple.SimpleModule;
 
-public abstract class SimpleModuleIntegTestAbstract extends IntegrationTestAbstract3 {
+public abstract class SimpleModuleIntegTestAbstract extends IntegrationTestJupiter {
 
     public SimpleModuleIntegTestAbstract() {
-        super(new SimpleModule().withConfigurationProperty("isis.objects.editing","false"));
+        super(new SimpleModule().withConfigurationProperty("isis.objects.editing", "false"));
     }
 
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjectMenu_IntegTest.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjectMenu_IntegTest.java
index 3cca49d..d9c7d9b 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjectMenu_IntegTest.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjectMenu_IntegTest.java
@@ -21,23 +21,26 @@
  */
 package domainapp.modules.simple.integtests.tests;
 
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.util.List;
 
 import javax.inject.Inject;
 
-import com.google.common.base.Throwables;
-
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
+import org.hamcrest.MatcherAssert;
 import org.hamcrest.TypeSafeMatcher;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
+
+import com.google.common.base.Throwables;
 
 import domainapp.modules.simple.dom.impl.SimpleObject;
 import domainapp.modules.simple.dom.impl.SimpleObjects;
 import domainapp.modules.simple.fixture.SimpleObject_persona;
 import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
-import static org.assertj.core.api.Assertions.assertThat;
 
 public class SimpleObjectMenu_IntegTest extends SimpleModuleIntegTestAbstract {
 
@@ -87,15 +90,22 @@ public class SimpleObjectMenu_IntegTest extends SimpleModuleIntegTestAbstract {
             fixtureScripts.runBuilderScript(SimpleObject_persona.FIZZ.builder());
             transactionService.nextTransaction();
 
-            // then
-            expectedExceptions.expectCause(causalChainContains(SQLIntegrityConstraintViolationException.class));
+            // expect
+        	Throwable cause = assertThrows(Throwable.class, ()->{
+            
+                // when
+                wrap(menu).create("Fizz");
+                transactionService.nextTransaction();
+            	
+            });
+        	
+        	// also expect
+        	MatcherAssert.assertThat(cause, 
+        			causalChainContains(SQLIntegrityConstraintViolationException.class));
 
-            // when
-            wrap(menu).create("Fizz");
-            transactionService.nextTransaction();
         }
 
-        private static Matcher<? extends Throwable> causalChainContains(final Class<?> cls) {
+        private static Matcher<Throwable> causalChainContains(final Class<?> cls) {
             return new TypeSafeMatcher<Throwable>() {
                 @Override
                 protected boolean matchesSafely(Throwable item) {
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
index 1ede0b1..16500f1 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -25,25 +25,29 @@ import java.sql.Timestamp;
 
 import javax.inject.Inject;
 
-import org.junit.Before;
-import org.junit.Test;
-
+import org.junit.Assert;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.apache.isis.applib.services.title.TitleService;
 import org.apache.isis.applib.services.wrapper.DisabledException;
 import org.apache.isis.applib.services.wrapper.InvalidException;
 import org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusIdLong;
 import org.apache.isis.core.metamodel.services.jdosupport.Persistable_datanucleusVersionTimestamp;
+import org.hamcrest.CoreMatchers;
 
 import domainapp.modules.simple.dom.impl.SimpleObject;
 import domainapp.modules.simple.fixture.SimpleObject_persona;
 import domainapp.modules.simple.integtests.SimpleModuleIntegTestAbstract;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
 
     SimpleObject simpleObject;
 
-    @Before
+    @BeforeEach
     public void setUp() {
         // given
         simpleObject = fixtureScripts.runBuilderScript(SimpleObject_persona.FOO.builder());
@@ -62,11 +66,14 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
 
         @Test
         public void not_editable() {
-            // expect
-            expectedExceptions.expect(DisabledException.class);
-
-            // when
-            wrap(simpleObject).setName("new name");
+        	
+        	// expect
+            assertThrows(DisabledException.class, ()->{
+            
+            	// when
+            	wrap(simpleObject).setName("new name");
+            	
+            });
         }
 
     }
@@ -87,12 +94,17 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
         @Test
         public void failsValidation() {
 
-            // expect
-            expectedExceptions.expect(InvalidException.class);
-            expectedExceptions.expectMessage("Exclamation mark is not allowed");
-
-            // when
-            wrap(simpleObject).updateName("new name!");
+        	// expect
+        	InvalidException cause = assertThrows(InvalidException.class, ()->{
+            
+            	// when
+        		wrap(simpleObject).updateName("new name!");
+            	
+            });
+        	
+        	// also expect
+        	assertThat(cause.getMessage(), containsString("Exclamation mark is not allowed."));
+        	
         }
     }
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot
index 9cb7c87..82cb502 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot
@@ -23,7 +23,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
-"POT-Creation-Date: 2018-03-10 13:40:53+\n"
+"POT-Creation-Date: 2018-07-16 23:31:07+\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -40,12 +40,12 @@ msgid ".pot file name"
 msgstr ""
 
 
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act()
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act()
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act()
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi#act()
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel#act()
 #: org.apache.isis.applib.services.bookmark.BookmarkHolder_lookup#act()
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#act()
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#act()
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#act()
-#: org.apache.isis.applib.services.layout.Object_openRestApi#act()
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel#act()
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#act()
 msgid "Act"
 msgstr ""
@@ -56,6 +56,15 @@ msgid "Action"
 msgstr ""
 
 
+#: java.lang.Class#addEventListener()
+#: java.util.function.Consumer#addEventListener()
+#: org.apache.isis.applib.services.eventbus.EventBusService#addEventListener()
+#: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#addEventListener()
+#: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo#addEventListener()
+msgid "Add Event Listener"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.xactn.TransactionService$Policy#ALWAYS
 msgid "Always"
 msgstr ""
@@ -66,6 +75,11 @@ msgid "Are you sure?"
 msgstr ""
 
 
+#: org.apache.isis.core.integtestsupport.components.HeadlessTransactionSupportDefault#beginTransaction()
+msgid "Begin Transaction"
+msgstr ""
+
+
 #: org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder
 msgid "Cancel"
 msgstr ""
@@ -123,12 +137,17 @@ msgstr ""
 
 #: domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()
 #: java.io.Serializable#downloadLayoutXml()
+#: java.lang.Class#downloadLayoutXml()
 #: java.lang.Comparable#downloadLayoutXml()
 #: java.lang.Iterable#downloadLayoutXml()
 #: java.lang.Object#downloadLayoutXml()
+#: java.lang.reflect.AnnotatedElement#downloadLayoutXml()
+#: java.lang.reflect.GenericDeclaration#downloadLayoutXml()
+#: java.lang.reflect.Type#downloadLayoutXml()
 #: java.util.Collection#downloadLayoutXml()
 #: java.util.List#downloadLayoutXml()
 #: java.util.Set#downloadLayoutXml()
+#: java.util.function.Consumer#downloadLayoutXml()
 #: javax.jdo.listener.InstanceLifecycleListener#downloadLayoutXml()
 #: javax.jdo.listener.LoadLifecycleListener#downloadLayoutXml()
 #: javax.jdo.listener.StoreLifecycleListener#downloadLayoutXml()
@@ -147,7 +166,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#downloadLayoutXml()
 #: org.apache.isis.applib.services.audit.AuditerService#downloadLayoutXml()
 #: org.apache.isis.applib.services.background.BackgroundService#downloadLayoutXml()
-#: org.apache.isis.applib.services.background.BackgroundService2#downloadLayoutXml()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#downloadLayoutXml()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#downloadLayoutXml()
 #: org.apache.isis.applib.services.command.Command#downloadLayoutXml()
@@ -168,11 +186,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#downloadLayoutXml()
 #: org.apache.isis.applib.services.jaxb.JaxbService#downloadLayoutXml()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#downloadLayoutXml()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#downloadLayoutXml()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#downloadLayoutXml()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#downloadLayoutXml()
 #: org.apache.isis.applib.services.layout.LayoutService#downloadLayoutXml()
 #: org.apache.isis.applib.services.layout.LayoutService2#downloadLayoutXml()
-#: org.apache.isis.applib.services.memento.MementoService#downloadLayoutXml()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#downloadLayoutXml()
 #: org.apache.isis.applib.services.menu.MenuBarsService#downloadLayoutXml()
 #: org.apache.isis.applib.services.message.MessageService#downloadLayoutXml()
@@ -198,11 +215,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#downloadLayoutXml()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#downloadLayoutXml()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#downloadLayoutXml()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#downloadLayoutXml()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#downloadLayoutXml()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#downloadLayoutXml()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#downloadLayoutXml()
 #: org.apache.isis.core.commons.components.Component#downloadLayoutXml()
 #: org.apache.isis.core.commons.config.IsisConfiguration#downloadLayoutXml()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#downloadLayoutXml()
@@ -217,9 +235,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#downloadLayoutXml()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#downloadLayoutXml()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#downloadLayoutXml()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#downloadLayoutXml()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#downloadLayoutXml()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#downloadLayoutXml()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#downloadLayoutXml()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#downloadLayoutXml()
@@ -256,9 +276,8 @@ msgid "Download Translations"
 msgstr ""
 
 
-#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
-#: domainapp.modules.simple.dom.impl.SimpleObject#updateName(java.lang.String)
-msgid "Exclamation mark is not allowed"
+#: org.apache.isis.core.integtestsupport.components.HeadlessTransactionSupportDefault#endTransaction()
+msgid "End Transaction"
 msgstr ""
 
 
@@ -273,10 +292,10 @@ msgid "Fallback"
 msgstr ""
 
 
-#: org.apache.isis.applib.services.dto.Dto_downloadXml#act(java.lang.String)
-#: org.apache.isis.applib.services.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXml#act(java.lang.String)
+#: org.apache.isis.applib.mixins.dto.Dto_downloadXsd#act(java.lang.String,org.apache.isis.applib.services.jaxb.JaxbService$IsisSchemas)
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
 #: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadMenuBarsLayout(java.lang.String,org.apache.isis.applib.services.menu.MenuBarsService$Type)
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml#act(java.lang.String,org.apache.isis.applib.services.layout.LayoutService$Style)
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata#act(java.lang.String)
 msgid "File name"
 msgstr ""
@@ -373,7 +392,7 @@ msgid "New Application Feature"
 msgstr ""
 
 
-#: org.apache.isis.core.metamodel.services.xactn.TransactionServiceDefault#nextTransaction()
+#: org.apache.isis.core.runtime.services.xactn.TransactionServiceDefault#nextTransaction()
 msgid "Next Transaction"
 msgstr ""
 
@@ -405,12 +424,17 @@ msgstr ""
 
 #: domainapp.modules.simple.dom.impl.SimpleObject#openRestApi()
 #: java.io.Serializable#openRestApi()
+#: java.lang.Class#openRestApi()
 #: java.lang.Comparable#openRestApi()
 #: java.lang.Iterable#openRestApi()
 #: java.lang.Object#openRestApi()
+#: java.lang.reflect.AnnotatedElement#openRestApi()
+#: java.lang.reflect.GenericDeclaration#openRestApi()
+#: java.lang.reflect.Type#openRestApi()
 #: java.util.Collection#openRestApi()
 #: java.util.List#openRestApi()
 #: java.util.Set#openRestApi()
+#: java.util.function.Consumer#openRestApi()
 #: javax.jdo.listener.InstanceLifecycleListener#openRestApi()
 #: javax.jdo.listener.LoadLifecycleListener#openRestApi()
 #: javax.jdo.listener.StoreLifecycleListener#openRestApi()
@@ -429,7 +453,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#openRestApi()
 #: org.apache.isis.applib.services.audit.AuditerService#openRestApi()
 #: org.apache.isis.applib.services.background.BackgroundService#openRestApi()
-#: org.apache.isis.applib.services.background.BackgroundService2#openRestApi()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#openRestApi()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#openRestApi()
 #: org.apache.isis.applib.services.command.Command#openRestApi()
@@ -450,11 +473,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#openRestApi()
 #: org.apache.isis.applib.services.jaxb.JaxbService#openRestApi()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#openRestApi()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#openRestApi()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#openRestApi()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#openRestApi()
 #: org.apache.isis.applib.services.layout.LayoutService#openRestApi()
 #: org.apache.isis.applib.services.layout.LayoutService2#openRestApi()
-#: org.apache.isis.applib.services.memento.MementoService#openRestApi()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#openRestApi()
 #: org.apache.isis.applib.services.menu.MenuBarsService#openRestApi()
 #: org.apache.isis.applib.services.message.MessageService#openRestApi()
@@ -481,11 +503,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#openRestApi()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#openRestApi()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#openRestApi()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#openRestApi()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#openRestApi()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#openRestApi()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#openRestApi()
 #: org.apache.isis.core.commons.components.Component#openRestApi()
 #: org.apache.isis.core.commons.config.IsisConfiguration#openRestApi()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#openRestApi()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#openRestApi()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#openRestApi()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#openRestApi()
@@ -500,9 +523,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#openRestApi()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#openRestApi()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#openRestApi()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#openRestApi()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#openRestApi()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#openRestApi()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#openRestApi()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#openRestApi()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#openRestApi()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#openRestApi()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#openRestApi()
@@ -561,14 +586,24 @@ msgid "Public"
 msgstr ""
 
 
+#: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault#read()
+msgid "Read"
+msgstr ""
+
+
 #: domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()
 #: java.io.Serializable#rebuildMetamodel()
+#: java.lang.Class#rebuildMetamodel()
 #: java.lang.Comparable#rebuildMetamodel()
 #: java.lang.Iterable#rebuildMetamodel()
 #: java.lang.Object#rebuildMetamodel()
+#: java.lang.reflect.AnnotatedElement#rebuildMetamodel()
+#: java.lang.reflect.GenericDeclaration#rebuildMetamodel()
+#: java.lang.reflect.Type#rebuildMetamodel()
 #: java.util.Collection#rebuildMetamodel()
 #: java.util.List#rebuildMetamodel()
 #: java.util.Set#rebuildMetamodel()
+#: java.util.function.Consumer#rebuildMetamodel()
 #: javax.jdo.listener.InstanceLifecycleListener#rebuildMetamodel()
 #: javax.jdo.listener.LoadLifecycleListener#rebuildMetamodel()
 #: javax.jdo.listener.StoreLifecycleListener#rebuildMetamodel()
@@ -587,7 +622,6 @@ msgstr ""
 #: org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository#rebuildMetamodel()
 #: org.apache.isis.applib.services.audit.AuditerService#rebuildMetamodel()
 #: org.apache.isis.applib.services.background.BackgroundService#rebuildMetamodel()
-#: org.apache.isis.applib.services.background.BackgroundService2#rebuildMetamodel()
 #: org.apache.isis.applib.services.bookmark.BookmarkService#rebuildMetamodel()
 #: org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService#rebuildMetamodel()
 #: org.apache.isis.applib.services.command.Command#rebuildMetamodel()
@@ -608,11 +642,10 @@ msgstr ""
 #: org.apache.isis.applib.services.i18n.TranslationService#rebuildMetamodel()
 #: org.apache.isis.applib.services.jaxb.JaxbService#rebuildMetamodel()
 #: org.apache.isis.applib.services.jaxb.JaxbService$Simple#rebuildMetamodel()
-#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport0#rebuildMetamodel()
+#: org.apache.isis.applib.services.jdosupport.IsisJdoSupport#rebuildMetamodel()
 #: org.apache.isis.applib.services.jdosupport.IsisJdoSupport_v3_2#rebuildMetamodel()
 #: org.apache.isis.applib.services.layout.LayoutService#rebuildMetamodel()
 #: org.apache.isis.applib.services.layout.LayoutService2#rebuildMetamodel()
-#: org.apache.isis.applib.services.memento.MementoService#rebuildMetamodel()
 #: org.apache.isis.applib.services.menu.MenuBarsLoaderService#rebuildMetamodel()
 #: org.apache.isis.applib.services.menu.MenuBarsService#rebuildMetamodel()
 #: org.apache.isis.applib.services.message.MessageService#rebuildMetamodel()
@@ -638,11 +671,12 @@ msgstr ""
 #: org.apache.isis.applib.services.xactn.TransactionService#rebuildMetamodel()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotService#rebuildMetamodel()
 #: org.apache.isis.applib.services.xmlsnapshot.XmlSnapshotServiceAbstract#rebuildMetamodel()
+#: org.apache.isis.commons.internal.memento._Mementos$EncoderDecoder#rebuildMetamodel()
+#: org.apache.isis.commons.internal.memento._Mementos$SerializingAdapter#rebuildMetamodel()
 #: org.apache.isis.core.commons.authentication.AuthenticationSessionProvider#rebuildMetamodel()
 #: org.apache.isis.core.commons.components.ApplicationScopedComponent#rebuildMetamodel()
 #: org.apache.isis.core.commons.components.Component#rebuildMetamodel()
 #: org.apache.isis.core.commons.config.IsisConfiguration#rebuildMetamodel()
-#: org.apache.isis.core.commons.config.IsisConfigurationDefault#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManager#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.adapter.mgr.AdapterManagerBase#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider#rebuildMetamodel()
@@ -657,9 +691,11 @@ msgstr ""
 #: org.apache.isis.core.metamodel.services.ixn.InteractionDtoServiceInternal#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternal#rebuildMetamodel()
 #: org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal#rebuildMetamodel()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authentication.AuthenticationManager#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManager#rebuildMetamodel()
 #: org.apache.isis.core.runtime.authorization.AuthorizationManagerAbstract#rebuildMetamodel()
+#: org.apache.isis.core.runtime.headless.HeadlessTransactionSupport#rebuildMetamodel()
 #: org.apache.isis.core.runtime.persistence.FixturesInstalledFlag#rebuildMetamodel()
 #: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#rebuildMetamodel()
 #: org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory#rebuildMetamodel()
@@ -676,6 +712,14 @@ msgid "Recreate Objects And Return First"
 msgstr ""
 
 
+#: org.apache.isis.applib.services.eventbus.EventBusService#removeEventListener()
+#: org.apache.isis.core.plugins.eventbus.EventBusPlugin$EventListener#removeEventListener()
+#: org.apache.isis.core.runtime.services.eventbus.EventBusServiceDefault#removeEventListener()
+#: org.apache.isis.objectstore.jdo.datanucleus.service.eventbus.EventBusServiceJdo#removeEventListener()
+msgid "Remove Event Listener"
+msgstr ""
+
+
 #: org.apache.isis.applib.fixturescripts.FixtureResult#object
 msgid "Result"
 msgstr ""
@@ -758,14 +802,19 @@ msgid "Version"
 msgstr ""
 
 
+#: org.apache.isis.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault#write()
+msgid "Write"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.swagger.SwaggerService$Format#YAML
 msgid "Yaml"
 msgstr ""
 
 
-#: org.apache.isis.applib.services.layout.Object_downloadLayoutXml
-#: org.apache.isis.applib.services.layout.Object_openRestApi
-#: org.apache.isis.applib.services.layout.Object_rebuildMetamodel
+#: org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml
+#: org.apache.isis.applib.mixins.layout.Object_openRestApi
+#: org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel
 #: org.apache.isis.core.metamodel.services.jdosupport.Persistable_downloadJdoMetadata
 msgid "datanucleusIdLong"
 msgstr ""
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
index cfe5d95..6a7e5dc 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
@@ -16,157 +16,143 @@
   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/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.incode</groupId>
-        <artifactId>incode-build</artifactId>
-        <version>2.3</version>
-    </parent>
-
-    <groupId>${groupId}</groupId>
-    <artifactId>${artifactId}</artifactId>
-    <version>${version}</version>
-
-    <name>SimpleApp Parent</name>
-
-    <packaging>pom</packaging>
-
-    <properties>
-        <revision>1.16.3-SNAPSHOT</revision>
-	
-        <isis.version>1.16.2</isis.version>
-
-        <lombok.version>1.18.0</lombok.version>
-
-        <compiler-plugin.source>1.8</compiler-plugin.source>
-        <compiler-plugin.target>1.8</compiler-plugin.target>
-        <compiler-plugin.compilerArgument>-parameters</compiler-plugin.compilerArgument>
-
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>com.github.odavid.maven.plugins</groupId>
-                <artifactId>mixin-maven-plugin</artifactId>
-                <version>0.1-alpha-39</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <mixins>
-                        <mixin>
-                            <groupId>com.danhaywood.mavenmixin</groupId>
-                            <artifactId>standard</artifactId>
-                        </mixin>
-                    </mixins>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>flatten-maven-plugin</artifactId>
-                <version>1.0.0</version>
-                <configuration>
-                    <updatePomFile>true</updatePomFile>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>flatten</id>
-                        <phase>process-resources</phase>
-                        <goals>
-                            <goal>flatten</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>flatten.clean</id>
-                        <phase>clean</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencyManagement>
-        <dependencies>
-
-            <dependency>
-                <groupId>org.apache.isis.core</groupId>
-                <artifactId>isis</artifactId>
-                <version>${isis.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-
-            <!-- this project's own modules -->
-            <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>${rootArtifactId}-module-simple</artifactId>
-                <version>${version}</version>
-            </dependency>
-            <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>${rootArtifactId}-module-simple</artifactId>
-                <version>${version}</version>
-                <type>test-jar</type>
-            </dependency>
-            <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>${rootArtifactId}-application</artifactId>
-                <version>${version}</version>
-            </dependency>
-            <dependency>
-                <groupId>${project.groupId}</groupId>
-                <artifactId>${rootArtifactId}-webapp</artifactId>
-                <version>${version}</version>
-            </dependency>
-
-            <!-- lombok -->
-            <dependency>
-                <groupId>org.projectlombok</groupId>
-                <artifactId>lombok</artifactId>
-                <version>${lombok.version}</version>
-                <scope>provided</scope>
-            </dependency>
-
-        </dependencies>
-    </dependencyManagement>
-
+-->
+<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/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.incode</groupId>
+    <artifactId>incode-build</artifactId>
+    <version>7</version>
+  </parent>
+  <groupId>${groupId}</groupId>
+  <artifactId>${artifactId}</artifactId>
+  <version>${version}</version>
+  <name>Apache Isis App - SimpleApp Parent</name>
+  <packaging>pom</packaging>
+  <properties>
+    <revision>0.0.1-SNAPSHOT</revision>
+    <isis.version>2.0.0-M1</isis.version>
+    <lombok.version>[1.18,)</lombok.version>
+    <compiler-plugin.source>1.8</compiler-plugin.source>
+    <compiler-plugin.target>1.8</compiler-plugin.target>
+    <compiler-plugin.compilerArgument>-parameters</compiler-plugin.compilerArgument>
+    <datanucleus-core.version>5.1.6</datanucleus-core.version>
+    <hsqldb.version>2.3.4</hsqldb.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+  </properties>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>com.github.odavid.maven.plugins</groupId>
+        <artifactId>mixin-maven-plugin</artifactId>
+        <version>0.1-alpha-39</version>
+        <extensions>true</extensions>
+        <configuration>
+          <mixins>
+            <mixin>
+              <groupId>com.danhaywood.mavenmixin</groupId>
+              <artifactId>standard</artifactId>
+            </mixin>
+          </mixins>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>flatten-maven-plugin</artifactId>
+        <version>1.0.0</version>
+        <configuration>
+          <updatePomFile>true</updatePomFile>
+          <pomElements>
+            <dependencyManagement>resolve</dependencyManagement>
+            <dependencies>resolve</dependencies>
+          </pomElements>
+        </configuration>
+        <executions>
+          <execution>
+            <id>flatten</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>flatten</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>flatten.clean</id>
+            <phase>clean</phase>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencyManagement>
     <dependencies>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <scope>provided</scope>
-        </dependency>
+      <dependency>
+        <groupId>org.apache.isis.core</groupId>
+        <artifactId>isis</artifactId>
+        <version>${isis.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}-module-simple</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}-module-simple</artifactId>
+        <version>${version}</version>
+        <type>test-jar</type>
+      </dependency>
+      <dependency>
+        <groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}-application</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>${groupId}</groupId>
+        <artifactId>${rootArtifactId}-webapp</artifactId>
+        <version>${version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.projectlombok</groupId>
+        <artifactId>lombok</artifactId>
+        <version>${lombok.version}</version>
+        <scope>provided</scope>
+      </dependency>
     </dependencies>
-
-    <profiles>
-        <profile>
-            <id>m2e</id>
-            <activation>
-                <property>
-                    <name>m2e.version</name>
-                </property>
-            </activation>
-            <build>
-                <directory>target-ide</directory>
-                <plugins>
-                    <!-- eclipse doesn't seem to support maven mixins config, so repeat here -->
-                    <plugin>
-                        <artifactId>maven-compiler-plugin</artifactId>
-                        <configuration>
-                            <source>${compiler-plugin.source}</source>
-                            <target>${compiler-plugin.target}</target>
-                            <compilerArgument>${compiler-plugin.compilerArgument}</compilerArgument>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+  <profiles>
+    <profile>
+      <id>m2e</id>
+      <activation>
+        <property>
+          <name>m2e.version</name>
+        </property>
+      </activation>
+      <build>
+        <directory>target-ide</directory>
+        <plugins>
+          <plugin>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <source>${compiler-plugin.source}</source>
+              <target>${compiler-plugin.target}</target>
+              <compilerArgument>${compiler-plugin.compilerArgument}</compilerArgument>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 </project>
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/pom.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/pom.xml
index abb92ad..b60b51e 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/pom.xml
@@ -26,7 +26,7 @@
     </parent>
 
     <artifactId>${artifactId}</artifactId>
-    <name>SimpleApp Webapp</name>
+    <name>Apache Isis App - SimpleApp Webapp</name>
 
     <description>This assemblies and runs both the Wicket viewer and the Restfulobjects viewer in a single webapp configured to run using the datanucleus object store.</description>
 
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
index c2ca289..a26a781 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -234,5 +234,5 @@ log4j.additivity.dom.simple.SimpleObject=false
 
 
 ${symbol_pound} ERROR to suppress the WARNings we get as of 1.15.0
-log4j.logger.org.apache.wicket.page.XmlPartialPageUpdate=ERROR,Console
-log4j.additivity.org.apache.wicket.page.XmlPartialPageUpdate=false
+log4j.logger.org.apache.wicket.page.PartialPageUpdate=ERROR,Console
+log4j.additivity.org.apache.wicket.page.PartialPageUpdate=false
diff --git a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
index afc3bb2..fb6da08 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/src/main/webapp/WEB-INF/web.xml
@@ -20,9 +20,10 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<web-app id="WebApp_ID" version="2.4"
-    xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
+	id="WebApp_ID" version="3.1">    
 
     <display-name>Simple app</display-name>
 
diff --git a/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties b/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
index b17380e..3c2332a 100644
--- a/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
+++ b/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
@@ -1,4 +1,4 @@
-#Thu Mar 15 01:10:47 GMT 2018
+#Thu Jul 19 00:37:12 CEST 2018
 package=it.pkg
 version=0.1-SNAPSHOT
 groupId=archetype.it