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 2020/01/30 17:03:25 UTC

[isis] branch master updated (5caed74 -> dd48552)

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

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


    from 5caed74  ISIS-2223: integrate jacoco with surefire
     new 04cc491  ISIS-2062: docs
     new 348ce73  ISIS-2192: splits mavendeps-testing into 3
     new e7eaf0a  ISIS-2192: sorting out dependencies
     new ef123c3  ISIS-2192: sorting out dependencies
     new 011f207  ISIS-2192: porsts ExceptionRecognizerTranslate
     new 525ea0c  ISIS-2192: ports some unit test from 4 to 5
     new db36047  ISIS-2274: fixes for smoke test, I hope
     new dd48552  ISIS-2274: fixes for smoke test, I hope (fix typo)

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.adoc                                        |   8 +-
 .../modules/comguide/pages/cutting-a-release.adoc  |  88 ++-----
 api/adoc/userguide/modules/btb/pages/i18n.adoc     |   2 +-
 .../DomainModelTest_usingGoodDomain.java           |   1 +
 mavendeps/adoc/modules/mavendeps/pages/about.adoc  | 254 ++++++++++++++++++++-
 .../modules/mavendeps/partials/module-nav.adoc     |   2 +-
 .../zip/applib => mavendeps/integspecs}/pom.xml    |  34 +--
 .../zip/applib => mavendeps/integtests}/pom.xml    |  33 +--
 mavendeps/pom.xml                                  |   4 +-
 mavendeps/{testing => unittests}/pom.xml           |  45 +---
 pom.xml                                            |   2 +-
 starters/adoc/modules/ROOT/pages/about.adoc        |   6 +-
 .../adoc/modules/ROOT/partials/component-nav.adoc  |   2 -
 .../adoc/modules/ROOT/partials/module-nav.adoc     |   1 -
 .../modules/helloworld/partials/module-nav.adoc    |   2 +-
 starters/adoc/modules/parent-pom/pages/about.adoc  |  39 ++--
 starters/adoc/modules/simpleapp/pages/about.adoc   |   2 +-
 .../modules/simpleapp/partials/module-nav.adoc     |   2 +-
 testing/fixtures/applib/pom.xml                    |  12 +-
 .../fixturescripts/ExecutionContextTest.java       |   4 +-
 .../ExecutionParameters_AsKeyValueMap_Test.java    |   5 +-
 .../fixturescripts/ExecutionParameters_Test.java   |   8 +-
 .../legacy/FixtureClockInstantiationTest.java      |   8 +-
 .../adoc/modules/integtestsupport/pages/about.adoc |   2 +-
 testing/integtestsupport/applib/pom.xml            | 111 ++++-----
 .../applib/ExceptionRecognizerTranslate.java       |  61 ++---
 .../applib/IsisIntegrationTestAbstract.java        |   2 +
 testing/specsupport/applib/pom.xml                 |  32 +--
 testing/unittestsupport/applib/pom.xml             | 113 +++------
 29 files changed, 463 insertions(+), 422 deletions(-)
 copy {subdomains/zip/applib => mavendeps/integspecs}/pom.xml (63%)
 copy {subdomains/zip/applib => mavendeps/integtests}/pom.xml (63%)
 rename mavendeps/{testing => unittests}/pom.xml (68%)


[isis] 02/08: ISIS-2192: splits mavendeps-testing into 3

Posted by da...@apache.org.
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 348ce73e7ad849f4239b1d84192b1c22c7ae7a5f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 15:55:38 2020 +0000

    ISIS-2192: splits mavendeps-testing into 3
    
    * mavendeps-unittests
    * mavendeps-integtests
    * mavendeps-integspecs
---
 mavendeps/adoc/modules/mavendeps/pages/about.adoc  | 249 ++++++++++++++++++++-
 .../modules/mavendeps/partials/module-nav.adoc     |   2 +-
 pom.xml => mavendeps/integspecs/pom.xml            |  54 ++---
 pom.xml => mavendeps/integtests/pom.xml            |  52 ++---
 mavendeps/pom.xml                                  |   4 +-
 mavendeps/{testing => unittests}/pom.xml           |  46 +---
 pom.xml                                            |   2 +-
 starters/adoc/modules/parent-pom/pages/about.adoc  |  39 ++--
 starters/adoc/modules/simpleapp/pages/about.adoc   |   2 +-
 .../adoc/modules/integtestsupport/pages/about.adoc |   2 +-
 testing/integtestsupport/applib/pom.xml            | 116 ++++------
 testing/specsupport/applib/pom.xml                 |  32 +--
 testing/unittestsupport/applib/pom.xml             | 113 +++-------
 13 files changed, 389 insertions(+), 324 deletions(-)

diff --git a/mavendeps/adoc/modules/mavendeps/pages/about.adoc b/mavendeps/adoc/modules/mavendeps/pages/about.adoc
index ac42916..24a791f 100644
--- a/mavendeps/adoc/modules/mavendeps/pages/about.adoc
+++ b/mavendeps/adoc/modules/mavendeps/pages/about.adoc
@@ -1,4 +1,249 @@
-= Maven Dependencies
+= Convenience POMs
 :Notice: 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 ag [...]
 
-TODO: to document
+The framework provides a number of "convenience" POMs that act as aggregators of other dependencies.
+
+For example, when writing unit tests for your domain app,
+it can simply depend on the `isis-mavendeps-unittesting` artifact (rather than have to reference all of JUnit, AssertJ, Spring Boot, Hamcrest, Mockito and so on).
+
+Currently five convenience POMs are provided.
+
+== isis-mavendeps-webapp
+
+The `isis-mavendeps-webapp` aggregates the main runtime dependencies of a production webapp.
+
+To use, add the following :
+
+[source,xml]
+.webapp/pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-webapp</artifactId>
+        <type>pom</type>
+    </dependency>
+</dependencies>
+----
+
+For convenience, it includes all of the current components available:
+
+* Spring Boot (link:https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-first-application-dependencies[spring-boot-starter-web])
+
+* Apache Isis Core - the xref:refguide:ROOT:about.adoc[Applib] and underlying implementation (xref:core:runtime-services:about.adoc[Runtime Services])
+
+* All the security implementations (xref:security:bypass:about.adoc[Bypass],
+xref:security:shiro:about.adoc[Shiro], xref:security:keycloak:about.adoc[Keycloak])
+
+* All the viewer implementations (
+xref:vw:ROOT:about.adoc[Wicket], xref:vro:ROOT:about.adoc[Restful Objects])
+
+* All the persistence implementations (xref:pjdo:ROOT:about.adoc[JDO/DataNucleus])
+
+If you don't need any of these (for example, you'll probably only want one security implementation), then you can exclude the others.
+
+Also, remember that adding the class onto the classpath does _not_ make that functionality available (Apache Isis does not currently leverage Spring Boot's link:https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-auto-configuration[auto configuration] capabilities).
+So, you must also add in the appropriate `IsisModuleXxx` to your application's top-level link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration] (aka "app manifest").
+For example, see the xref:starters:simpleapp:about.adoc#appmanifest[AppManifest for the SimpleApp] starter app.
+
+
+== Testing and BDD Specs
+
+Three convenience POMs are provided to support  xref:testing:unittestsupport:about.adoc[unit testing], xref:testing:integtestsupport:about.adoc[integ testing] or running xref:testing:specsupport:about.adoc[BDD (Cucumber) specs].
+
+NOTE: in fact, these convenience POMs are just thin wrappers around the corresponding `isis-testing-xxx-applib` modules.
+We've added them for consistency.
+
+To use them when unit testing, add:
+
+[source,xml]
+.webapp/pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-unittests</artifactId>
+        <type>pom</type>
+        <scope>test</scope>
+    </dependency>
+</dependencies>
+----
+
+For integration testing, add:
+
+[source,xml]
+.webapp/pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-integtests</artifactId>
+        <type>pom</type>
+        <scope>test</scope>
+    </dependency>
+</dependencies>
+----
+
+For BDD (Cucumber) specs, within an integration testing context:
+
+[source,xml]
+.webapp/pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-integspecs</artifactId>
+        <type>pom</type>
+        <scope>test</scope>
+    </dependency>
+</dependencies>
+----
+
+The table below summarises the dependencies that each of these convenience POMs brings in.
+
+.Dependencies of the Convenience POM for Tests/Specs
+[cols="3a,^1a,^1a,^1a", options="header"]
+|===
+
+| Dependency
+| mavendeps-
+unittests
+| mavendeps-
+integtests
+| mavendeps-
+integspecs
+
+
+|Apache Isis' own xref:testing:unittestsupport:about.adoc[unit test support] +
+with JMock2 extensions to mock classes
+| Y
+|
+|
+
+|Apache Isis' own xref:testing:integtestsupport:about.adoc[integ test support]
+|
+| Y
+| Y
+
+|Apache Isis' own xref:testing:specsupport:about.adoc[BDD spec support]
+|
+|
+| Y
+
+| link:https://junit.org/junit5/docs/current/user-guide/[JUnit 5 "jupiter"]
+| Y
+| Y
+| Y
+
+| link:https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4[JUnit 5 "vintage"]
+| Y
+|
+|
+
+| link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing[Spring Boot Test]
+| Y
+| Y
+| Y
+
+| link:http://hamcrest.org/JavaHamcrest/[Hamcrest] (core + library)
+| Y
+| Y
+| Y
+
+| link:https://joel-costigliola.github.io/assertj/[AssertJ]
+| Y
+| Y
+| Y
+
+| link:https://site.mockito.org/[Mockito]
+| Y
+| Y
+| Y
+
+| link:http://jmock.org/[JMock]
+| Y
+|
+|
+
+| link:https://github.com/approvals/ApprovalTests.Java[Approval tests]
+| Y
+| Y
+| Y
+
+| link:https://github.com/google/guava/wiki[Google's Guava]
+| Y
+|
+|
+
+| link:http://picocontainer.com/[PicoContainer] +
+(for JMock2 extensions)
+| Y
+|
+|
+
+| Apache Isis xref:refguide:ROOT:about.adoc[Applib]
+| Y
+| Y
+| Y
+
+| Apache Isis xref:core:runtime-services:about.adoc[Runtime Services]
+|
+| Y
+| Y
+
+| Apache Isis xref:security:bypass:about.adoc[Bypass] security
+|
+| Y
+| Y
+
+| Apache Isis xref:pjdo:ROOT:about.adoc[JDO/DataNucleus]
+|
+| Y
+| Y
+
+| Apache Isis xref:testing:fixtures:about.adoc[Fixture Scripts]
+|
+| Y
+| Y
+
+|===
+
+
+
+== jdk11
+
+While Apache Isis v2 will run happily on Java 8, it is of course also possible to it on later versions.
+
+However, between Java 8 and Java 11 a number of packages related to JavaEE were removed from the JRE, but these packages are used by the framework, specifically
+
+* JAX-WS packages (`javax.jws`, `javax.jws.soap`, `javax.xml.soap`, and `javax.xml.ws.*`)
+* JAXB packages (`javax.xml.bind.*`)
+
+So, if you _do_ want to run your Apache Isis application on Java 11 or later, then these dependencies need to be added in.
+
+
+All you need to do is include this dependency in the webapp module:
+
+To use, add the following :
+
+[source,xml]
+.webapp/pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-jdk11</artifactId>
+        <type>pom</type>
+    </dependency>
+</dependencies>
+----
+
+If you are running on JDK11, then this will activate a profile to bring in the missing packages.
+Otherwise it will be ignored.
+
+For more on this topic, see:
+
+* link:https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html#JDK-8190378[JDK11 release notes]
+* link:http://openjdk.java.net/jeps/320[JEP 320] under which the packages were removed (also includes notes on replacements)
+* link:https://blog.codefx.org/java/java-11-migration-guide/#Removal-Of-Java-EE-Modules[this blog post] on how to fix it
+* link:https://stackoverflow.com/questions/48204141/replacements-for-deprecated-jpms-modules-with-java-ee-apis/48204154#48204154[this SO answer] on how to fix it
diff --git a/mavendeps/adoc/modules/mavendeps/partials/module-nav.adoc b/mavendeps/adoc/modules/mavendeps/partials/module-nav.adoc
index ee4e021..9276264 100644
--- a/mavendeps/adoc/modules/mavendeps/partials/module-nav.adoc
+++ b/mavendeps/adoc/modules/mavendeps/partials/module-nav.adoc
@@ -1 +1 @@
-** xref:starters:mavendeps:about.adoc[Maven Dependencies]
+** xref:starters:mavendeps:about.adoc[Convenience POMs]
diff --git a/pom.xml b/mavendeps/integspecs/pom.xml
similarity index 53%
copy from pom.xml
copy to mavendeps/integspecs/pom.xml
index 2381445..cc8285f 100644
--- a/pom.xml
+++ b/mavendeps/integspecs/pom.xml
@@ -12,53 +12,29 @@
 <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</groupId>
-	<artifactId>isis-all</artifactId>
-	<version>2.0.0-M3-SNAPSHOT</version>
+	<parent>
+		<groupId>org.apache.isis.mavendeps</groupId>
+		<artifactId>isis-mavendeps</artifactId>
+		<version>2.0.0-M3-SNAPSHOT</version>
+	</parent>
 
+	<artifactId>isis-mavendeps-integspecs</artifactId>
 
 	<packaging>pom</packaging>
 
-	<name>Apache Isis (Aggregator)</name>
+	<name>Apache Isis Maven Deps - BDD Integ Spec</name>
 	<description>
-        Convenience aggregator POM that references all modules.
-        The parent POM of all modules is core/pom.xml
+        Defines a module that can be used as a single dependency for BDD (Cucumber) specs as integration tests.
     </description>
 
-	<scm>
-		<connection>scm:git:https://github.com/apache/isis.git</connection>
-		<developerConnection>scm:git:https://github.com/apache/isis.git</developerConnection>
-		<url>https://github.com/apache/isis.git</url>
-		<tag>HEAD</tag>
-	</scm>
-
-	<modules>
-		<module>core-parent</module>
-
-		<module>examples/demo</module>
-		<module>examples/smoketests</module>
-	</modules>
-
-	<profiles>
-		<profile>
-			<id>examples</id>
-			<activation>
-				<!--
-				only include within IDE as a convenience
-				-->
-				<property>
-					<name>idea.version</name>
-				</property>
-			</activation>
-			<modules>
-				<module>mixins</module>
-				<module>core</module>
-				<module>examples</module>
-			</modules>
-		</profile>
-
-	</profiles>
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-specsupport-applib</artifactId>
+		</dependency>
+	</dependencies>
 
 </project>
diff --git a/pom.xml b/mavendeps/integtests/pom.xml
similarity index 54%
copy from pom.xml
copy to mavendeps/integtests/pom.xml
index 2381445..aa013e3 100644
--- a/pom.xml
+++ b/mavendeps/integtests/pom.xml
@@ -12,53 +12,31 @@
 <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</groupId>
-	<artifactId>isis-all</artifactId>
-	<version>2.0.0-M3-SNAPSHOT</version>
+	<parent>
+		<groupId>org.apache.isis.mavendeps</groupId>
+		<artifactId>isis-mavendeps</artifactId>
+		<version>2.0.0-M3-SNAPSHOT</version>
+	</parent>
 
+	<artifactId>isis-mavendeps-integtests</artifactId>
 
 	<packaging>pom</packaging>
 
-	<name>Apache Isis (Aggregator)</name>
+	<name>Apache Isis Maven Deps - Integration Testing</name>
 	<description>
-        Convenience aggregator POM that references all modules.
-        The parent POM of all modules is core/pom.xml
+        Defines a module that can be used as a single dependency for integration tests.
     </description>
 
-	<scm>
-		<connection>scm:git:https://github.com/apache/isis.git</connection>
-		<developerConnection>scm:git:https://github.com/apache/isis.git</developerConnection>
-		<url>https://github.com/apache/isis.git</url>
-		<tag>HEAD</tag>
-	</scm>
-
-	<modules>
-		<module>core-parent</module>
-
-		<module>examples/demo</module>
-		<module>examples/smoketests</module>
-	</modules>
+	<dependencies>
 
-	<profiles>
-		<profile>
-			<id>examples</id>
-			<activation>
-				<!--
-				only include within IDE as a convenience
-				-->
-				<property>
-					<name>idea.version</name>
-				</property>
-			</activation>
-			<modules>
-				<module>mixins</module>
-				<module>core</module>
-				<module>examples</module>
-			</modules>
-		</profile>
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-integtestsupport-applib</artifactId>
+		</dependency>
 
-	</profiles>
+	</dependencies>
 
 </project>
diff --git a/mavendeps/pom.xml b/mavendeps/pom.xml
index f1bedf7..ee956f8 100644
--- a/mavendeps/pom.xml
+++ b/mavendeps/pom.xml
@@ -98,7 +98,9 @@
 
 	<modules>
 		<module>jdk11</module>
-		<module>testing</module>
+		<module>unittests</module>
+		<module>integtests</module>
+		<module>integspecs</module>
 		<module>webapp</module>
 	</modules>
 
diff --git a/mavendeps/testing/pom.xml b/mavendeps/unittests/pom.xml
similarity index 65%
rename from mavendeps/testing/pom.xml
rename to mavendeps/unittests/pom.xml
index 4a6c55b..260da8d 100644
--- a/mavendeps/testing/pom.xml
+++ b/mavendeps/unittests/pom.xml
@@ -21,7 +21,7 @@
 		<version>2.0.0-M3-SNAPSHOT</version>
 	</parent>
 
-	<artifactId>isis-mavendeps-testing</artifactId>
+	<artifactId>isis-mavendeps-unittests</artifactId>
 
 	<packaging>pom</packaging>
 
@@ -56,50 +56,6 @@
 				</exclusion>
 			</exclusions>
 		</dependency>
-		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-integtestsupport-applib</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-specsupport-applib</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.hamcrest</groupId>
-			<artifactId>hamcrest-library</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.assertj</groupId>
-			<artifactId>assertj-core</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.hibernate</groupId>
-			<artifactId>hibernate-validator</artifactId>
-			<version>${hibernate-validator.version}</version>
-		</dependency>
-
-		<dependency>
-			<groupId>com.approvaltests</groupId>
-			<artifactId>approvaltests</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.picocontainer</groupId>
-			<artifactId>picocontainer</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.hsqldb</groupId>
-			<artifactId>hsqldb</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>com.h2database</groupId>
-			<artifactId>h2</artifactId>
-		</dependency>
 
 	</dependencies>
 
diff --git a/pom.xml b/pom.xml
index 2381445..454a79b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
 	<name>Apache Isis (Aggregator)</name>
 	<description>
         Convenience aggregator POM that references all modules.
-        The parent POM of all modules is core/pom.xml
+        The parent POM of the core framework is core-parent/pom.xml
     </description>
 
 	<scm>
diff --git a/starters/adoc/modules/parent-pom/pages/about.adoc b/starters/adoc/modules/parent-pom/pages/about.adoc
index 45343b5..0db4b8a 100644
--- a/starters/adoc/modules/parent-pom/pages/about.adoc
+++ b/starters/adoc/modules/parent-pom/pages/about.adoc
@@ -26,39 +26,34 @@ You'll see that it is used by both the xref:starters:helloworld:about.adoc[Hello
 
 The link:{attachmentsdir}/parent-pom.pptx[diagram] below shows how the parent POM relates to other POMs:
 
-image::parent-pom.png[width="600px",link="{imagesdir}/parent-pom.png"]
+image::parent-pom.png[width="800px",link="{imagesdir}/parent-pom.png"]
 
 
-So, you can see that the parent POM:
+As the diagram shows, the parent POM inherits two Spring Boot parent POMs: directly from `org.springframework.boot:spring-boot-starter-parent`, and transitively inherits from `org.springframework.boot:spring-boot-dependencies`.
 
-* inherits from `org.springframework.boot:spring-boot-starter-parent`
-+
-This configures various `<build>/<plugins>` and `<resources`>
+* `spring-boot-starter-parent` configures various `<build>/<plugins>` and `<resources>`, while
+* `spring-boot-dependencies` the second defines numerous `xxx.version` properties for various third party applications (validated as being compatible with each other by the Spring Boot team), and sets up corresponding `<dependencyManagement>/<dependencies>`.
 
-* transitively inherits from `org.springframework.boot:spring-boot-dependencies`
-+
-This defines numerous `xxx.version` properties for various third party applications, and sets up corresponding `<dependencyManagement>/<dependencies>`.
-+
-NOTE: These have been validated as being compatible with each other by the Spring Boot team.
+The parent POM also import (using `scope=import, type=pom`) each of the "bill of material" POMs provided by Apache Isis framework:
 
-* imports `org.apache.isis.core:isis` (using scope=import, type=pom)
+* `org.apache.isis.core:isis` -
 +
-\... setting up `<dependencyManagement>/<dependencies>` entries for all of the core modules.
-+
-TIP: The two core modules most commonly referenced in domain applications are `o.a.i.core:isis-applib` and `o.a.i.core:isis-schema`.
-
-* similarly imports `o.a.i.testing:isis-testing`, for the `isis-testing-xxx` modules
+The two core modules most commonly referenced by domain applications are `o.a.i.core:isis-applib` and `o.a.i.core:isis-schema`.
 
-* imports `o.a.i.extensions:isis-extensions`, for `isis-extension-xxx` modules
+* `o.a.i.testing:isis-testing`
++
+For the `isis-testing-xxx` modules (fixture scripts, unit test support, integ test support etc)
 
-* imports `o.a.i.subdomains:isis-subdomains`, for `isis-subdomain-xxx` modules
+* `o.a.i.extensions:isis-extensions`
 
-* imports `o.a.i.mappings:isis-mappings`, for `isis-mappings-xxx` modules
+* `o.a.i.subdomains:isis-subdomains`
 
-* imports `o.a.i.valuetypes:isis-valuetypes`, for `isis-valuetypes-xxx` modules
+* `o.a.i.mappings:isis-mappings`
 
-* imports `o.a.i.incubator:isis-incubator`, for `isis-incubator-xxx` modules
+* `o.a.i.valuetypes:isis-valuetypes`
 
-* imports `o.a.i.legacy:isis-legacy`, for `isis-legacy-xxx` modules
+* `o.a.i.incubator:isis-incubator`
 
+* `o.a.i.legacy:isis-legacy`
 
+These all set up `<dependencyManagement>/<dependencies>` entries for all of the modules, meaning that there's only one place to update the version to Apache Isis (the reference to the parent POM).
diff --git a/starters/adoc/modules/simpleapp/pages/about.adoc b/starters/adoc/modules/simpleapp/pages/about.adoc
index d8a0836..be2f9dc 100644
--- a/starters/adoc/modules/simpleapp/pages/about.adoc
+++ b/starters/adoc/modules/simpleapp/pages/about.adoc
@@ -324,7 +324,7 @@ There will be several of these app manifests, typically one for the webapp itsel
 The link:{attachmentsdir}/simpleapp-modules-dependencies.pptx[diagram] below shows how classes fit together:
 
 .Module Dependencies
-image::simpleapp-modules-dependencies.png/[width="600px",link="{imagesdir}/simpleapp-modules-dependencies.png/"]
+image::simpleapp-modules-dependencies.png[width="800px",link="{imagesdir}/simpleapp-modules-dependencies.png"]
 
 
 
diff --git a/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc b/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
index ea04038..611d6f9 100644
--- a/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
+++ b/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
@@ -596,5 +596,5 @@ When running integration tests through the IDE, and if using the JDO/DataNucleus
 
 If using IntelliJ, we recommend creating a run Maven configuration that runs `datanucleus:enhance`, and then pinning the configuration once run as a tab in the "Debug" window for easy access.
 
-image::pin-enhance-run-configuration.png/[width="400px",link="{imagesdir}/pin-enhance-run-configuration.png/"]
+image::pin-enhance-run-configuration.png[width="400px",link="{imagesdir}/pin-enhance-run-configuration.png"]
 ====
diff --git a/testing/integtestsupport/applib/pom.xml b/testing/integtestsupport/applib/pom.xml
index dc3178b..a4f3f8a 100644
--- a/testing/integtestsupport/applib/pom.xml
+++ b/testing/integtestsupport/applib/pom.xml
@@ -30,69 +30,6 @@
 
 	<dependencies>
 
-		<dependency>
-			<groupId>org.junit.jupiter</groupId>
-			<artifactId>junit-jupiter-api</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.junit.jupiter</groupId>
-			<artifactId>junit-jupiter-engine</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.assertj</groupId>
-			<artifactId>assertj-core</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>net.bytebuddy</groupId>
-			<artifactId>byte-buddy</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.mockito</groupId>
-			<artifactId>mockito-core</artifactId>
-			<exclusions>
-				<exclusion>
-					<groupId>net.bytebuddy</groupId>
-					<artifactId>byte-buddy</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>net.bytebuddy</groupId>
-					<artifactId>byte-buddy-agent</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-
-		<!-- framework default codegen for tests -->
-		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-codegen-bytebuddy</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.hamcrest</groupId>
-			<artifactId>hamcrest-library</artifactId>
-			<scope>compile</scope>
-		</dependency>
-
-		<!-- JDO API (non transient, provided by plugin) -->
-		<dependency>
-			<groupId>javax.jdo</groupId>
-			<artifactId>jdo-api</artifactId>
-			<version>${jdo-api.version}</version>
-			<!-- provided by plugins -->
-			<scope>provided</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<!-- convergence issues from spring-boot-starter-log4j2 -->
-			<version>${slf4j-api.version}</version>
-		</dependency>
-
-
 		<!-- SPRING -->
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
@@ -123,6 +60,10 @@
 					<groupId>org.slf4j</groupId>
 					<artifactId>slf4j-api</artifactId>
 				</exclusion>
+				<exclusion>
+					<groupId>org.junit.vintage</groupId>
+					<artifactId>junit-vintage-engine</artifactId>
+				</exclusion>
 			</exclusions>
 		</dependency>
 
@@ -132,10 +73,37 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-security</artifactId>
+			<groupId>com.approvaltests</groupId>
+			<artifactId>approvaltests</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.hamcrest</groupId>
+			<artifactId>hamcrest-library</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+		<!-- JDO API (non transient, provided by plugin) -->
+		<dependency>
+			<groupId>javax.jdo</groupId>
+			<artifactId>jdo-api</artifactId>
+			<version>${jdo-api.version}</version>
+			<!-- provided by plugins -->
+			<scope>provided</scope>
 		</dependency>
-		
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<!-- convergence issues from spring-boot-starter-log4j2 -->
+			<version>${slf4j-api.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fixtures-applib</artifactId>
+		</dependency>
+
 		<dependency>
 			<groupId>org.apache.isis.security</groupId>
 			<artifactId>isis-security-bypass</artifactId>
@@ -143,12 +111,22 @@
 
 		<dependency>
 			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtime</artifactId>
+			<artifactId>isis-core-runtimeservices</artifactId>
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.isis.core</groupId>
-			<artifactId>isis-core-runtimeservices</artifactId>
+			<groupId>org.apache.isis.persistence</groupId>
+			<artifactId>isis-persistence-jdo-datanucleus5</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.hsqldb</groupId>
+			<artifactId>hsqldb</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.h2database</groupId>
+			<artifactId>h2</artifactId>
 		</dependency>
 
 	</dependencies>
diff --git a/testing/specsupport/applib/pom.xml b/testing/specsupport/applib/pom.xml
index 2f2fa52..4bfd111 100644
--- a/testing/specsupport/applib/pom.xml
+++ b/testing/specsupport/applib/pom.xml
@@ -34,37 +34,11 @@
 
 	<dependencies>
 
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-runtime</artifactId>
-        </dependency>
-        
-        <!-- ISIS TESTING -->
-		
 		<dependency>
 			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-fixtures-applib</artifactId>
+			<artifactId>isis-testing-integtestsupport-applib</artifactId>
 		</dependency>
-        
-		<!-- TESTING -->
-		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-unittestsupport-applib</artifactId>
-        </dependency>
-                
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-engine</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.vintage</groupId>
-            <artifactId>junit-vintage-engine</artifactId>
-        </dependency>
-        
+
 		<!-- CUCUMBER -->
 		<dependency>
 		    <groupId>io.cucumber</groupId>
@@ -80,12 +54,14 @@
 		    <groupId>io.cucumber</groupId>
 		    <artifactId>cucumber-junit</artifactId>
 		    <version>${cucumber.version}</version>
+<!--
 		    <exclusions>
 		        <exclusion>
 		            <groupId>junit</groupId>
 		            <artifactId>junit</artifactId>
 		        </exclusion>
 		    </exclusions>
+-->
 		</dependency>
 
 	</dependencies>
diff --git a/testing/unittestsupport/applib/pom.xml b/testing/unittestsupport/applib/pom.xml
index a40730f..61fd607 100644
--- a/testing/unittestsupport/applib/pom.xml
+++ b/testing/unittestsupport/applib/pom.xml
@@ -33,78 +33,6 @@
             <artifactId>isis-applib</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter-engine</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.junit.vintage</groupId>
-            <artifactId>junit-vintage-engine</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>net.bytebuddy</groupId>
-            <artifactId>byte-buddy</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>net.bytebuddy</groupId>
-                    <artifactId>byte-buddy</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>net.bytebuddy</groupId>
-                    <artifactId>byte-buddy-agent</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- framework default codegen for tests -->
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-core-codegen-bytebuddy</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest-library</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <!-- JDO API (non transient, provided by plugin) -->
-        <dependency>
-            <groupId>javax.jdo</groupId>
-            <artifactId>jdo-api</artifactId>
-            <version>${jdo-api.version}</version>
-            <!-- provided by plugins -->
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <!-- convergence issues from spring-boot-starter-log4j2 -->
-            <version>${slf4j-api.version}</version>
-        </dependency>
-
-
         <!-- SPRING -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -144,11 +72,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.picocontainer</groupId>
-            <artifactId>picocontainer</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.jmock</groupId>
             <artifactId>jmock</artifactId>
             <exclusions>
@@ -178,6 +101,42 @@
             </exclusions>
         </dependency>
 
+        <dependency>
+            <groupId>com.approvaltests</groupId>
+            <artifactId>approvaltests</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core-codegen-bytebuddy</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.picocontainer</groupId>
+            <artifactId>picocontainer</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+
+        <!-- JDO API (non transient, provided by plugin) -->
+        <dependency>
+            <groupId>javax.jdo</groupId>
+            <artifactId>jdo-api</artifactId>
+            <version>${jdo-api.version}</version>
+            <!-- provided by plugins -->
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <!-- convergence issues from spring-boot-starter-log4j2 -->
+            <version>${slf4j-api.version}</version>
+        </dependency>
+
     </dependencies>
 
     <profiles>


[isis] 03/08: ISIS-2192: sorting out dependencies

Posted by da...@apache.org.
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 e7eaf0a5c763891dba33b4816a68835501ae8c9f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:01:00 2020 +0000

    ISIS-2192: sorting out dependencies
    
    have a cycle fixtures <-> integtestsupport-applib
---
 testing/fixtures/applib/pom.xml | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/testing/fixtures/applib/pom.xml b/testing/fixtures/applib/pom.xml
index 788e16a..a469687 100644
--- a/testing/fixtures/applib/pom.xml
+++ b/testing/fixtures/applib/pom.xml
@@ -75,12 +75,6 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-integtestsupport-applib</artifactId>
-			<scope>provided</scope>
-		</dependency>
-
-		<dependency>
 			<groupId>org.apache.isis.core</groupId>
 			<artifactId>isis-core-runtime</artifactId>
 			<scope>provided</scope>


[isis] 07/08: ISIS-2274: fixes for smoke test, I hope

Posted by da...@apache.org.
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 db36047ec8b415bb6c88756842e48c13dfb30147
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:49:23 2020 +0000

    ISIS-2274: fixes for smoke test, I hope
---
 .../modules/comguide/pages/cutting-a-release.adoc  | 25 +++++++---------------
 .../DomainModelTest_usingGoodDomain.java           |  1 +
 2 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/antora/toc/modules/comguide/pages/cutting-a-release.adoc b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
index 9ffff79..3481fb0 100644
--- a/antora/toc/modules/comguide/pages/cutting-a-release.adoc
+++ b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
@@ -3,16 +3,13 @@
 :page-partial:
 
 
-
-
-
 The release process consists of:
 
 * the release manager cutting the release (documented below)
 * Members of the Apache Isis PMC xref:toc:comguide:about.adoc#verifying-releases[verifying] and voting on the release
 * the release manager performing post-release tasks, for either a xref:toc:comguide:about.adoc#post-release-successful.adoc[successful] or an xref:toc:comguide:post-release-unsuccessful[unsuccessful] vote.
 
-Apache Isis itself is released in one go, everything is ultimately a child of `core-parent/pom.xml` (relative to the link:https://github.com/apache/isis[source code root])
+Apache Isis itself is released in one go, everything is ultimately a child of `core-parent/pom.xml` (relative to the link:https://github.com/apache/isis[source code root]).
 This section details the process for formally releasing this module.
 
 The subsequent sections describe how other committers can xref:toc:comguide:about.adoc#verifying-releases.adoc[verify a release] and how the release manager can then perform xref:toc:comguide:post-release[post-release] activities and set up for the next development iteration.
@@ -25,7 +22,7 @@ They should work on Linux and MacOS; for Windows, use mSysGit.
 
 == Obtain Consensus
 
-Before releasing `core`, ensure there is consensus on the xref:toc:ROOT:support.adoc#[dev mailing list] that this is the right time for a release.
+Before releasing the framework, ensure there is consensus on the xref:toc:ROOT:support.adoc#[dev mailing list] that this is the right time for a release.
 The discussion should include confirming the version number to be used, and to confirm content.
 
 These discussions should also confirm the version number of the module being released.
@@ -53,7 +50,6 @@ env | grep ISIS | sort
 <2> set to an "umbrella" ticket for all release activities.
 (One should exist already, xref:toc:comguide:post-release-successful.adoc#create-new-jira[created at] the beginning of the development cycle now completing).
 
-
 Obviously, alter ``$ISISREL`` as required, and bump ``$ISISRC`` for re-releasing following an xref:toc:comguide:about.adoc#post-release-unsuccessful[unsuccessful] release.
 
 [IMPORTANT]
@@ -80,21 +76,17 @@ Check that there are no snapshot dependencies:
 
 [source,bash,subs="attributes+"]
 ----
-grep SNAPSHOT `/bin/find . -name pom.xml | grep -v target | grep -v mothball | sort`
+grep SNAPSHOT $(/bin/find . -name pom.xml | grep -v target  sort)
 ----
 
-The only mention of `SNAPSHOT` should be in the `revision` property of the root `core/pom.xml` file.
+The only mention of `SNAPSHOT` should be in the `revision` property of the root `core-prent/pom.xml` file.
 
 == Bump `revision` property to `$ISISREL`
 
 Previously we used the `maven-release-plugin` which took responsibility for bumping the `<version>` from -SNAPSHOT to release, and then onto the next -SNAPSHOT.
-However, this plugin does not seem to be compatible with the support for `$\{revision}` property introduced in Maven 3.5.0 in order https://maven.apache.org/maven-ci-friendly.html[to support CI/CD use cases]; at least we couldn't make it work.
+However, we now use a simpler process, of just running `mvn versions:set -DnewVersion=...`.
 
-So, instead, we perform the edit of `$\{revision}` in the `pom.xml` files (for `core-parent`):
-
-Change these to the release version, using:
-
-WARNING: TODO: v2: these scripts have changed
+So, bump to the release version:
 
 [source,bash,subs="attributes+"]
 ----
@@ -113,14 +105,13 @@ so that they should read:
 
 After release, there is a xref:toc:comguide:cutting-a-release.adoc#reset-revision[similar step at the end] to reset back to `1.0.0-SNAPSHOT`.
 
-== Releasing Core
+== Releasing the Framework
 
-First, we release `core`.
 Switch to the appropriate directory:
 
 [source,bash,subs="attributes+"]
 ----
-cd core
+cd core-parent
 ----
 
 === Set environment variables
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
index b18cf3e..2d29f96 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
@@ -53,6 +53,7 @@ import lombok.val;
         }, 
         properties = {
                 "isis.core.meta-model.introspector.mode=FULL",
+                "isis.applib.annotation.domain-object.editing==TRUE",
                 "isis.core.meta-model.validator.explicit-object-type=FALSE", // does not override any of the imports
                 "logging.level.DependentArgUtils=DEBUG"
         })


[isis] 04/08: ISIS-2192: sorting out dependencies

Posted by da...@apache.org.
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 ef123c3187538904c50c4a7d41d9d8421660d6b8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:09:30 2020 +0000

    ISIS-2192: sorting out dependencies
    
    go the other way.  Also add in fakedata for all 3
---
 README.adoc                                       |  4 ++--
 mavendeps/adoc/modules/mavendeps/pages/about.adoc |  5 +++++
 mavendeps/integspecs/pom.xml                      | 11 +++++++++++
 mavendeps/integtests/pom.xml                      | 10 ++++++++++
 mavendeps/unittests/pom.xml                       |  5 +++++
 testing/fixtures/applib/pom.xml                   |  6 ++++++
 testing/integtestsupport/applib/pom.xml           |  5 -----
 7 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/README.adoc b/README.adoc
index 314250a..e0e76b7 100644
--- a/README.adoc
+++ b/README.adoc
@@ -11,8 +11,8 @@ image:https://github.com/apache-isis-committers/isis-nightly/workflows/Nightly/b
 
 _http://isis.apache.org[Apache Isis] software is a framework for rapidly developing domain-driven apps in Java. Write your business logic in entities, domain services and repositories, and the framework dynamically generates a representation of that domain model as a webapp or a RESTful API._
 
-Start learning about Apache Isis using our http://isis.apache.org/arch/helloworld/about.html["Hello World"] Maven archetype.
-Build your own apps using our http://isis.apache.org/arch/simpleapp/about.html["SimpleApp"] Maven archetype.
+Start learning about Apache Isis using the http://github.com/apache/isis-app-helloworld["Hello World"] starter app.
+Build your own apps using our http://github.com/apache/isis-app-simpleapp["SimpleApp"] starter app.
 
 For help and support, join the http://isis.apache.org/support.html[mailing lists].
 To contribute to our documentation, see our https://github.com/apache/isis/tree/master/adocs/documentation[Asciidoctor source].
diff --git a/mavendeps/adoc/modules/mavendeps/pages/about.adoc b/mavendeps/adoc/modules/mavendeps/pages/about.adoc
index 24a791f..765ac28 100644
--- a/mavendeps/adoc/modules/mavendeps/pages/about.adoc
+++ b/mavendeps/adoc/modules/mavendeps/pages/about.adoc
@@ -201,6 +201,11 @@ with JMock2 extensions to mock classes
 | Y
 | Y
 
+| Apache Isis xref:testing:fakedata:about.adoc[Fake Data]
+| Y
+| Y
+| Y
+
 | Apache Isis xref:testing:fixtures:about.adoc[Fixture Scripts]
 |
 | Y
diff --git a/mavendeps/integspecs/pom.xml b/mavendeps/integspecs/pom.xml
index cc8285f..5fa2c17 100644
--- a/mavendeps/integspecs/pom.xml
+++ b/mavendeps/integspecs/pom.xml
@@ -35,6 +35,17 @@
 			<groupId>org.apache.isis.testing</groupId>
 			<artifactId>isis-testing-specsupport-applib</artifactId>
 		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fakedata-applib</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fixtures-applib</artifactId>
+		</dependency>
+
 	</dependencies>
 
 </project>
diff --git a/mavendeps/integtests/pom.xml b/mavendeps/integtests/pom.xml
index aa013e3..6fd564b 100644
--- a/mavendeps/integtests/pom.xml
+++ b/mavendeps/integtests/pom.xml
@@ -37,6 +37,16 @@
 			<artifactId>isis-testing-integtestsupport-applib</artifactId>
 		</dependency>
 
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fakedata-applib</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fixtures-applib</artifactId>
+		</dependency>
+
 	</dependencies>
 
 </project>
diff --git a/mavendeps/unittests/pom.xml b/mavendeps/unittests/pom.xml
index 260da8d..cfe9872 100644
--- a/mavendeps/unittests/pom.xml
+++ b/mavendeps/unittests/pom.xml
@@ -57,6 +57,11 @@
 			</exclusions>
 		</dependency>
 
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-fakedata-applib</artifactId>
+		</dependency>
+
 	</dependencies>
 
 </project>
diff --git a/testing/fixtures/applib/pom.xml b/testing/fixtures/applib/pom.xml
index a469687..c136aca 100644
--- a/testing/fixtures/applib/pom.xml
+++ b/testing/fixtures/applib/pom.xml
@@ -59,6 +59,12 @@
 			<artifactId>isis-subdomains-spring-applib</artifactId>
 		</dependency>
 
+		<dependency>
+			<groupId>org.apache.isis.testing</groupId>
+			<artifactId>isis-testing-integtestsupport-applib</artifactId>
+			<scope>provided</scope>
+		</dependency>
+
 		<!-- JDO API (non transient, provided by plugin) -->
 		<dependency>
 			<groupId>javax.jdo</groupId>
diff --git a/testing/integtestsupport/applib/pom.xml b/testing/integtestsupport/applib/pom.xml
index a4f3f8a..f2ca83b 100644
--- a/testing/integtestsupport/applib/pom.xml
+++ b/testing/integtestsupport/applib/pom.xml
@@ -100,11 +100,6 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-fixtures-applib</artifactId>
-		</dependency>
-
-		<dependency>
 			<groupId>org.apache.isis.security</groupId>
 			<artifactId>isis-security-bypass</artifactId>
 		</dependency>


[isis] 08/08: ISIS-2274: fixes for smoke test, I hope (fix typo)

Posted by da...@apache.org.
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 dd4855221913fbdc750bb43fe2272557988595cd
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:51:33 2020 +0000

    ISIS-2274: fixes for smoke test, I hope (fix typo)
---
 .../isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
index 2d29f96..beb7f29 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/DomainModelTest_usingGoodDomain.java
@@ -53,7 +53,7 @@ import lombok.val;
         }, 
         properties = {
                 "isis.core.meta-model.introspector.mode=FULL",
-                "isis.applib.annotation.domain-object.editing==TRUE",
+                "isis.applib.annotation.domain-object.editing=TRUE",
                 "isis.core.meta-model.validator.explicit-object-type=FALSE", // does not override any of the imports
                 "logging.level.DependentArgUtils=DEBUG"
         })


[isis] 06/08: ISIS-2192: ports some unit test from 4 to 5

Posted by da...@apache.org.
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 525ea0c605c85682487140000249ea24363265e6
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:36:27 2020 +0000

    ISIS-2192: ports some unit test from 4 to 5
---
 .../toc/modules/comguide/pages/cutting-a-release.adoc   | 17 ++++++++---------
 .../applib/fixturescripts/ExecutionContextTest.java     |  4 ++--
 .../ExecutionParameters_AsKeyValueMap_Test.java         |  5 +++--
 .../applib/fixturescripts/ExecutionParameters_Test.java |  8 ++++----
 .../applib/legacy/FixtureClockInstantiationTest.java    |  8 ++++----
 5 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/antora/toc/modules/comguide/pages/cutting-a-release.adoc b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
index 795dc79..9ffff79 100644
--- a/antora/toc/modules/comguide/pages/cutting-a-release.adoc
+++ b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
@@ -46,20 +46,19 @@ export ISISREL={isisnext}
 export ISISRC=RC1
 export ISISBRANCH=release-$ISISREL-$ISISRC
 export ISISJIRA=ISIS-9999                           # <2>
-export CATALINA_HOME=/c/java/apache-tomcat-9.0.10   # <3>
 
 env | grep ISIS | sort
 ----
 <1> adjust by platform
 <2> set to an "umbrella" ticket for all release activities.
 (One should exist already, xref:toc:comguide:post-release-successful.adoc#create-new-jira[created at] the beginning of the development cycle now completing).
-<3> adjust as required (Tomcat is used to smoke test the simpleapp archetype)
+
 
 Obviously, alter ``$ISISREL`` as required, and bump ``$ISISRC`` for re-releasing following an xref:toc:comguide:about.adoc#post-release-unsuccessful[unsuccessful] release.
 
 [IMPORTANT]
 ====
-Note that the branch name is intentionally *not* the same any of the eventual tag names (eg `isis-{isisnext}` or `simpleapp-archetype-{isisnext}`).
+Note that the branch name is intentionally *not* the same as the eventual tag names (eg `isis-{isisnext}`).
 ====
 
 == Pull down code to release
@@ -91,9 +90,11 @@ The only mention of `SNAPSHOT` should be in the `revision` property of the root
 Previously we used the `maven-release-plugin` which took responsibility for bumping the `<version>` from -SNAPSHOT to release, and then onto the next -SNAPSHOT.
 However, this plugin does not seem to be compatible with the support for `$\{revision}` property introduced in Maven 3.5.0 in order https://maven.apache.org/maven-ci-friendly.html[to support CI/CD use cases]; at least we couldn't make it work.
 
-So, instead, we perform the edit of `$\{revision}` in the three `pom.xml` files (for `core` and the two archetypes):
+So, instead, we perform the edit of `$\{revision}` in the `pom.xml` files (for `core-parent`):
+
+Change these to the release version, using:
 
-Change all of these to the release version, using:
+WARNING: TODO: v2: these scripts have changed
 
 [source,bash,subs="attributes+"]
 ----
@@ -256,7 +257,7 @@ This requires `gpg` v2.1 or later.
 
 == Check/Close Staging Repo
 
-The `mvn deploy` commands will have uploaded release artifacts for both `core` and the `simpleapp` archetype into a newly created staging repository on the ASF Nexus repository server.
+The `mvn deploy` commands will have uploaded all of the release artifacts into a newly created staging repository on the ASF Nexus repository server.
 
 Log onto http://repository.apache.org[repository.apache.org] (using your ASF LDAP account):
 
@@ -327,13 +328,11 @@ Push the release branch to origin:
 git push -u origin $ISISBRANCH
 ----
 
-and also push tags for both core and the archetype:
+and also push tags:
 
 [source,bash,subs="attributes+"]
 ----
 git push origin refs/tags/isis-$ISISREL:refs/tags/isis-$ISISREL-$ISISRC
-git push origin refs/tags/simpleapp-archetype-$ISISREL:refs/tags/simpleapp-archetype-$ISISREL-$ISISRC
-git push origin refs/tags/helloworld-archetype-$ISISREL:refs/tags/helloworld-archetype-$ISISREL-$ISISRC
 git fetch
 ----
 
diff --git a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionContextTest.java b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionContextTest.java
index 36747f8..1acda60 100644
--- a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionContextTest.java
+++ b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionContextTest.java
@@ -20,11 +20,11 @@ package org.apache.isis.testing.fixtures.applib.fixturescripts;
 
 import java.util.Map;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 public class ExecutionContextTest {
 
diff --git a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_AsKeyValueMap_Test.java b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_AsKeyValueMap_Test.java
index 3dc8ab0..3fe688c 100644
--- a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_AsKeyValueMap_Test.java
+++ b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_AsKeyValueMap_Test.java
@@ -20,10 +20,11 @@ package org.apache.isis.testing.fixtures.applib.fixturescripts;
 
 import java.util.Map;
 
-import org.junit.Test;
+
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 public class ExecutionParameters_AsKeyValueMap_Test extends ExecutionContextTest {
 
diff --git a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_Test.java b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_Test.java
index 44a1057..2a9b24d 100644
--- a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_Test.java
+++ b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/fixturescripts/ExecutionParameters_Test.java
@@ -23,17 +23,17 @@ import java.math.BigInteger;
 
 import org.joda.time.LocalDate;
 import org.joda.time.LocalDateTime;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 public class ExecutionParameters_Test {
 
     private ExecutionParameters executionParameters;
 
-    @Before
+    @BeforeEach
     public void setUp() throws Exception {
         executionParameters = new ExecutionParameters("");
     }
diff --git a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/legacy/FixtureClockInstantiationTest.java b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/legacy/FixtureClockInstantiationTest.java
index c8f0d6a..801c1ae 100644
--- a/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/legacy/FixtureClockInstantiationTest.java
+++ b/testing/fixtures/applib/src/test/java/org/apache/isis/testing/fixtures/applib/legacy/FixtureClockInstantiationTest.java
@@ -20,19 +20,19 @@
 package org.apache.isis.testing.fixtures.applib.legacy;
 
 import org.hamcrest.CoreMatchers;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.apache.isis.applib.clock.Clock;
 import org.apache.isis.testing.fixtures.applib.clock.FixtureClock;
 
 public class FixtureClockInstantiationTest {
 
-    @Before
+    @BeforeEach
     public void setUp() {
 
     }


[isis] 05/08: ISIS-2192: porsts ExceptionRecognizerTranslate

Posted by da...@apache.org.
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 011f207266fe3f17cdc08e3dec67ae890c8848ec
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 16:25:47 2020 +0000

    ISIS-2192: porsts ExceptionRecognizerTranslate
    
    from junit 4 MethodRule to junit 5 extension
---
 README.adoc                                        |  4 +-
 .../modules/comguide/pages/cutting-a-release.adoc  | 58 ++++----------------
 api/adoc/userguide/modules/btb/pages/i18n.adoc     |  2 +-
 .../applib/ExceptionRecognizerTranslate.java       | 61 ++++++----------------
 .../applib/IsisIntegrationTestAbstract.java        |  2 +
 5 files changed, 31 insertions(+), 96 deletions(-)

diff --git a/README.adoc b/README.adoc
index e0e76b7..ccf0ae4 100644
--- a/README.adoc
+++ b/README.adoc
@@ -261,8 +261,8 @@ Indeed, the example todoapp demonstrates this.
 
 The Apache Isis http://isis.apache.org[website] has lots of useful information and is being continually updated.
 
-Or, you can just start coding using one of the http://isis.apache.org/arch/helloworld/about.html[Maven archetype]s.
+Or, you can just start coding using the https:github.com/apache/isis-app-simpleapp[SimpleApp] starter app.
 
-And if you need help or support, join the http://isis.apache.org/support.html[mailing lists].
+And if you need help or support, join our https://cwiki.apache.org/confluence/display/ISIS/Signing+up+to+Slack[ASF Slack channel] or our http://isis.apache.org/support.html[mailing list].
 
 
diff --git a/antora/toc/modules/comguide/pages/cutting-a-release.adoc b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
index 97377ed..795dc79 100644
--- a/antora/toc/modules/comguide/pages/cutting-a-release.adoc
+++ b/antora/toc/modules/comguide/pages/cutting-a-release.adoc
@@ -12,13 +12,9 @@ The release process consists of:
 * Members of the Apache Isis PMC xref:toc:comguide:about.adoc#verifying-releases[verifying] and voting on the release
 * the release manager performing post-release tasks, for either a xref:toc:comguide:about.adoc#post-release-successful.adoc[successful] or an xref:toc:comguide:post-release-unsuccessful[unsuccessful] vote.
 
-Apache Isis itself consists of three separately releasable modules; relative to the link:https://github.com/apache/isis[source code root] there are:
+Apache Isis itself is released in one go, everything is ultimately a child of `core-parent/pom.xml` (relative to the link:https://github.com/apache/isis[source code root])
+This section details the process for formally releasing this module.
 
-* `core`
-* `component/example/archetypes/helloworld`
-* `component/example/archetypes/simpleapp`
-
-This section details the process for formally releasing Isis modules.  It describes the process for both `core` and then the archetypes.
 The subsequent sections describe how other committers can xref:toc:comguide:about.adoc#verifying-releases.adoc[verify a release] and how the release manager can then perform xref:toc:comguide:post-release[post-release] activities and set up for the next development iteration.
 
 If you've not performed a release before, then note that there are some configuration xref:toc:comguide:about.adoc#release-process-prereqs[prerequisites] that must be configured first.
@@ -27,9 +23,6 @@ In particular, you'll need signed public/private keys, and the ASF Nexus staging
 These release notes using bash command line tools.
 They should work on Linux and MacOS; for Windows, use mSysGit.
 
-
-
-
 == Obtain Consensus
 
 Before releasing `core`, ensure there is consensus on the xref:toc:ROOT:support.adoc#[dev mailing list] that this is the right time for a release.
@@ -38,12 +31,9 @@ The discussion should include confirming the version number to be used, and to c
 These discussions should also confirm the version number of the module being released.
 This should be in line with our xref:toc:comguide:about.adoc#versioning-policy[semantic versioning policy].
 
-
 Make sure you have a JIRA ticket open against which to perform all commits.
 In most cases a JIRA ticket will have been created at the beginning of the previous release cycle.
 
-
-
 == Set environment variables
 
 We use environment variables to parameterize as many of the steps as possible.
@@ -72,8 +62,6 @@ Obviously, alter ``$ISISREL`` as required, and bump ``$ISISRC`` for re-releasing
 Note that the branch name is intentionally *not* the same any of the eventual tag names (eg `isis-{isisnext}` or `simpleapp-archetype-{isisnext}`).
 ====
 
-
-
 == Pull down code to release
 
 Set the HEAD of your local git repo to the commit to be released.
@@ -89,7 +77,6 @@ git checkout -b $ISISBRANCH
 
 The release is performed on a branch; if we are successful, this branch will be merged back into master.
 
-
 Check that there are no snapshot dependencies:
 
 [source,bash,subs="attributes+"]
@@ -99,8 +86,6 @@ grep SNAPSHOT `/bin/find . -name pom.xml | grep -v target | grep -v mothball | s
 
 The only mention of `SNAPSHOT` should be in the `revision` property of the root `core/pom.xml` file.
 
-
-
 == Bump `revision` property to `$ISISREL`
 
 Previously we used the `maven-release-plugin` which took responsibility for bumping the `<version>` from -SNAPSHOT to release, and then onto the next -SNAPSHOT.
@@ -125,11 +110,8 @@ so that they should read:
 </properties>
 ----
 
-
 After release, there is a xref:toc:comguide:cutting-a-release.adoc#reset-revision[similar step at the end] to reset back to `1.0.0-SNAPSHOT`.
 
-
-
 == Releasing Core
 
 First, we release `core`.
@@ -151,8 +133,6 @@ export ISISART=isis
 env | grep ISIS | sort
 ----
 
-
-
 === License headers
 
 The Apache Release Audit Tool `RAT` (from the http://creadur.apache.org[Apache Creadur] project) checks for missing license header files.
@@ -167,9 +147,8 @@ for a in `/bin/find . -name rat.txt -print`; do grep '!???' $a; done || \
 for a in `/bin/find . -name rat.txt -print`; do grep '!AL' $a; done
 ----
 
-where `rat.numUnapprovedLicenses` property is set to a high figure, temporarily overriding the default value of 0.
-This will allow the command to run over all submodules, rather than failing after the first one.
-The command writes out a `target\rat.txt` for each submodule.  missing license notes are indicated using the key `!???`.
+where `rat.numUnapprovedLicenses` property is set to a high figure, temporarily overriding the default value of 0. This will allow the command to run over all submodules, rather than failing after the first one.
+The command writes out a `target\rat.txt` for each submodule. missing license notes are indicated using the key `!???`.
 The `for` command collates all the errors.
 
 Investigate and fix any reported violations, typically by either:
@@ -186,7 +165,6 @@ mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=0 -o &&
 for a in `find . -name rat.txt -print`; do grep '!???' $a; done
 ----
 
-
 === Missing License Check
 
 Although Apache Isis has no dependencies on artifacts with incompatible licenses, the POMs for some of these dependencies (in the Maven central repo) do not necessarily contain the required license information.
@@ -229,9 +207,6 @@ licenses to remove from supplemental-models.xml (are spurious):
 
 If any missing entries are listed or are spurious, then update `supplemental-models.xml` and try again.
 
-
-
-
 === Commit changes
 
 Commit any changes from the preceding steps:
@@ -243,7 +218,6 @@ mvn versions:set -DnewVersion=$ISISVER
 git commit -am "$ISISJIRA: updates to pom.xml etc for release"
 ----
 
-
 === Sanity check
 
 Perform one last sanity check on the codebase.
@@ -255,7 +229,6 @@ rm -rf ~/.m2/repository/org/apache/isis
 mvn clean install -o
 ----
 
-
 === Deploy
 
 Since the `<version>` has already been updated, we just use `mvn deploy` to upload the artifacts.
@@ -276,16 +249,11 @@ git tag $ISISART-$ISISREL-$ISISRC
 
 using your own GPG passphrase, of course.
 
-
 [IMPORTANT]
 ====
 This requires `gpg` v2.1 or later.
 ====
 
-
-
-
-
 == Check/Close Staging Repo
 
 The `mvn deploy` commands will have uploaded release artifacts for both `core` and the `simpleapp` archetype into a newly created staging repository on the ASF Nexus repository server.
@@ -300,10 +268,11 @@ image::release-process/nexus-staging-1.png[width="600px",link="{imagesdir}/relea
 
 If nothing appears in a staging repo you should stop here and work out why.
 
-Assuming that the repo has been populated, make a note of its repo id; this is needed for the voting thread. In the screenshot above the id is `org.apache.isis-008`.
+Assuming that the repo has been populated, make a note of its repo id; this is needed for the voting thread.
+In the screenshot above the id is `org.apache.isis-008`.
 
-
-After checking that the staging repository contains the artifacts that you expect you should close the staging repository. This will make it available so that people can check the release.
+After checking that the staging repository contains the artifacts that you expect you should close the staging repository.
+This will make it available so that people can check the release.
 
 Press the Close button and complete the dialog:
 
@@ -325,16 +294,12 @@ image::release-process/nexus-staging-4.png[width="600px",link="{imagesdir}/relea
 
 Use `gpg --keyserver hkp://pgp.mit.edu --recv-keys nnnnnnnn` to confirm that the key is available.
 
-
 [NOTE]
 ====
-Unfortunately, Nexus does not seem to allow subkeys to be used for signing. See xref:toc:comguide:about.adoc#key-generation[Key Generation] for more details.
+Unfortunately, Nexus does not seem to allow subkeys to be used for signing.
+See xref:toc:comguide:about.adoc#key-generation[Key Generation] for more details.
 ====
 
-
-
-
-
 == Reset `revision` property
 
 At the beginning of the release process we bumped the `revision` property to the release version, ie `$ISISREL`.
@@ -353,7 +318,6 @@ In the root of the Apache Isis repo, we do this for all three ``pom.xml``s with:
 sh scripts/version-reset.sh $ISISJIRA
 ----
 
-
 == Push branches
 
 Push the release branch to origin:
@@ -378,8 +342,6 @@ git fetch
 The remote tags aren't visible locally but can be seen link:https://github.com/apache/isis/tags[online].
 ====
 
-
-
 == Voting
 
 Once the artifacts have been uploaded, you can call a vote.
diff --git a/api/adoc/userguide/modules/btb/pages/i18n.adoc b/api/adoc/userguide/modules/btb/pages/i18n.adoc
index f826aa7..a20e385 100644
--- a/api/adoc/userguide/modules/btb/pages/i18n.adoc
+++ b/api/adoc/userguide/modules/btb/pages/i18n.adoc
@@ -533,7 +533,7 @@ To ensure your app is fully internationalized app, you must therefore:
 ====
 We make no apologies for this requirement: one of the reasons that we decided to implement Apache Isis' i18n support in this way is because it encourages/requires the app to be properly tested.
 
-Behind the scenes Apache Isis uses a JUnit rule (`ExceptionRecognizerTranslate`) to intercept any exceptions that are thrown.
+Behind the scenes Apache Isis uses a JUnit 5 extension (`ExceptionRecognizerTranslate`) to intercept any exceptions that are thrown.
 These are simply passed through to the registered xref:refguide:applib-svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`]s so that any messages are recorded as requiring translation.
 ====
 
diff --git a/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/ExceptionRecognizerTranslate.java b/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/ExceptionRecognizerTranslate.java
index fa74414..4c969ae 100644
--- a/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/ExceptionRecognizerTranslate.java
+++ b/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/ExceptionRecognizerTranslate.java
@@ -18,60 +18,31 @@
  */
 package org.apache.isis.testing.integtestsupport.applib;
 
-import org.junit.rules.MethodRule;
-import org.junit.runners.model.FrameworkMethod;
-import org.junit.runners.model.Statement;
+import org.junit.jupiter.api.extension.ExtensionContext;
+import org.junit.jupiter.api.extension.TestExecutionExceptionHandler;
 
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizer;
 import org.apache.isis.applib.services.registry.ServiceRegistry;
+import org.apache.isis.core.runtime.context.IsisContext;
+import org.apache.isis.core.runtime.context.session.RuntimeContextBase;
 import org.apache.isis.core.runtime.session.IsisSessionFactory;
 
 import lombok.RequiredArgsConstructor;
 
-@RequiredArgsConstructor
-public class ExceptionRecognizerTranslate implements MethodRule {
+public class ExceptionRecognizerTranslate implements TestExecutionExceptionHandler {
     
-    private final ServiceRegistry serviceRegistry;
-
     @Override
-    public Statement apply(final Statement statement, final FrameworkMethod frameworkMethod, final Object o) {
-        return new TranslationStatement(statement);
-    }
-
-    private class TranslationStatement extends Statement {
-        private final Statement next;
-
-        public TranslationStatement(final Statement base) {
-            this.next = base;
-        }
-
-        @Override
-        public void evaluate() throws Throwable {
-            try {
-                this.next.evaluate();
-            } catch (final Throwable ex) {
-                recognize(ex);
-                throw ex;
-            }
-        }
-    }
-
-    /**
-     * Simply invokes {@link org.apache.isis.applib.services.exceprecog.ExceptionRecognizer#recognize(Throwable)} 
-     * for all registered {@link org.apache.isis.applib.services.exceprecog.ExceptionRecognizer}s 
-     * for the provided exception, so that the message will be translated.
-     */
-    private void recognize(final Throwable ex) {
-        serviceRegistry
-        .select(ExceptionRecognizer.class)
-        .stream()
-        .forEach(exceptionRecognizer->{
-            exceptionRecognizer.recognize(ex);
-        });
-    }
-
-    IsisSessionFactory getIsisSessionFactory() {
-        return serviceRegistry.lookupServiceElseFail(IsisSessionFactory.class);
+    public void handleTestExecutionException(ExtensionContext extensionContext, Throwable throwable) throws Throwable {
+        IsisContext.getCurrentIsisSession()
+                .map(RuntimeContextBase::getServiceRegistry).
+                ifPresent(serviceRegistry ->
+                        serviceRegistry.select(ExceptionRecognizer.class)
+                                        .stream()
+                                        .forEach(exceptionRecognizer->{
+                                            exceptionRecognizer.recognize(throwable);
+                                        })
+                );
+        throw throwable;
     }
 
 }
diff --git a/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/IsisIntegrationTestAbstract.java b/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/IsisIntegrationTestAbstract.java
index 473b4bf..067bf2f 100644
--- a/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/IsisIntegrationTestAbstract.java
+++ b/testing/integtestsupport/applib/src/main/java/org/apache/isis/testing/integtestsupport/applib/IsisIntegrationTestAbstract.java
@@ -20,6 +20,7 @@ package org.apache.isis.testing.integtestsupport.applib;
 
 import javax.inject.Inject;
 
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.context.event.EventListener;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
@@ -44,6 +45,7 @@ import org.apache.isis.core.runtime.persistence.transaction.events.TransactionAf
  *  
  * @since 2.0
  */
+@ExtendWith(ExceptionRecognizerTranslate.class)
 public abstract class IsisIntegrationTestAbstract {
 
     /**


[isis] 01/08: ISIS-2062: docs

Posted by da...@apache.org.
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 04cc491fd7d99bc04a11b67bcdc42938243a5b3d
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 30 09:02:40 2020 +0000

    ISIS-2062: docs
---
 starters/adoc/modules/ROOT/pages/about.adoc               | 6 +++---
 starters/adoc/modules/ROOT/partials/component-nav.adoc    | 2 --
 starters/adoc/modules/ROOT/partials/module-nav.adoc       | 1 -
 starters/adoc/modules/helloworld/partials/module-nav.adoc | 2 +-
 starters/adoc/modules/simpleapp/partials/module-nav.adoc  | 2 +-
 5 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/starters/adoc/modules/ROOT/pages/about.adoc b/starters/adoc/modules/ROOT/pages/about.adoc
index 2ece453..42c98c2 100644
--- a/starters/adoc/modules/ROOT/pages/about.adoc
+++ b/starters/adoc/modules/ROOT/pages/about.adoc
@@ -1,4 +1,4 @@
-= Quick Start
+= Starter Apps
 :Notice: 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 ag [...]
 
 To get started with a new application, download one of the two starter apps.
@@ -13,7 +13,7 @@ The source code is in this link:https://github.com/apache/isis-app-helloworld[gi
 include::starters:helloworld:page$script.adoc[]
 
 
-An explanation of the structure of the app can be found *xref:starters:helloworld:about.adoc[here]*.
+A much more complete explanation of the structure of the app (and how to use it) can be found *xref:starters:helloworld:about.adoc[here]*.
 
 
 == Simple App
@@ -26,7 +26,7 @@ The source code can be found in this link:https://github.com/apache/isis-app-sim
 include::starters:simpleapp:page$script.adoc[]
 
 
-An explanation of the structure of the app can be found *xref:starters:helloworld:about.adoc[here]*.
+A much more complete explanation of the structure of the app (and how to use it) can be found *xref:starters:helloworld:about.adoc[here]*.
 
 
 == Updating to Newer Versions
diff --git a/starters/adoc/modules/ROOT/partials/component-nav.adoc b/starters/adoc/modules/ROOT/partials/component-nav.adoc
index 4221f56..de8307e 100644
--- a/starters/adoc/modules/ROOT/partials/component-nav.adoc
+++ b/starters/adoc/modules/ROOT/partials/component-nav.adoc
@@ -1,7 +1,5 @@
 include::starters:ROOT:partial$module-nav.adoc[]
 
-* Starter Apps
-
 include::starters:helloworld:partial$module-nav.adoc[]
 include::starters:simpleapp:partial$module-nav.adoc[]
 
diff --git a/starters/adoc/modules/ROOT/partials/module-nav.adoc b/starters/adoc/modules/ROOT/partials/module-nav.adoc
index 752c1a0..b28b04f 100644
--- a/starters/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/starters/adoc/modules/ROOT/partials/module-nav.adoc
@@ -1,4 +1,3 @@
-* xref:about.adoc[Quick Start]
 
 
 
diff --git a/starters/adoc/modules/helloworld/partials/module-nav.adoc b/starters/adoc/modules/helloworld/partials/module-nav.adoc
index ea89cb5..c9c9097 100644
--- a/starters/adoc/modules/helloworld/partials/module-nav.adoc
+++ b/starters/adoc/modules/helloworld/partials/module-nav.adoc
@@ -1,2 +1,2 @@
-** xref:starters:helloworld:about.adoc[HelloWorld]
+* xref:starters:helloworld:about.adoc[HelloWorld]
 
diff --git a/starters/adoc/modules/simpleapp/partials/module-nav.adoc b/starters/adoc/modules/simpleapp/partials/module-nav.adoc
index 6f32cb1..ed5e981 100644
--- a/starters/adoc/modules/simpleapp/partials/module-nav.adoc
+++ b/starters/adoc/modules/simpleapp/partials/module-nav.adoc
@@ -1,2 +1,2 @@
-** xref:starters:simpleapp:about.adoc[SimpleApp]
+* xref:starters:simpleapp:about.adoc[SimpleApp]