As a very uneducated attempt to find out, I changed unifiprotect/pom.xml at 565efd50a81736e27530a23d3c28cc34511a68ea · seaside1/unifiprotect · GitHub to <version>5.0.0-SNAPSHOT</version>
. I’m not sure something else needs to be changed in order to make the binding suitable for OH5?
I then tried to compile a jar file, running mvn clean install -e -X -T1C -DskipTests -DskipChecks -Dspotless.check.skip=true
.
This was the end of the output:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[55,25] Null type mismatch: required 'java.io.@NonNull InputStream' but the provided value is inferred as @org.eclipse.jdt.annotation.Nullable
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[57,16] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[58,20] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[59,16] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[INFO] 4 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:41 min (Wall Clock)
[INFO] Finished at: 2025-06-12T16:51:55+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:testCompile (default-testCompile) on project org.openhab.binding.unifiprotect: Compilation failure: Compilation failure:
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[55,25] Null type mismatch: required 'java.io.@NonNull InputStream' but the provided value is inferred as @org.eclipse.jdt.annotation.Nullable
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[57,16] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[58,20] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[ERROR] C:\openHAB-dev\externe-gits\unifiprotect\unifiprotect\src\test\java\org\openhab\binding\unifiprotect\internal\UniFiProtectRequestTester.java:[59,16] Null type mismatch (type annotations): required 'java.lang.@NonNull String' but this expression has type 'java.lang.@Nullable String'
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:testCompile (default-testCompile) on project org.openhab.binding.unifiprotect: Compilation failure
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
at java.lang.Thread.run (Thread.java:1583)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1309)
at org.apache.maven.plugin.compiler.TestCompilerMojo.execute (TestCompilerMojo.java:208)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
at java.lang.Thread.run (Thread.java:1583)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
So not all seems fine and dandy. But my understanding of how it all works is next to non-existing, so I don’t have any answers up my sleeve…