This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x-build-tools.git
The following commit(s) were added to refs/heads/develop by this push:
new 1d597a3 chore(build): maven 4 migration
1d597a3 is described below
commit 1d597a3a7bafa4d81b12fc82f16d08a56d659d54
Author: Sebastian Rühl <[email protected]>
AuthorDate: Fri Jul 10 15:21:37 2026 +0200
chore(build): maven 4 migration
Migrate the build to Maven 4, following the migration done in the main
plc4x repo (apache/plc4x#2337):
- update the Maven wrapper to 3.3.4 / Maven 4.0.0-rc-5
- move all reactor poms to the 4.1.0 model (drop explicit modelVersion,
drop subprojects lists that exactly match the direct child directories,
keep explicit parent versions)
- migrate the standalone jenkins.pom, with an empty <subprojects/> to
disable Maven 4 subproject auto-discovery
- pin maven.version=3.9.9 so the plc4x-maven-plugin keeps targeting the
Maven 3 plugin API instead of Maven's built-in runtime version property
- lock maven-install-plugin in the parentless root aggregator pom
- switch the Jenkinsfile from mvn to ./mvnw so CI uses the wrapper-provided
Maven 4 instead of the maven_3_latest tool
- update the README build requirements
https://maven.apache.org/guides/mini/guide-migration-to-mvn4.html
---
.mvn/wrapper/maven-wrapper.properties | 4 +--
Jenkinsfile | 6 ++--
README.md | 5 ++-
code-generation/language-base/pom.xml | 4 +--
code-generation/plc4x-maven-plugin/pom.xml | 4 +--
code-generation/pom.xml | 18 +++++-----
code-generation/protocol-base/pom.xml | 4 +--
code-generation/types-base/pom.xml | 4 +--
jenkins.pom | 10 ++++--
mvnw | 50 ++++++++++++++++++++++----
mvnw.cmd | 56 +++++++++++++++++++++++++-----
pom.xml | 20 +++++++----
12 files changed, 133 insertions(+), 52 deletions(-)
diff --git a/.mvn/wrapper/maven-wrapper.properties
b/.mvn/wrapper/maven-wrapper.properties
index d58dfb7..441a12f 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -14,6 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-wrapperVersion=3.3.2
+wrapperVersion=3.3.4
distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/4.0.0-rc-5/apache-maven-4.0.0-rc-5-bin.zip
diff --git a/Jenkinsfile b/Jenkinsfile
index c4f2499..9b472be 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -82,7 +82,7 @@ pipeline {
}
steps {
echo 'Building'
- sh 'mvn
-P${JENKINS_PROFILE},development,with-cpp,with-java,with-dotnet,with-python,with-proxies,with-sandbox
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
+ sh './mvnw
-P${JENKINS_PROFILE},development,with-cpp,with-java,with-dotnet,with-python,with-proxies,with-sandbox
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
}
post {
always {
@@ -105,7 +105,7 @@ pipeline {
// We'll deploy to a relative directory so we can save
// that and deploy in a later step on a different node
- sh 'mvn -U
-P${JENKINS_PROFILE},development,with-java,with-dotnet,with-cpp,with-python,with-proxies,with-sandbox
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
+ sh './mvnw -U
-P${JENKINS_PROFILE},development,with-java,with-dotnet,with-cpp,with-python,with-proxies,with-sandbox
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
// Stash the build results so we can deploy them on another
node
stash name: 'plc4x-build-snapshots', includes:
'local-snapshots-dir/**'
@@ -139,7 +139,7 @@ pipeline {
unstash name: 'plc4x-build-snapshots'
// Deploy the artifacts using the wagon-maven-plugin.
- sh 'mvn -f jenkins.pom -X -P deploy-snapshots wagon:upload'
+ sh './mvnw -f jenkins.pom -X -P deploy-snapshots wagon:upload'
// Clean up the snapshots directory (freeing up more space
after deploying).
dir("local-snapshots-dir/") {
diff --git a/README.md b/README.md
index df417be..5e88e96 100644
--- a/README.md
+++ b/README.md
@@ -44,6 +44,9 @@ Currently, the project is configured to require the following
software:
1) Java >=21 JDK: For running Maven in general as well as compiling the Java
and Scala
modules JAVA_HOME configured to point to that.
+2) Maven 4.0.0-rc-5 or newer: For building the project (the bundled
Maven-Wrapper `mvnw`
+takes care of this automatically).
+
Getting Started
---------------
@@ -52,7 +55,7 @@ Normally you wouldn't be required to build this module as the
artifacts it produ
will be made available via one of the maven repositories. However if you want
to improve
or fix the existing tools, you will have to build your version locally.
-You must have Java >=9 installed on your system and connectivity to Maven
Central
+You must have Java >=21 installed on your system and connectivity to Maven
Central
(for downloading external third party dependencies). Maven will be
automatically
downloaded and installed by the maven wrapper `mvnw`.
diff --git a/code-generation/language-base/pom.xml
b/code-generation/language-base/pom.xml
index d96771d..4eb41df 100644
--- a/code-generation/language-base/pom.xml
+++ b/code-generation/language-base/pom.xml
@@ -17,9 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<parent>
<groupId>org.apache.plc4x.plugins</groupId>
diff --git a/code-generation/plc4x-maven-plugin/pom.xml
b/code-generation/plc4x-maven-plugin/pom.xml
index 8467b26..017cc2b 100644
--- a/code-generation/plc4x-maven-plugin/pom.xml
+++ b/code-generation/plc4x-maven-plugin/pom.xml
@@ -17,9 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<parent>
<groupId>org.apache.plc4x.plugins</groupId>
diff --git a/code-generation/pom.xml b/code-generation/pom.xml
index a171d63..14a5f9a 100644
--- a/code-generation/pom.xml
+++ b/code-generation/pom.xml
@@ -17,9 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<!--
This is intentionally set to the apache parent as this way
@@ -44,6 +42,13 @@
<!-- Timestamp for the reproducible builds -->
<project.build.outputTimestamp>1744388104</project.build.outputTimestamp>
<java.version>21</java.version>
+ <!--
+ Maven version the plc4x-maven-plugin is built against.
+ Pinned explicitly as otherwise Maven's built-in ${maven.version} property
+ (the version of the Maven runtime executing the build) would apply, which
+ under Maven 4 would retarget the plugin to the Maven 4 plugin API.
+ -->
+ <maven.version>3.9.9</maven.version>
</properties>
<scm>
@@ -53,13 +58,6 @@
<tag>releases/code-generation/1.4</tag>
</scm>
- <modules>
- <module>types-base</module>
- <module>language-base</module>
- <module>protocol-base</module>
- <module>plc4x-maven-plugin</module>
- </modules>
-
<build>
<plugins>
<plugin>
diff --git a/code-generation/protocol-base/pom.xml
b/code-generation/protocol-base/pom.xml
index ecbda1f..f9d04b1 100644
--- a/code-generation/protocol-base/pom.xml
+++ b/code-generation/protocol-base/pom.xml
@@ -17,9 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<parent>
<groupId>org.apache.plc4x.plugins</groupId>
diff --git a/code-generation/types-base/pom.xml
b/code-generation/types-base/pom.xml
index e2d8dc0..81e9af8 100644
--- a/code-generation/types-base/pom.xml
+++ b/code-generation/types-base/pom.xml
@@ -17,9 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<parent>
<groupId>org.apache.plc4x.plugins</groupId>
diff --git a/jenkins.pom b/jenkins.pom
index d6e9533..8404671 100644
--- a/jenkins.pom
+++ b/jenkins.pom
@@ -17,16 +17,17 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
+<project xmlns="http://maven.apache.org/POM/4.1.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">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.1.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>34</version>
+ <relativePath />
</parent>
<groupId>org.apache.plc4x.plugins</groupId>
@@ -34,6 +35,9 @@
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
+ <!-- Empty on purpose: disables Maven 4 subproject auto-discovery, this
pom is standalone -->
+ <subprojects/>
+
<profiles>
<!--
This profile is used to deploy all the artifacts in the
diff --git a/mvnw b/mvnw
index 19529dd..bd8896b 100755
--- a/mvnw
+++ b/mvnw
@@ -19,7 +19,7 @@
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
-# Apache Maven Wrapper startup batch script, version 3.3.2
+# Apache Maven Wrapper startup batch script, version 3.3.4
#
# Optional ENV vars
# -----------------
@@ -105,14 +105,17 @@ trim() {
printf "%s" "${1}" | tr -d '[:space:]'
}
+scriptDir="$(dirname "$0")"
+scriptName="$(basename "$0")"
+
# parse distributionUrl and optional distributionSha256Sum, requires
.mvn/wrapper/maven-wrapper.properties
while IFS="=" read -r key value; do
case "${key-}" in
distributionUrl) distributionUrl=$(trim "${value-}") ;;
distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;;
esac
-done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties"
-[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in
${0%/*}/.mvn/wrapper/maven-wrapper.properties"
+done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties"
+[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in
$scriptDir/.mvn/wrapper/maven-wrapper.properties"
case "${distributionUrl##*/}" in
maven-mvnd-*bin.*)
@@ -130,7 +133,7 @@ maven-mvnd-*bin.*)
distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip"
;;
maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;;
-*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
+*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
esac
# apply MVNW_REPOURL and calculate MAVEN_HOME
@@ -227,7 +230,7 @@ if [ -n "${distributionSha256Sum-}" ]; then
echo "Please disable validation by removing 'distributionSha256Sum' from
your maven-wrapper.properties." >&2
exit 1
elif command -v sha256sum >/dev/null; then
- if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" |
sha256sum -c >/dev/null 2>&1; then
+ if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" |
sha256sum -c - >/dev/null 2>&1; then
distributionSha256Result=true
fi
elif command -v shasum >/dev/null; then
@@ -252,8 +255,41 @@ if command -v unzip >/dev/null; then
else
tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"}
"$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed
to untar"
fi
-printf %s\\n "$distributionUrl"
>"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url"
-mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d
"$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
+
+# Find the actual extracted directory name (handles snapshots where filename
!= directory name)
+actualDistributionDir=""
+
+# First try the expected directory name (for regular distributions)
+if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then
+ if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then
+ actualDistributionDir="$distributionUrlNameMain"
+ fi
+fi
+
+# If not found, search for any directory with the Maven executable (for
snapshots)
+if [ -z "$actualDistributionDir" ]; then
+ # enable globbing to iterate over items
+ set +f
+ for dir in "$TMP_DOWNLOAD_DIR"/*; do
+ if [ -d "$dir" ]; then
+ if [ -f "$dir/bin/$MVN_CMD" ]; then
+ actualDistributionDir="$(basename "$dir")"
+ break
+ fi
+ fi
+ done
+ set -f
+fi
+
+if [ -z "$actualDistributionDir" ]; then
+ verbose "Contents of $TMP_DOWNLOAD_DIR:"
+ verbose "$(ls -la "$TMP_DOWNLOAD_DIR")"
+ die "Could not find Maven distribution directory in extracted archive"
+fi
+
+verbose "Found extracted Maven distribution directory: $actualDistributionDir"
+printf %s\\n "$distributionUrl"
>"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url"
+mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d
"$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
clean || :
exec_maven "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
index 249bdf3..92450f9 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -19,7 +19,7 @@
@REM
----------------------------------------------------------------------------
@REM
----------------------------------------------------------------------------
-@REM Apache Maven Wrapper startup batch script, version 3.3.2
+@REM Apache Maven Wrapper startup batch script, version 3.3.4
@REM
@REM Optional ENV vars
@REM MVNW_REPOURL - repo url base for downloading maven distribution
@@ -40,7 +40,7 @@
@SET __MVNW_ARG0_NAME__=
@SET MVNW_USERNAME=
@SET MVNW_PASSWORD=
-@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*)
+@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*)
@echo Cannot start maven from wrapper >&2 && exit /b 1
@GOTO :EOF
: end batch / begin powershell #>
@@ -73,16 +73,30 @@ switch -wildcard -casesensitive ( $($distributionUrl
-replace '^.*/','') ) {
# apply MVNW_REPOURL and calculate MAVEN_HOME
# maven home pattern:
~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash>
if ($env:MVNW_REPOURL) {
- $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else {
"/maven/mvnd/" }
- $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl
-replace '^.*'+$MVNW_REPO_PATTERN,'')"
+ $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else
{ "/maven/mvnd/" }
+ $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl
-replace "^.*$MVNW_REPO_PATTERN",'')"
}
$distributionUrlName = $distributionUrl -replace '^.*/',''
$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$',''
-replace '-bin$',''
-$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain"
+
+$MAVEN_M2_PATH = "$HOME/.m2"
if ($env:MAVEN_USER_HOME) {
- $MAVEN_HOME_PARENT =
"$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain"
+ $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME"
+}
+
+if (-not (Test-Path -Path $MAVEN_M2_PATH)) {
+ New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null
+}
+
+$MAVEN_WRAPPER_DISTS = $null
+if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) {
+ $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists"
+} else {
+ $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists"
}
-$MAVEN_HOME_NAME =
([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl)
| ForEach-Object {$_.ToString("x2")}) -join ''
+
+$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain"
+$MAVEN_HOME_NAME =
([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl)
| ForEach-Object {$_.ToString("x2")}) -join ''
$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME"
if (Test-Path -Path "$MAVEN_HOME" -PathType Container) {
@@ -134,7 +148,33 @@ if ($distributionSha256Sum) {
# unzip and move
Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath
"$TMP_DOWNLOAD_DIR" | Out-Null
-Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName
$MAVEN_HOME_NAME | Out-Null
+
+# Find the actual extracted directory name (handles snapshots where filename
!= directory name)
+$actualDistributionDir = ""
+
+# First try the expected directory name (for regular distributions)
+$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain"
+$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD"
+if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path
$expectedMvnPath -PathType Leaf)) {
+ $actualDistributionDir = $distributionUrlNameMain
+}
+
+# If not found, search for any directory with the Maven executable (for
snapshots)
+if (!$actualDistributionDir) {
+ Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object {
+ $testPath = Join-Path $_.FullName "bin/$MVN_CMD"
+ if (Test-Path -Path $testPath -PathType Leaf) {
+ $actualDistributionDir = $_.Name
+ }
+ }
+}
+
+if (!$actualDistributionDir) {
+ Write-Error "Could not find Maven distribution directory in extracted
archive"
+}
+
+Write-Verbose "Found extracted Maven distribution directory:
$actualDistributionDir"
+Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName
$MAVEN_HOME_NAME | Out-Null
try {
Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination
$MAVEN_HOME_PARENT | Out-Null
} catch {
diff --git a/pom.xml b/pom.xml
index c46ddaa..98d20a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,10 +17,9 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
+<project xmlns="http://maven.apache.org/POM/4.1.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>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.1.0
http://maven.apache.org/xsd/maven-4.1.0.xsd">
<groupId>org.apache.plc4x.plugins</groupId>
<artifactId>plc4x-build-tools</artifactId>
@@ -30,8 +29,17 @@
<name>PLC4X Build-Tools</name>
<description>This is just a pom to ease importing the repo into a Maven
supporting IDE</description>
- <modules>
- <module>code-generation</module>
- </modules>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!-- Lock the version of the default-binding plugins (this pom has no
parent doing so) -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>3.1.4</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
</project>