This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch v3-jpa in repository https://gitbox.apache.org/repos/asf/causeway-app-helloworld.git
commit 50bb6f076dddd9b4a1c1f09d65688aa1ae592d01 Author: Dan Haywood <[email protected]> AuthorDate: Tue Oct 28 08:09:34 2025 +0000 switches to static weaving, updates README --- README.adoc | 63 +--------------------------------------------- lib/spring-instrument.jar | Bin 7454 -> 0 bytes pom.xml | 18 ++++++++++--- 3 files changed, 16 insertions(+), 65 deletions(-) diff --git a/README.adoc b/README.adoc index ff4392f..1e38534 100644 --- a/README.adoc +++ b/README.adoc @@ -2,9 +2,6 @@ :toc: :toc-placement!: -image:https://github.com/apache/causeway-app-helloworld/workflows/Build%20w/%20Maven%20+%20Jdk%208/badge.svg[] -image:https://github.com/apache/causeway-app-helloworld/workflows/Build%20w/%20Maven%20+%20Jdk%2015/badge.svg[] - This is a minimal link:https://causeway.apache.org[Apache Causeway] application, intended as a starting point to learn what the framework is all about. [TIP] @@ -21,7 +18,7 @@ toc::[] * install prereqs: ** Java 21 LTS (eg link:https://adoptopenjdk.net/[Adopt OpenJDK] distribution) -** Maven 3.9.10 or later (http://maven.apache.org/download.cgi[download]) +** Maven 3.9.11 or later (http://maven.apache.org/download.cgi[download]) * download and unzip + [source,bash] @@ -42,15 +39,6 @@ cd $REPO mvn clean install ---- -* Download the `spring-instrument.jar` for load-time weaving (discussed in more detail xref:#orm-support[below]): -+ -[source,bash] ----- -mvn dependency:get -DgroupId=org.springframework -DartifactId=spring-instrument -Dversion=XXX ----- -+ -Change "XXX" to the value that `${spring-framework.version}` resolves to in the webapp `pom.xml` - * Run using Maven: + [source,bash] @@ -68,52 +56,3 @@ mvn spring-boot:run + The app runs with H2 running in-memory. - - -[#orm-support] -== ORM Support - -// EclipseLink : START - -This version of the application uses EclipseLink JPA as its ORM, configured with load-time weaving. -This requires that the application be run with a Java agent. - -The spring-boot plugin is configured to run with this agent already. -If you want to run from an IDE: - -* first, you might wish to copy the file locally: -+ -[source,bash] ----- -cp ~/.m2/repository/org/springframework/spring-instrument/XXX/spring-instrument-XXX.jar lib/spring-instrument.jar ----- -+ -Change "XXX" to the value that `${spring-framework.version}` resolves to in the webapp `pom.xml` - -* Then specify the agent as a VM option: -+ -[source,bash] ----- --javaagent:lib/spring-instrument.jar ----- - -// EclipseLink : END - - - -// DataNucleus : START - -//This version of the application uses DataNucleus as its ORM, which requires that any entities are "enhanced", a post-compile process. -// -//Normally this is done as part of a "mvn clean install", but the entities can also be enhanced explicity using: -// -//[source,bash] -//---- -//mvn -pl module-simple datanucleus:enhance -o -//---- -// -//This is useful to know if the application or integration test fails to bootstrap, complaining of "unenhanced entities". -// -//TIP: You can also use `enhance-all.sh` - -// DataNucleus : END diff --git a/lib/spring-instrument.jar b/lib/spring-instrument.jar deleted file mode 100644 index 4d53771..0000000 Binary files a/lib/spring-instrument.jar and /dev/null differ diff --git a/pom.xml b/pom.xml index 7c2fc54..ae4a06a 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,7 @@ <properties> <java.version>21</java.version> + <eclipselink-maven-plugin.version>3.0.2</eclipselink-maven-plugin.version> <!-- https://stackoverflow.com/questions/38983934/cannot-get-maven-project-version-property-in-a-spring-application-with-value/38983935#38983935 --> <resource.delimiter>^</resource.delimiter> </properties> @@ -50,15 +51,26 @@ </resource> </resources> <plugins> + <plugin> + <groupId>com.ethlo.persistence.tools</groupId> + <artifactId>eclipselink-maven-plugin</artifactId> + <version>${eclipselink-maven-plugin.version}</version> + <executions> + <execution> + <id>weave</id> + <phase>process-classes</phase> + <goals> + <goal>weave</goal> + </goals> + </execution> + </executions> + </plugin> <!-- running: mvn spring-boot:run --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> - <agents> - <agent>${settings.localRepository}/org/springframework/spring-instrument/${spring-framework.version}/spring-instrument-${spring-framework.version}.jar</agent> - </agents> <requiresUnpack> <dependency> <groupId>org.asciidoctor</groupId>
