ISIS-1538: recreating simpleapp archetype

Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fa36da4a
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fa36da4a
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fa36da4a

Branch: refs/heads/maint-1.13.2
Commit: fa36da4a486d24c72b78c5a3ee812d9c228156ac
Parents: 147f4c5
Author: Dan Haywood <d...@haywood-associates.co.uk>
Authored: Thu Dec 1 10:20:19 2016 +0000
Committer: Dan Haywood <d...@haywood-associates.co.uk>
Committed: Thu Dec 1 10:20:19 2016 +0000

----------------------------------------------------------------------
 example/archetype/simpleapp/pom.xml             |   5 +
 .../resources/archetype-resources/README.adoc   |   6 +-
 .../archetype-resources/application/pom.xml     |  10 +-
 .../application/integtests/Smoke_IntegTest.java |   6 +-
 .../application/translations.pot                |  50 ++++-
 .../archetype-resources/module-simple/pom.xml   |  28 ++-
 .../modules/simple/dom/impl/SimpleObject.java   |  20 +-
 .../dom/impl/SimpleObjectRepository_Test.java   | 128 +++++++++++
 .../impl/SimpleObjectRepository_UnitTest.java   | 129 -----------
 .../simple/dom/impl/SimpleObject_Test.java      |  52 +++++
 .../simple/dom/impl/SimpleObject_UnitTest.java  |  52 -----
 .../tests/SimpleObject_IntegTest.java           |   4 +-
 .../module-simple/translations.pot              |  27 ++-
 .../main/resources/archetype-resources/pom.xml  | 221 ++++++++++++++++++-
 .../archetype-resources/webapp/pom.xml          |  24 +-
 .../projects/basic/archetype.properties         |   2 +-
 16 files changed, 520 insertions(+), 244 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/pom.xml
----------------------------------------------------------------------
diff --git a/example/archetype/simpleapp/pom.xml 
b/example/archetype/simpleapp/pom.xml
index aec93cf..bb22f53 100644
--- a/example/archetype/simpleapp/pom.xml
+++ b/example/archetype/simpleapp/pom.xml
@@ -41,6 +41,11 @@
             </plugins>
         </pluginManagement>
     </build>
+    <scm>
+        
<connection>scm:git:g...@github.com:danhaywood/java-mavenmixin-standard.git</connection>
+        
<developerConnection>scm:git:g...@github.com:danhaywood/java-mavenmixin-standard.git</developerConnection>
+        <url>g...@github.com:danhaywood/java-mavenmixin-standard.git</url>
+    </scm>
     <parent>
         <groupId>org.apache.isis.core</groupId>
         <artifactId>isis</artifactId>

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
index bd1f923..df457bb 100644
--- 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/README.adoc
@@ -77,7 +77,7 @@ mvn -f pom-jdo-enhance-all.xml datanucleus:enhance
 +
 [source,bash]
 ----
-mvn package -Ddanhaywood-mavenmixin-jettyconsole
+mvn package -Dmavenmixin-jettyconsole
 ----
 +
 This can then be run using: +
@@ -94,7 +94,7 @@ Add additional flags, eg ``--headless`` or ``--port 9999``, 
if required.
 +
 [source,bash]
 ----
-mvn clean package -Ddanhaywood-mavenmixin-sourceandjavadoc
+mvn clean package -Dmavenmixin-sourceandjavadoc
 ----
 +
 [NOTE]
@@ -106,7 +106,7 @@ This is configured only for the `module-simple` module.
 +
 [source,bash]
 ----
-mvn -pl module-simple site -Ddanhaywood-mavenmixin-sourceandjavadoc 
-Ddanhaywood-mavenmixin-staticanalysis
+mvn -pl module-simple site -Dmavenmixin-sourceandjavadoc 
-Dmavenmixin-staticanalysis
 ----
 +
 [NOTE]

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/pom.xml
----------------------------------------------------------------------
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 09f1fe8..bf5d0a0 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
@@ -72,22 +72,22 @@
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>standard</artifactId>
-                            
<version>${danhaywood-mavenmixin-standard.version}</version>
+                            <version>${mavenmixin-standard.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>enforcerrelaxed</artifactId>
-                            
<version>${danhaywood-mavenmixin-enforcerelaxed.version}</version>
+                            
<version>${mavenmixin-enforcerrelaxed.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>surefire</artifactId>
-                            
<version>${danhaywood-mavenmixin-surefire.version}</version>
+                            <version>${mavenmixin-surefire.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>cucumberreporting</artifactId>
-                            
<version>${danhaywood-mavenmixin-cucumberreporting.version}</version>
+                            
<version>${mavenmixin-cucumberreporting.version}</version>
                         </mixin>
                     </mixins>
                 </configuration>
@@ -113,7 +113,7 @@
         <dependency>
             <groupId>com.danhaywood.mavendeps</groupId>
             <artifactId>isistesting</artifactId>
-            <version>0.0.2</version>
+            <version>${mavendeps-isistesting.version}</version>
             <type>pom</type>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/integtests/Smoke_IntegTest.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/integtests/Smoke_IntegTest.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/integtests/Smoke_IntegTest.java
index 9a1d8fb..d69d88b 100644
--- 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/integtests/Smoke_IntegTest.java
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/application/src/test/java/domainapp/application/integtests/Smoke_IntegTest.java
@@ -45,7 +45,7 @@ public class Smoke_IntegTest extends 
DomainAppIntegTestAbstract {
     SimpleObjectMenu menu;
 
     @Test
-    public void create_() throws Exception {
+    public void create() throws Exception {
 
         // given
         DomainAppTearDown fs = new DomainAppTearDown();
@@ -84,7 +84,7 @@ public class Smoke_IntegTest extends 
DomainAppIntegTestAbstract {
 
 
         // when
-        wrap(mixin(SimpleObject._updateName.class, 
fred)).${symbol_dollar}${symbol_dollar}("Freddy");
+        wrap(mixin(SimpleObject.updateName.class, fred)).exec("Freddy");
         transactionService.flushTransaction();
 
         // then
@@ -100,7 +100,7 @@ public class Smoke_IntegTest extends 
DomainAppIntegTestAbstract {
 
 
         // when
-        wrap(mixin(SimpleObject._delete.class, 
fred)).${symbol_dollar}${symbol_dollar}();
+        wrap(mixin(SimpleObject.delete.class, fred)).exec();
         transactionService.flushTransaction();
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/application/translations.pot
----------------------------------------------------------------------
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 680928d..e97d6d2 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: 2016-11-29 17:20:33+\n"
+"POT-Creation-Date: 2016-12-01 10:14:01+\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -96,6 +96,26 @@ msgid "Current"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault#currentOverridesIfAny()
+msgid "Current Overrides If Any"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#delete()
+msgid "Delete"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadJdoMetadata()
+msgid "Download Jdo Metadata"
+msgstr ""
+
+
+#: domainapp.modules.simple.dom.impl.SimpleObject#downloadLayoutXml()
+msgid "Download Layout Xml"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.layout.LayoutServiceMenu#downloadLayouts()
 msgid "Download Layouts (XML)"
 msgstr ""
@@ -116,6 +136,12 @@ msgid "Download Translations"
 msgstr ""
 
 
+#: domainapp.modules.simple.dom.impl.SimpleObject$delete#exec()
+#: domainapp.modules.simple.dom.impl.SimpleObject$updateName#exec()
+msgid "Exec"
+msgstr ""
+
+
 #: 
org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternalNoop#executeWithinTransaction()
 #: 
org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault#executeWithinTransaction()
 msgid "Execute Within Transaction"
@@ -227,7 +253,7 @@ msgstr ""
 
 
 #: domainapp.modules.simple.dom.impl.SimpleObject#name
-#: 
domainapp.modules.simple.dom.impl.SimpleObject$_updateName#$$(java.lang.String)
+#: 
domainapp.modules.simple.dom.impl.SimpleObject$updateName#exec(java.lang.String)
 #: domainapp.modules.simple.dom.impl.SimpleObjectMenu#create(java.lang.String)
 #: 
domainapp.modules.simple.dom.impl.SimpleObjectMenu#findByName(java.lang.String)
 msgid "Name"
@@ -311,6 +337,11 @@ msgid "Public"
 msgstr ""
 
 
+#: domainapp.modules.simple.dom.impl.SimpleObject#rebuildMetamodel()
+msgid "Rebuild Metamodel"
+msgstr ""
+
+
 #: 
org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#recreateObjectsAndReturnFirst()
 msgid "Recreate Objects And Return First"
 msgstr ""
@@ -331,6 +362,11 @@ msgid "Result key"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault$UserAndRoleOverrides#roles
+msgid "Roles"
+msgstr ""
+
+
 #: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
 #: 
org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
 #: 
org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
@@ -375,6 +411,16 @@ msgid "Switch To Writing Translations"
 msgstr ""
 
 
+#: domainapp.modules.simple.dom.impl.SimpleObject#updateName()
+msgid "Update Name"
+msgstr ""
+
+
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault$UserAndRoleOverrides#user
+msgid "User"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.config.ConfigurationProperty#value
 msgid "Value"
 msgstr ""

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/pom.xml
----------------------------------------------------------------------
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 c24dea8..fa907a3 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
@@ -28,6 +28,14 @@
     <artifactId>${artifactId}</artifactId>
     <name>SimpleApp Simple Module</name>
 
+    <properties>
+        
<isis-maven-plugin.validate.appManifest>domainapp.modules.simple.SimpleModuleManifest</isis-maven-plugin.validate.appManifest>
+
+        
<maven-checkstyle-plugin.configLocation>${project.parent.basedir}/_checks/checkstyle.xml</maven-checkstyle-plugin.configLocation>
+        
<maven-pmd-plugin.ruleset>${project.parent.basedir}/_checks/pmd.xml</maven-pmd-plugin.ruleset>
+
+    </properties>
+
     <build>
         <resources>
             <resource>
@@ -68,37 +76,37 @@
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>standard</artifactId>
-                            
<version>${danhaywood-mavenmixin-standard.version}</version>
+                            <version>${mavenmixin-standard.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>enforcerrelaxed</artifactId>
-                            
<version>${danhaywood-mavenmixin-enforcerelaxed.version}</version>
+                            
<version>${mavenmixin-enforcerrelaxed.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>datanucleusenhance</artifactId>
-                            
<version>${danhaywood-mavenmixin-datanucleusenhance.version}</version>
+                            
<version>${mavenmixin-datanucleusenhance.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>isisvalidate</artifactId>
-                            
<version>${danhaywood-mavenmixin-isisvalidate.version}</version>
+                            
<version>${mavenmixin-isisvalidate.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>surefire</artifactId>
-                            
<version>${danhaywood-mavenmixin-surefire.version}</version>
+                            <version>${mavenmixin-surefire.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>sourceandjavadoc</artifactId>
-                            
<version>${danhaywood-mavenmixin-sourceandjavadoc.version}</version>
+                            
<version>${mavenmixin-sourceandjavadoc.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>staticanalysis</artifactId>
-                            
<version>${danhaywood-mavenmixin-staticanalysis.version}</version>
+                            
<version>${mavenmixin-staticanalysis.version}</version>
                         </mixin>
                     </mixins>
                 </configuration>
@@ -106,10 +114,6 @@
         </plugins>
     </build>
 
-    <properties>
-        
<danhaywood-mavenmixin-isisvalidate.appManifest>domainapp.modules.simple.SimpleModuleManifest</danhaywood-mavenmixin-isisvalidate.appManifest>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>org.apache.isis.core</groupId>
@@ -119,7 +123,7 @@
         <dependency>
             <groupId>com.danhaywood.mavendeps</groupId>
             <artifactId>isistesting</artifactId>
-            <version>0.0.2</version>
+            <version>${mavendeps-isistesting.version}</version>
             <type>pom</type>
             <scope>test</scope>
         </dependency>

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/main/java/domainapp/modules/simple/dom/impl/SimpleObject.java
----------------------------------------------------------------------
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 3d05da7..bc9bd2e 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
@@ -143,15 +143,15 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
     //endregion
 
     //region > updateName (action)
-    @Mixin
-    public static class _updateName {
+    @Mixin(method = "exec")
+    public static class updateName {
 
         public static class ActionDomainEvent extends 
SimpleModuleDomSubmodule.ActionDomainEvent<SimpleObject> {
         }
 
         private final SimpleObject simpleObject;
 
-        public _updateName(final SimpleObject simpleObject) {
+        public updateName(final SimpleObject simpleObject) {
             this.simpleObject = simpleObject;
         }
 
@@ -164,7 +164,7 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
         @ActionLayout(
                 contributed = Contributed.AS_ACTION
         )
-        public SimpleObject ${symbol_dollar}${symbol_dollar}(
+        public SimpleObject exec(
                 @Parameter(maxLength = SimpleObject.NameType.Meta.MAX_LEN)
                 @ParameterLayout(named = "Name")
                 final String name) {
@@ -172,11 +172,11 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
             return simpleObject;
         }
 
-        public String default0${symbol_dollar}${symbol_dollar}() {
+        public String default0Exec() {
             return simpleObject.getName();
         }
 
-        public TranslatableString 
validate0${symbol_dollar}${symbol_dollar}(final String name) {
+        public TranslatableString validate0Exec(final String name) {
             return name != null && name.contains("!") ? 
TranslatableString.tr("Exclamation mark is not allowed") : null;
         }
 
@@ -184,14 +184,14 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
     //endregion
 
     //region > delete (action)
-    @Mixin
-    public static class _delete {
+    @Mixin(method = "exec")
+    public static class delete {
 
         public static class ActionDomainEvent extends 
SimpleModuleDomSubmodule.ActionDomainEvent<SimpleObject> {
         }
 
         private final SimpleObject simpleObject;
-        public _delete(final SimpleObject simpleObject) {
+        public delete(final SimpleObject simpleObject) {
             this.simpleObject = simpleObject;
         }
 
@@ -202,7 +202,7 @@ public class SimpleObject implements 
Comparable<SimpleObject> {
         @ActionLayout(
                 contributed = Contributed.AS_ACTION
         )
-        public void ${symbol_dollar}${symbol_dollar}() {
+        public void exec() {
             final String title = titleService.titleOf(simpleObject);
             messageService.informUser(String.format("'%s' deleted", title));
             repositoryService.remove(simpleObject);

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
new file mode 100644
index 0000000..0b6a050
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_Test.java
@@ -0,0 +1,128 @@
+#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 com.google.common.collect.Lists;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+import org.hamcrest.TypeSafeMatcher;
+import org.jmock.Expectations;
+import org.jmock.Sequence;
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.services.registry.ServiceRegistry2;
+import org.apache.isis.applib.services.repository.RepositoryService;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class SimpleObjectRepository_Test {
+
+    @Rule
+    public JUnitRuleMockery2 context = 
JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    ServiceRegistry2 mockServiceRegistry;
+    
+    @Mock
+    RepositoryService mockRepositoryService;
+
+    SimpleObjectRepository simpleObjectRepository;
+
+    @Before
+    public void setUp() throws Exception {
+        simpleObjectRepository = new SimpleObjectRepository();
+        simpleObjectRepository.repositoryService = mockRepositoryService;
+        simpleObjectRepository.serviceRegistry = mockServiceRegistry;
+    }
+
+    public static class Create extends SimpleObjectRepository_Test {
+
+        @Test
+        public void happyCase() throws Exception {
+
+            final String someName = "Foobar";
+
+            // given
+            final Sequence seq = context.sequence("create");
+            context.checking(new Expectations() {
+                {
+                    
oneOf(mockServiceRegistry).injectServicesInto(with(any(SimpleObject.class)));
+                    inSequence(seq);
+
+                    
oneOf(mockRepositoryService).persist(with(nameOf(someName)));
+                    inSequence(seq);
+                }
+
+            });
+
+            // when
+            final SimpleObject obj = simpleObjectRepository.create(someName);
+
+            // then
+            assertThat(obj).isNotNull();
+            assertThat(obj.getName()).isEqualTo(someName);
+        }
+
+        private static Matcher<SimpleObject> nameOf(final String name) {
+            return new TypeSafeMatcher<SimpleObject>() {
+                @Override
+                protected boolean matchesSafely(final SimpleObject item) {
+                    return name.equals(item.getName());
+                }
+
+                @Override
+                public void describeTo(final Description description) {
+                    description.appendText("has name of '" + name + "'");
+                }
+            };
+        }
+    }
+
+    public static class ListAll extends SimpleObjectRepository_Test {
+
+        @Test
+        public void happyCase() throws Exception {
+
+            // given
+            final List<SimpleObject> all = Lists.newArrayList();
+
+            context.checking(new Expectations() {
+                {
+                    
oneOf(mockRepositoryService).allInstances(SimpleObject.class);
+                    will(returnValue(all));
+                }
+            });
+
+            // when
+            final List<SimpleObject> list = simpleObjectRepository.listAll();
+
+            // then
+            assertThat(list).isEqualTo(all);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_UnitTest.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_UnitTest.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_UnitTest.java
deleted file mode 100644
index 3bab9e3..0000000
--- 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObjectRepository_UnitTest.java
+++ /dev/null
@@ -1,129 +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 com.google.common.collect.Lists;
-
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-import org.jmock.Expectations;
-import org.jmock.Sequence;
-import org.jmock.auto.Mock;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.registry.ServiceRegistry2;
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObjectRepository_UnitTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = 
JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    ServiceRegistry2 mockServiceRegistry;
-    
-    @Mock
-    RepositoryService mockRepositoryService;
-
-    SimpleObjectRepository simpleObjectRepository;
-
-    @Before
-    public void setUp() throws Exception {
-        simpleObjectRepository = new SimpleObjectRepository();
-        simpleObjectRepository.repositoryService = mockRepositoryService;
-        simpleObjectRepository.serviceRegistry = mockServiceRegistry;
-    }
-
-    public static class Create extends SimpleObjectRepository_UnitTest {
-
-        @Test
-        public void happyCase() throws Exception {
-
-            final String someName = "Foobar";
-
-            // given
-            final Sequence seq = context.sequence("create");
-            context.checking(new Expectations() {
-                {
-                    
oneOf(mockServiceRegistry).injectServicesInto(with(any(SimpleObject.class)));
-                    inSequence(seq);
-
-                    
oneOf(mockRepositoryService).persist(with(nameOf(someName)));
-                    inSequence(seq);
-                }
-
-            });
-
-            // when
-            final SimpleObject obj = simpleObjectRepository.create(someName);
-
-            // then
-            assertThat(obj).isNotNull();
-            assertThat(obj.getName()).isEqualTo(someName);
-        }
-
-        private static Matcher<SimpleObject> nameOf(final String name) {
-            return new TypeSafeMatcher<SimpleObject>() {
-                @Override
-                protected boolean matchesSafely(final SimpleObject item) {
-                    return name.equals(item.getName());
-                }
-
-                @Override
-                public void describeTo(final Description description) {
-                    description.appendText("has name of '" + name + "'");
-                }
-            };
-        }
-    }
-
-    public static class ListAll extends SimpleObjectRepository_UnitTest {
-
-        @Test
-        public void happyCase() throws Exception {
-
-            // given
-            final List<SimpleObject> all = Lists.newArrayList();
-
-            context.checking(new Expectations() {
-                {
-                    
oneOf(mockRepositoryService).allInstances(SimpleObject.class);
-                    will(returnValue(all));
-                }
-            });
-
-            // when
-            final List<SimpleObject> list = simpleObjectRepository.listAll();
-
-            // then
-            assertThat(list).isEqualTo(all);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
----------------------------------------------------------------------
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
new file mode 100644
index 0000000..43180a2
--- /dev/null
+++ 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_Test.java
@@ -0,0 +1,52 @@
+#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 org.junit.Before;
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class SimpleObject_Test {
+
+    SimpleObject simpleObject;
+
+    @Before
+    public void setUp() throws Exception {
+        simpleObject = new SimpleObject("Foobar");
+    }
+
+    public static class Name extends SimpleObject_Test {
+
+        @Test
+        public void happyCase() throws Exception {
+            // given
+            assertThat(simpleObject.getName()).isEqualTo("Foobar");
+
+            // when
+            String name = "Foobar - updated";
+            simpleObject.setName(name);
+
+            // then
+            assertThat(simpleObject.getName()).isEqualTo(name);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_UnitTest.java
----------------------------------------------------------------------
diff --git 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_UnitTest.java
 
b/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_UnitTest.java
deleted file mode 100644
index ec2bb0e..0000000
--- 
a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/dom/impl/SimpleObject_UnitTest.java
+++ /dev/null
@@ -1,52 +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 org.junit.Before;
-import org.junit.Test;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class SimpleObject_UnitTest {
-
-    SimpleObject simpleObject;
-
-    @Before
-    public void setUp() throws Exception {
-        simpleObject = new SimpleObject("Foobar");
-    }
-
-    public static class Name extends SimpleObject_UnitTest {
-
-        @Test
-        public void happyCase() throws Exception {
-            // given
-            assertThat(simpleObject.getName()).isEqualTo("Foobar");
-
-            // when
-            String name = "Foobar - updated";
-            simpleObject.setName(name);
-
-            // then
-            assertThat(simpleObject.getName()).isEqualTo(name);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
----------------------------------------------------------------------
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 f4b4cce..5d7b696 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
@@ -90,7 +90,7 @@ public class SimpleObject_IntegTest extends 
SimpleModuleIntegTestAbstract {
         public void can_be_updated_directly() throws Exception {
 
             // when
-            wrap(mixin(SimpleObject._updateName.class, 
simpleObject)).${symbol_dollar}${symbol_dollar}("new name");
+            wrap(mixin(SimpleObject.updateName.class, simpleObject)).exec("new 
name");
             transactionService.nextTransaction();
 
             // then
@@ -105,7 +105,7 @@ public class SimpleObject_IntegTest extends 
SimpleModuleIntegTestAbstract {
             expectedExceptions.expectMessage("Exclamation mark is not 
allowed");
 
             // when
-            wrap(mixin(SimpleObject._updateName.class, 
simpleObject)).${symbol_dollar}${symbol_dollar}("new name!");
+            wrap(mixin(SimpleObject.updateName.class, simpleObject)).exec("new 
name!");
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/module-simple/translations.pot
----------------------------------------------------------------------
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 93cf153..1723c57 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: 2016-11-29 17:20:27+\n"
+"POT-Creation-Date: 2016-12-01 10:14:55+\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -96,6 +96,11 @@ msgid "Current"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault#currentOverridesIfAny()
+msgid "Current Overrides If Any"
+msgstr ""
+
+
 #: domainapp.modules.simple.dom.impl.SimpleObject#delete()
 msgid "Delete"
 msgstr ""
@@ -131,11 +136,17 @@ msgid "Download Translations"
 msgstr ""
 
 
-#: 
domainapp.modules.simple.dom.impl.SimpleObject$_updateName#$$(java.lang.String)
+#: 
domainapp.modules.simple.dom.impl.SimpleObject$updateName#exec(java.lang.String)
 msgid "Exclamation mark is not allowed"
 msgstr ""
 
 
+#: domainapp.modules.simple.dom.impl.SimpleObject$delete#exec()
+#: domainapp.modules.simple.dom.impl.SimpleObject$updateName#exec()
+msgid "Exec"
+msgstr ""
+
+
 #: 
org.apache.isis.core.metamodel.services.persistsession.PersistenceSessionServiceInternalNoop#executeWithinTransaction()
 #: 
org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault#executeWithinTransaction()
 msgid "Execute Within Transaction"
@@ -237,7 +248,7 @@ msgstr ""
 
 
 #: domainapp.modules.simple.dom.impl.SimpleObject#name
-#: 
domainapp.modules.simple.dom.impl.SimpleObject$_updateName#$$(java.lang.String)
+#: 
domainapp.modules.simple.dom.impl.SimpleObject$updateName#exec(java.lang.String)
 #: domainapp.modules.simple.dom.impl.SimpleObjectMenu#create(java.lang.String)
 #: 
domainapp.modules.simple.dom.impl.SimpleObjectMenu#findByName(java.lang.String)
 msgid "Name"
@@ -340,6 +351,11 @@ msgid "Result key"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault$UserAndRoleOverrides#roles
+msgid "Roles"
+msgstr ""
+
+
 #: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
 #: 
org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScript()
 #: 
org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault#runFixtureScriptWithAutoComplete()
@@ -389,6 +405,11 @@ msgid "Update Name"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.user.UserServiceDefault$UserAndRoleOverrides#user
+msgid "User"
+msgstr ""
+
+
 #: org.apache.isis.applib.services.config.ConfigurationProperty#value
 msgid "Value"
 msgstr ""

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
----------------------------------------------------------------------
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 01e0ee3..2cfc4be 100644
--- a/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
+++ b/example/archetype/simpleapp/src/main/resources/archetype-resources/pom.xml
@@ -37,22 +37,221 @@
         <lombok.version>1.16.10</lombok.version>
         <assertj-core.version>3.6.0</assertj-core.version>
 
-        
<danhaywood-mavenmixin-cucumberreporting.version>0.0.1</danhaywood-mavenmixin-cucumberreporting.version>
-        
<danhaywood-mavenmixin-enforcerelaxed.version>0.0.1</danhaywood-mavenmixin-enforcerelaxed.version>
-        
<danhaywood-mavenmixin-datanucleusenhance.version>0.0.3</danhaywood-mavenmixin-datanucleusenhance.version>
-        
<danhaywood-mavenmixin-isisswagger.version>0.0.2</danhaywood-mavenmixin-isisswagger.version>
-        
<danhaywood-mavenmixin-isisvalidate.version>0.0.1</danhaywood-mavenmixin-isisvalidate.version>
-        
<danhaywood-mavenmixin-jettyconsole.version>0.0.1</danhaywood-mavenmixin-jettyconsole.version>
-        
<danhaywood-mavenmixin-jettywar.version>0.0.1</danhaywood-mavenmixin-jettywar.version>
-        
<danhaywood-mavenmixin-sourceandjavadoc.version>0.0.1</danhaywood-mavenmixin-sourceandjavadoc.version>
-        
<danhaywood-mavenmixin-standard.version>0.0.1</danhaywood-mavenmixin-standard.version>
-        
<danhaywood-mavenmixin-surefire.version>0.0.2</danhaywood-mavenmixin-surefire.version>
-        
<danhaywood-mavenmixin-staticanalysis.version>0.0.1</danhaywood-mavenmixin-staticanalysis.version>
+        
<mavenmixin-cucumberreporting.version>0.0.2</mavenmixin-cucumberreporting.version>
+        
<maven-cucumber-reporting.dependency.log4j.version>2.7</maven-cucumber-reporting.dependency.log4j.version>
+
+        
<mavenmixin-datanucleusenhance.version>0.0.4</mavenmixin-datanucleusenhance.version>
+        
<datanucleus-maven-plugin.version>4.0.5</datanucleus-maven-plugin.version>
+        <datanucleus-core.version>4.1.7</datanucleus-core.version>
+        <datanucleus-api-jdo.version>4.1.1</datanucleus-api-jdo.version>
+        
<datanucleus-jodatime.version>4.1.0-release</datanucleus-jodatime.version>
+
+        
<mavenmixin-enforcerrelaxed.version>0.0.2</mavenmixin-enforcerrelaxed.version>
+        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
+
+        <mavenmixin-isisswagger.version>0.0.3</mavenmixin-isisswagger.version>
+        
<mavenmixin-isisvalidate.version>0.0.2</mavenmixin-isisvalidate.version>
+        <isis-maven-plugin.version>1.13.1</isis-maven-plugin.version>
+
+        
<mavenmixin-jettyconsole.version>0.0.2</mavenmixin-jettyconsole.version>
+        
<jetty-console-maven-plugin.version>1.59</jetty-console-maven-plugin.version>
+        <maven-antrun-plugin.version>1.8</maven-antrun-plugin.version>
+
+        <mavenmixin-jettywar.version>0.0.2</mavenmixin-jettywar.version>
+        <maven-war-plugin.version>2.4</maven-war-plugin.version>
+        
<jetty-maven-plugin.version>9.3.5.v20151012</jetty-maven-plugin.version>
+
+        
<mavenmixin-sourceandjavadoc.version>0.0.2</mavenmixin-sourceandjavadoc.version>
+        <maven-javadoc-plugin.version>2.9.1</maven-javadoc-plugin.version>
+        <maven-jxr-plugin.version>2.4</maven-jxr-plugin.version>
+        <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
+
+        <mavenmixin-standard.version>0.0.2</mavenmixin-standard.version>
+        <maven-clean-plugin.version>2.5</maven-clean-plugin.version>
+        
<maven-project-info-reports-plugin.version>2.9</maven-project-info-reports-plugin.version>
+        <maven-resources-plugin.version>2.6</maven-resources-plugin.version>
+        <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
+        <maven-jar-plugin.version>2.4</maven-jar-plugin.version>
+        <maven-install-plugin.version>2.5.1</maven-install-plugin.version>
+        <maven-deploy-plugin.version>2.8.1</maven-deploy-plugin.version>
+        <maven-site-plugin.version>3.3</maven-site-plugin.version>
+
+        <mavenmixin-surefire.version>0.0.4</mavenmixin-surefire.version>
+        <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
+        
<maven-surefire-report-plugin.version>2.19.1</maven-surefire-report-plugin.version>
+
+        
<mavenmixin-staticanalysis.version>0.0.2</mavenmixin-staticanalysis.version>
+        <maven-checkstyle-plugin.version>2.11</maven-checkstyle-plugin.version>
+        <maven-pmd-plugin.version>3.0.1</maven-pmd-plugin.version>
+        <javancss-maven-plugin.version>2.1</javancss-maven-plugin.version>
+        <jdepend-maven-plugin.version>2.0-beta-2</jdepend-maven-plugin.version>
+        <findbugs-maven-plugin.version>2.5</findbugs-maven-plugin.version>
+
+        <mavendeps-isistesting.version>0.0.2</mavendeps-isistesting.version>
+        <mavendeps-isisintellij.version>0.0.1</mavendeps-isisintellij.version>
+        <mavendeps-isiswebapp.version>0.0.1</mavendeps-isiswebapp.version>
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     </properties>
 
+    <build>
+        <pluginManagement>
+            <plugins>
+                <!-- mavenmixin-cucumberreporting -->
+                <plugin>
+                    <groupId>net.masterthought</groupId>
+                    <artifactId>maven-cucumber-reporting</artifactId>
+                    <version>${maven-cucumber-reporting.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-datanucleusenhancer -->
+                <plugin>
+                    <groupId>org.datanucleus</groupId>
+                    <artifactId>datanucleus-maven-plugin</artifactId>
+                    <version>${datanucleus-maven-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-enforcerrelaxed -->
+                <plugin>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <version>${maven-enforcer-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-isisvalidate & mavenmixin-isisswagger -->
+                <plugin>
+                    <groupId>org.apache.isis.tool</groupId>
+                    <artifactId>isis-maven-plugin</artifactId>
+                    <version>${isis-maven-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-jettyconsole -->
+                <plugin>
+                    <groupId>org.simplericity.jettyconsole</groupId>
+                    <artifactId>jetty-console-maven-plugin</artifactId>
+                    <version>${jetty-console-maven-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-antrun-plugin</artifactId>
+                    <version>${maven-antrun-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-jettywar -->
+                <plugin>
+                    <artifactId>maven-war-plugin</artifactId>
+                    <version>${maven-war-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.eclipse.jetty</groupId>
+                    <artifactId>jetty-maven-plugin</artifactId>
+                    <version>${jetty-maven-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-sourceandjavadoc -->
+                <plugin>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>${maven-javadoc-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-jxr-plugin</artifactId>
+                    <version>${maven-jxr-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-source-plugin</artifactId>
+                    <version>${maven-source-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-standard -->
+                <plugin>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>${maven-clean-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-project-info-reports-plugin</artifactId>
+                    
<version>${maven-project-info-reports-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>${maven-resources-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>${maven-compiler-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>${maven-jar-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-install-plugin</artifactId>
+                    <version>${maven-install-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <version>${maven-deploy-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>${maven-site-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-surefire -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>${maven-surefire-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-report-plugin</artifactId>
+                    <version>${maven-surefire-report-plugin.version}</version>
+                </plugin>
+
+                <!-- mavenmixin-staticanalysis -->
+                <plugin>
+                    <artifactId>maven-checkstyle-plugin</artifactId>
+                    <version>${maven-checkstyle-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <artifactId>maven-pmd-plugin</artifactId>
+                    <version>${maven-pmd-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>javancss-maven-plugin</artifactId>
+                    <version>${javancss-maven-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>jdepend-maven-plugin</artifactId>
+                    <version>${jdepend-maven-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>findbugs-maven-plugin</artifactId>
+                    <version>${findbugs-maven-plugin.version}</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        <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>
+                            <version>${mavenmixin-standard.version}</version>
+                        </mixin>
+                    </mixins>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
     <repositories>
         <repository>
             <id>apache.snapshots</id>

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/main/resources/archetype-resources/webapp/pom.xml
----------------------------------------------------------------------
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 461e68d..b614837 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
@@ -33,12 +33,14 @@
     <packaging>war</packaging>
 
     <properties>
-        
<danhaywood-mavenmixin-isisswagger.appManifest>domainapp.application.manifest.DomainAppAppManifest</danhaywood-mavenmixin-isisswagger.appManifest>
-        
<danhaywood-mavenmixin-isisswagger.dependency.artifactId>${project.parent.artifactId}-application</danhaywood-mavenmixin-isisswagger.dependency.artifactId>
-        
<danhaywood-mavenmixin-jettywar.warName>${project.parent.artifactId}</danhaywood-mavenmixin-jettywar.warName>
 
-        
<danhaywood-mavenmixin-jettyconsole.backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</danhaywood-mavenmixin-jettyconsole.backgroundImage>
+        
<isis-maven-plugin.swagger.appManifest>domainapp.application.manifest.DomainAppAppManifest</isis-maven-plugin.swagger.appManifest>
+        
<isis-maven-plugin.swagger.dependency.groupId>${project.groupId}</isis-maven-plugin.swagger.dependency.groupId>
+        
<isis-maven-plugin.swagger.dependency.artifactId>${project.parent.artifactId}-application</isis-maven-plugin.swagger.dependency.artifactId>
 
+        
<jetty-console-maven-plugin.backgroundImage>${basedir}/src/main/jettyconsole/isis-banner.png</jetty-console-maven-plugin.backgroundImage>
+
+        
<maven-war-plugin.warName>${project.parent.artifactId}</maven-war-plugin.warName>
     </properties>
 
     <build>
@@ -93,27 +95,27 @@
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>standard</artifactId>
-                            
<version>${danhaywood-mavenmixin-standard.version}</version>
+                            <version>${mavenmixin-standard.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>enforcerrelaxed</artifactId>
-                            
<version>${danhaywood-mavenmixin-enforcerelaxed.version}</version>
+                            
<version>${mavenmixin-enforcerrelaxed.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>isisswagger</artifactId>
-                            
<version>${danhaywood-mavenmixin-isisswagger.version}</version>
+                            
<version>${mavenmixin-isisswagger.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>jettywar</artifactId>
-                            
<version>${danhaywood-mavenmixin-jettywar.version}</version>
+                            <version>${mavenmixin-jettywar.version}</version>
                         </mixin>
                         <mixin>
                             <groupId>com.danhaywood.mavenmixin</groupId>
                             <artifactId>jettyconsole</artifactId>
-                            
<version>${danhaywood-mavenmixin-jettyconsole.version}</version>
+                            
<version>${mavenmixin-jettyconsole.version}</version>
                         </mixin>
                     </mixins>
                 </configuration>
@@ -133,14 +135,14 @@
         <dependency>
             <groupId>com.danhaywood.mavendeps</groupId>
             <artifactId>isiswebapp</artifactId>
-            <version>0.0.1</version>
+            <version>${mavendeps-isiswebapp.version}</version>
             <type>pom</type>
         </dependency>
 
         <dependency>
             <groupId>com.danhaywood.mavendeps</groupId>
             <artifactId>isisintellij</artifactId>
-            <version>0.0.1</version>
+            <version>${mavendeps-isisintellij.version}</version>
             <type>pom</type>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/isis/blob/fa36da4a/example/archetype/simpleapp/src/test/resources/projects/basic/archetype.properties
----------------------------------------------------------------------
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 193772e..28ab8e4 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 @@
-#Tue Nov 29 17:43:32 GMT 2016
+#Thu Dec 01 10:20:13 GMT 2016
 package=it.pkg
 version=0.1-SNAPSHOT
 groupId=archetype.it

Reply via email to