Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
hutcheb committed May 5, 2024
2 parents 8d0cf71 + b2cbfe0 commit 5bbf3cf
Show file tree
Hide file tree
Showing 5 changed files with 141 additions and 53 deletions.
64 changes: 63 additions & 1 deletion plc4c/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,6 @@
<descriptors>
<descriptor>build-utils/source-bundle-descriptor.xml</descriptor>
</descriptors>
<classifier>sources</classifier>
</configuration>
</execution>
</executions>
Expand Down Expand Up @@ -375,6 +374,69 @@
</dependencies>
</profile>

<!--
In order to build on windows with aarch64 systems, we need to re-deploy an
artifact which was unfortunately deployed with the wrong classifier.
-->
<profile>
<id>.os-windows-aarch64</id>
<activation>
<os>
<family>windows</family>
<arch>aarch64</arch>
</os>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>get-aarch64-windows-binaries</id>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/redeploy</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>com.googlecode.cmake-maven-project</groupId>
<artifactId>cmake-binaries</artifactId>
<version>${cmake.version}</version>
<classifier>windows-arm_64</classifier>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-aarch64-windows-binaries</id>
<phase>validate</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${project.build.directory}/redeploy/cmake-binaries-${cmake.version}-windows-arm_64.jar</file>
<groupId>com.googlecode.cmake-maven-project</groupId>
<artifactId>cmake-binaries</artifactId>
<version>${cmake.version}</version>
<classifier>windows-arm64</classifier>
<packaging>jar</packaging>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

<!-- When running on jenkins, download the sonar build-wrapper, so we can do a code analysis -->
<profile>
<id>jenkins-build</id>
Expand Down
116 changes: 70 additions & 46 deletions plc4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,73 @@

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!--
As dynamic agent loading has been deprecated and was starting
to cause issues in more recent JDK versions, we now fetch the
agent manually and pass it in to surefire.
-->
<execution>
<id>copy</id>
<phase>process-resources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${byte-buddy.version}</version>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<!--
Even if Maven transitively pulls in dependencies, relying on these can
quite often cause hard to find problems. So it's a good practice to make
sure everything directly required is also directly added as a dependency.
On the other side adding unused dependency only over-complicates the
the dependency graph, so the maven-dependency-plugin checks we depend on
what we need and only that and that runtime dependencies are correctly
imported with runtime scope.
-->
<execution>
<id>check-dependencies</id>
<phase>verify</phase>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
<ignoreNonCompile>true</ignoreNonCompile>
<ignoredDependencies>
<ignoredDependency>org.assertj:assertj-core</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter-api</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter-params</ignoredDependency>
<ignoredDependency>org.opentest4j:opentest4j</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest-core</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest-library</ignoredDependency>
<ignoredDependency>org.mockito:mockito-core</ignoredDependency>
<ignoredDependency>org.mockito:mockito-junit-jupiter</ignoredDependency>
<ignoredDependency>org.slf4j:slf4j-api</ignoredDependency>
<ignoredDependency>ch.qos.logback:logback-classic</ignoredDependency>
<ignoredDependency>org.apache.groovy:groovy-test-junit5</ignoredDependency>
<ignoredDependency>org.apache.groovy:groovy</ignoredDependency>
<ignoredDependency>com.athaydes:spock-reports</ignoredDependency>
<ignoredDependency>org.apache.nifi:nifi-standard-nar</ignoredDependency>
</ignoredDependencies>
</configuration>
</execution>
</executions>
</plugin>

<!-- Compile any groovy code located in "src/test/groovy" -->
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
Expand Down Expand Up @@ -198,8 +265,10 @@
<!--
We have to slightly increase the heap-size or some tests will fail.
Notice the @ instead of the $ as prefix? That's late evaluation.
Also do we have to pass in the byte-buddy agent to work around issues
with dynamic loading of jvm agents.
-->
<argLine>-Xmx512m @{surefireArgLine}</argLine>
<argLine>-javaagent:${project.basedir}/target/byte-buddy-agent-${byte-buddy.version}.jar -Xmx512m @{surefireArgLine}</argLine>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
Expand Down Expand Up @@ -274,51 +343,6 @@
</archive>
</configuration>
</plugin>

<!--
Even if Maven transitively pulls in dependencies, relying on these can
quite often cause hard to find problems. So it's a good practice to make
sure everything directly required is also directly added as a dependency.
On the other side adding unused dependency only over-complicates the
the dependency graph, so the maven-dependency-plugin checks we depend on
what we need and only that and that runtime dependencies are correctly
imported with runtime scope.
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>check-dependencies</id>
<phase>verify</phase>
<goals>
<goal>analyze-only</goal>
</goals>
<configuration>
<failOnWarning>true</failOnWarning>
<ignoreNonCompile>true</ignoreNonCompile>
<ignoredDependencies>
<ignoredDependency>org.assertj:assertj-core</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter-api</ignoredDependency>
<ignoredDependency>org.junit.jupiter:junit-jupiter-params</ignoredDependency>
<ignoredDependency>org.opentest4j:opentest4j</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest-core</ignoredDependency>
<ignoredDependency>org.hamcrest:hamcrest-library</ignoredDependency>
<ignoredDependency>org.mockito:mockito-core</ignoredDependency>
<ignoredDependency>org.mockito:mockito-junit-jupiter</ignoredDependency>
<ignoredDependency>org.slf4j:slf4j-api</ignoredDependency>
<ignoredDependency>ch.qos.logback:logback-classic</ignoredDependency>
<ignoredDependency>org.apache.groovy:groovy-test-junit5</ignoredDependency>
<ignoredDependency>org.apache.groovy:groovy</ignoredDependency>
<ignoredDependency>com.athaydes:spock-reports</ignoredDependency>
<ignoredDependency>org.apache.nifi:nifi-standard-nar</ignoredDependency>
</ignoredDependencies>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

Expand Down
2 changes: 2 additions & 0 deletions plc4net/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,10 @@
<outputDirectory>${project.basedir}/drivers/knxnetip-test/resources</outputDirectory>
<includes>**/*.xml</includes>
<excludes>META-INF/**,org/**</excludes>
<overWrite>true</overWrite>
</artifactItem>
</artifactItems>
<ignorePermissions>true</ignorePermissions>
</configuration>
</execution>
</executions>
Expand Down
10 changes: 5 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<!-- When updating to 32 the site build starts failing -->
<version>32</version>
<version>31</version>
</parent>

<groupId>org.apache.plc4x</groupId>
Expand Down Expand Up @@ -111,7 +111,7 @@
<bouncycastle.version>1.78.1</bouncycastle.version>
<byte-buddy.version>1.14.14</byte-buddy.version>
<!-- Be sure to keep this version set to the version of the cmake-maven-plugin -->
<cmake-version>3.27.2</cmake-version>
<cmake.version>3.27.7-b1</cmake.version>
<commons-beanutils.version>1.9.4</commons-beanutils.version>
<commons-cli.version>1.7.0</commons-cli.version>
<commons-codec.version>1.17.0</commons-codec.version>
Expand Down Expand Up @@ -576,7 +576,7 @@
<dependency>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
<version>2.27.0</version>
<version>2.27.1</version>
</dependency>

<dependency>
Expand All @@ -594,7 +594,7 @@
<dependency>
<groupId>com.google.j2objc</groupId>
<artifactId>j2objc-annotations</artifactId>
<version>2.8</version>
<version>3.0.0</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -1326,7 +1326,7 @@
<groupId>com.googlecode.cmake-maven-project</groupId>
<artifactId>cmake-maven-plugin</artifactId>
<!-- Not all versions have all types of binaries deployed -->
<version>3.27.7-b1</version>
<version>${cmake.version}</version>
</plugin>

<plugin>
Expand Down
2 changes: 1 addition & 1 deletion src/main/script/prerequisiteCheck.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ def checkGit() {
// that's why this is the baseline for python.
def checkPython() {
def python = project.properties['python.exe.bin']
println "Using python executable: " + python + " OK"
println "Using python executable: " + python + " OK"
print "Detecting Python version: "
try {
def process = (python + " --version").execute()
Expand Down

0 comments on commit 5bbf3cf

Please sign in to comment.