From 5ae9a8b156fb312d1b52b6e77e8776bad59736b5 Mon Sep 17 00:00:00 2001 From: larsk21 <57503246+larsk21@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:28:09 +0100 Subject: [PATCH 1/3] ensure profile dependent properties have a default value --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index fe39b62..f63c98f 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,8 @@ 17 17 17 + + From 48e30ed40db7b8fc845a3ddf9308c5874ddbeec7 Mon Sep 17 00:00:00 2001 From: larsk21 <57503246+larsk21@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:28:54 +0100 Subject: [PATCH 2/3] remove support for p2 dependencies --- pom.xml | 20 +------------------- readme.md | 25 ------------------------- 2 files changed, 1 insertion(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index f63c98f..4254cef 100644 --- a/pom.xml +++ b/pom.xml @@ -96,14 +96,6 @@ 3.4.0 - - - org.openntf.maven - p2-layout-resolver - 1.9.0 - true - - org.codehaus.mojo build-helper-maven-plugin @@ -565,7 +557,7 @@ - + central Maven Central @@ -575,16 +567,6 @@ - - - artifactory.openntf.org - artifactory.openntf.org - https://artifactory.openntf.org/openntf - - false - - - ossrh-snapshots diff --git a/readme.md b/readme.md index dd476c4..c521918 100644 --- a/readme.md +++ b/readme.md @@ -44,24 +44,6 @@ Currently the parent POM in this project specifies Java 17 as source/target comp ## Provided Plugins -### `org.openntf.maven:p2-layout-resolver` - -- required for adding Eclipse update sites as repositories -- update sites are specified as follows: - -``` - - some-id - Some Name - p2 - http://abc.xyz/org/example/com/releases/${repo.some-id.version} - -``` - -- replace placeholders, such as `some-id`, `Some Name` and the URL, with reasonable values -- it is good practice to store the update site version (if applicable) in a Maven property called `repo.id.version` where `id` is the id of the update site -- to include a dependency from an added update site, use the update site id as `groupId` of the dependency - ### `org.codehaus.mojo:build-helper-maven-plugin` - required for adding code in non-Java languages (such as Xtend), as well as generated code (for Xtend and Ecore) to the classpath @@ -225,13 +207,6 @@ It is important not to use the name `add-source` as the `id` of the execution, a To generate code from the DSL code, the used DSL packages need to be included as a dependencies of the `xtext-maven-plugin` plugin. If the DSL code references meta-models from foreign packages, these need to be included as dependencies for the build plugin as well. -Note that dependencies from p2 repositories, included with the `p2-layout-resolver`, cannot be used as build plugin dependencies. -One workaround is to create a wrapper Maven module with the p2 dependencies and no content otherwise. -Note that the packaging of the wrapper module still needs to be `jar`. - -The [EMF-Template] project contains a module [imports](https://github.com/vitruv-tools/EMF-Template/tree/7ba1d2a49971e56cdf9e9cac3a5373c70db16777/imports) where this is shown for an example DSL allowing (only) meta-model imports. -To import the `persons` meta-model from a p2 updatesite dependency in [line 2](https://github.com/vitruv-tools/EMF-Template/blob/7ba1d2a49971e56cdf9e9cac3a5373c70db16777/imports/demo/src/main/importslanguage/example.imports#L2) of the file `example.imports`, an additional module `dependencywrapper` is added and included as dependency. -The p2 dependencies are then included in the [POM](https://github.com/vitruv-tools/EMF-Template/blob/7ba1d2a49971e56cdf9e9cac3a5373c70db16777/imports/dependencywrapper/pom.xml) of the dependency wrapper module. Below you find an example configuration of the build plugin for the Reactions language. From 529d549949fb7fbe0d7cb849c522cf056fa6e0bd Mon Sep 17 00:00:00 2001 From: larsk21 <57503246+larsk21@users.noreply.github.com> Date: Wed, 22 Jan 2025 14:29:19 +0100 Subject: [PATCH 3/3] add support for external dependency wrapper modules --- pom.xml | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 12 ++++++++++++ 2 files changed, 62 insertions(+) diff --git a/pom.xml b/pom.xml index 4254cef..47028f5 100644 --- a/pom.xml +++ b/pom.xml @@ -293,6 +293,56 @@ 3.4.2 + + + org.codehaus.mojo + flatten-maven-plugin + 1.6.0 + + + flatten + process-resources + + flatten + + + oss + + remove + remove + + + + + + + + + maven-shade-plugin + 3.6.0 + + + package + + shade + + + true + true + true + + + tools.vitruv:* + + META-INF/MANIFEST.MF + + + + + + + + maven-source-plugin 3.3.1 diff --git a/readme.md b/readme.md index c521918..f8d47f8 100644 --- a/readme.md +++ b/readme.md @@ -79,6 +79,18 @@ Currently the parent POM in this project specifies Java 17 as source/target comp ``` +### `org.codehaus.mojo:flatten-maven-plugin` + +- replaces the POM of a project with an effective, flattened POM +- configured to remove references to external repositories +- can be used for dependency wrapper modules + +### `maven-shade-plugin` + +- includes dependencies in the built jar archive +- removes references to dependencies from the POM in the built jar archive +- can be used for dependency wrapper modules + ### `maven-gpg-plugin` - signs generated jar archives for deployment