From 7532281637a6d86297fec8bb1a535b1ded23aa34 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Mon, 25 Sep 2023 22:36:56 -0600 Subject: [PATCH 01/11] Add no FPS cap option --- .../com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt index 5538e733..e5a0cd55 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt @@ -796,6 +796,7 @@ enum class PipelineFps(val fps: Int, val coolName: String) { MEDIUM(30, "Medium (30 FPS)"), HIGH(60, "High (60 FPS)"), HIGHEST(100, "Highest (100 FPS)"); + UNLIMITED_POWER(Int.MAX_VALUE, "Unlimited Power! (no FPS cap); companion object { @JvmStatic From 601f2ce0ff40c8b2bcc09fb04d5eb9a3ca3bcfb2 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Mon, 25 Sep 2023 22:40:44 -0600 Subject: [PATCH 02/11] Fix syntax mistake --- .../com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt index e5a0cd55..fa07831c 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt @@ -796,7 +796,7 @@ enum class PipelineFps(val fps: Int, val coolName: String) { MEDIUM(30, "Medium (30 FPS)"), HIGH(60, "High (60 FPS)"), HIGHEST(100, "Highest (100 FPS)"); - UNLIMITED_POWER(Int.MAX_VALUE, "Unlimited Power! (no FPS cap); + UNLIMITED_POWER(Int.MAX_VALUE, "Unlimited Power! (no FPS cap)"); companion object { @JvmStatic From 09dfe34f3a4a7ad222e09c8690beeb1f379f46c2 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Mon, 25 Sep 2023 22:43:48 -0600 Subject: [PATCH 03/11] Fix another syntax mistake --- .../com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt index fa07831c..74e34fdf 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt @@ -795,7 +795,7 @@ enum class PipelineFps(val fps: Int, val coolName: String) { LOW(10, "Low (10 FPS)"), MEDIUM(30, "Medium (30 FPS)"), HIGH(60, "High (60 FPS)"), - HIGHEST(100, "Highest (100 FPS)"); + HIGHEST(100, "Highest (100 FPS)"), UNLIMITED_POWER(Int.MAX_VALUE, "Unlimited Power! (no FPS cap)"); companion object { From e699c7be4a50017dce6b0a66b065ea64e153a80d Mon Sep 17 00:00:00 2001 From: = Date: Tue, 26 Sep 2023 12:08:01 -0600 Subject: [PATCH 04/11] Catch NPE in CompilerProvider and add logger --- .../com/github/serivesmejia/eocvsim/util/LogExt.kt | 2 +- .../eocvsim/util/compiler/CompilerProvider.kt | 11 ++++++++++- build.gradle | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Common/src/main/java/com/github/serivesmejia/eocvsim/util/LogExt.kt b/Common/src/main/java/com/github/serivesmejia/eocvsim/util/LogExt.kt index b499ac9d..40dac066 100644 --- a/Common/src/main/java/com/github/serivesmejia/eocvsim/util/LogExt.kt +++ b/Common/src/main/java/com/github/serivesmejia/eocvsim/util/LogExt.kt @@ -6,4 +6,4 @@ import kotlin.reflect.KClass fun Any.loggerFor(clazz: KClass<*>) = lazy { LoggerFactory.getLogger(clazz.java) } fun Any.loggerForThis() = lazy { LoggerFactory.getLogger(this::class.java) } -fun Any.loggerOf(name: String) = lazy { LoggerFactory.getLogger(name) } \ No newline at end of file +fun loggerOf(name: String) = lazy { LoggerFactory.getLogger(name) } \ No newline at end of file diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/util/compiler/CompilerProvider.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/util/compiler/CompilerProvider.kt index ad13dd0e..d66b0096 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/util/compiler/CompilerProvider.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/util/compiler/CompilerProvider.kt @@ -23,12 +23,20 @@ package com.github.serivesmejia.eocvsim.util.compiler +import com.github.serivesmejia.eocvsim.util.loggerOf import org.eclipse.jdt.internal.compiler.tool.EclipseCompiler import javax.tools.JavaCompiler import javax.tools.ToolProvider +private val logger by loggerOf("CompilerProvider") + val compiler by lazy { - val toolProviderCompiler = ToolProvider.getSystemJavaCompiler() + val toolProviderCompiler = try { + ToolProvider.getSystemJavaCompiler() + } catch(e: Exception) { + logger.warn("ToolProvider threw an exception on getSystemJavaCompiler()", e) + null + } try { if (toolProviderCompiler == null) { @@ -37,6 +45,7 @@ val compiler by lazy { Compiler("JDK", toolProviderCompiler) } } catch(e: Exception) { + logger.warn("Unexpected exception while providing a java compiler", e) null } } diff --git a/build.gradle b/build.gradle index 30ab8308..397db7b8 100644 --- a/build.gradle +++ b/build.gradle @@ -37,7 +37,7 @@ plugins { allprojects { group 'com.github.deltacv' - version '3.5.2' + version '3.5.3' apply plugin: 'java' From 29219b5451f91360e51ed8688fb2d74c0fd0e898 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 27 Sep 2023 11:46:19 -0600 Subject: [PATCH 05/11] Remove cutStringBy and improve OpMode start checks --- .../github/serivesmejia/eocvsim/pipeline/PipelineManager.kt | 4 +--- .../java/com/qualcomm/robotcore/eventloop/opmode/OpMode.java | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt index 74e34fdf..3617079a 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/pipeline/PipelineManager.kt @@ -356,9 +356,7 @@ class PipelineManager( if(!hasInitCurrentPipeline) { pipelineExceptionTracker.addMessage("Error while initializing requested pipeline, \"$currentPipelineName\". Falling back to previous one.") pipelineExceptionTracker.addMessage( - StrUtil.cutStringBy( - StrUtil.fromException(ex), "\n", 9 - ).trim() + StrUtil.fromException(ex).trim() ) eocvSim.visualizer.pipelineSelectorPanel.selectedIndex = previousPipelineIndex diff --git a/Vision/src/main/java/com/qualcomm/robotcore/eventloop/opmode/OpMode.java b/Vision/src/main/java/com/qualcomm/robotcore/eventloop/opmode/OpMode.java index 540015f0..779bfe32 100644 --- a/Vision/src/main/java/com/qualcomm/robotcore/eventloop/opmode/OpMode.java +++ b/Vision/src/main/java/com/qualcomm/robotcore/eventloop/opmode/OpMode.java @@ -136,7 +136,7 @@ public final Mat processFrame(Mat input, long captureTimeNanos) { switch(notification) { case INIT: - if(notifier.getState() == OpModeState.START) break; + if(notifier.getState() != OpModeState.SELECTED) break; init(); notifier.notify(OpModeState.INIT); From ae44b93c7022b359ba39d35391c2308ddd8f9209 Mon Sep 17 00:00:00 2001 From: serivesmejia Date: Sun, 30 Jun 2024 23:26:04 -0700 Subject: [PATCH 06/11] Fix android Paint to actually clone old native Paint in constructor --- .../com/github/serivesmejia/eocvsim/EOCVSim.kt | 1 - .../com/github/serivesmejia/eocvsim/Main.kt | 1 - .../src/main/java/android/graphics/Paint.java | 2 +- .../vision/external/SourcedOpenCvCamera.java | 4 ++-- .../{VisionSourced.java => FrameReceiver.java} | 2 +- .../vision/external/source/VisionSource.java | 4 ++-- .../external/source/VisionSourceBase.java | 17 ++++++++--------- build.gradle | 2 +- 8 files changed, 15 insertions(+), 18 deletions(-) rename Vision/src/main/java/io/github/deltacv/vision/external/source/{VisionSourced.java => FrameReceiver.java} (97%) diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/EOCVSim.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/EOCVSim.kt index fd5b8000..4f4d30bc 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/EOCVSim.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/EOCVSim.kt @@ -261,7 +261,6 @@ class EOCVSim(val params: Parameters = Parameters()) { ) } - updateVisualizerTitle() // update current pipeline in title } diff --git a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/Main.kt b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/Main.kt index d10ca12e..4793c94c 100644 --- a/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/Main.kt +++ b/EOCV-Sim/src/main/java/com/github/serivesmejia/eocvsim/Main.kt @@ -62,7 +62,6 @@ class EOCVSimCommandInterface : Runnable { parameters.initialPipelineSource = initialPipelineSource } - if (opencvNativePath != null) { parameters.opencvNativeLibrary = checkPath("OpenCV Native", opencvNativePath!!, false) } diff --git a/Vision/src/main/java/android/graphics/Paint.java b/Vision/src/main/java/android/graphics/Paint.java index 1aff5285..2abbccb1 100644 --- a/Vision/src/main/java/android/graphics/Paint.java +++ b/Vision/src/main/java/android/graphics/Paint.java @@ -186,7 +186,7 @@ public Paint() { } public Paint(Paint paint) { - thePaint = paint.thePaint; + thePaint = paint.thePaint.makeClone(); typeface = paint.typeface; textSize = paint.textSize; diff --git a/Vision/src/main/java/io/github/deltacv/vision/external/SourcedOpenCvCamera.java b/Vision/src/main/java/io/github/deltacv/vision/external/SourcedOpenCvCamera.java index f4908445..5d6257e6 100644 --- a/Vision/src/main/java/io/github/deltacv/vision/external/SourcedOpenCvCamera.java +++ b/Vision/src/main/java/io/github/deltacv/vision/external/SourcedOpenCvCamera.java @@ -24,13 +24,13 @@ package io.github.deltacv.vision.external; import io.github.deltacv.vision.external.source.VisionSource; -import io.github.deltacv.vision.external.source.VisionSourced; +import io.github.deltacv.vision.external.source.FrameReceiver; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Size; import org.openftc.easyopencv.*; -public class SourcedOpenCvCamera extends OpenCvCameraBase implements OpenCvWebcam, VisionSourced { +public class SourcedOpenCvCamera extends OpenCvCameraBase implements OpenCvWebcam, FrameReceiver { private final VisionSource source; OpenCvViewport handedViewport; diff --git a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourced.java b/Vision/src/main/java/io/github/deltacv/vision/external/source/FrameReceiver.java similarity index 97% rename from Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourced.java rename to Vision/src/main/java/io/github/deltacv/vision/external/source/FrameReceiver.java index 4274c289..1ce3f3e6 100644 --- a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourced.java +++ b/Vision/src/main/java/io/github/deltacv/vision/external/source/FrameReceiver.java @@ -25,7 +25,7 @@ import org.opencv.core.Mat; -public interface VisionSourced { +public interface FrameReceiver { default void onFrameStart() {} diff --git a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSource.java b/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSource.java index 213251b0..5efe9d0e 100644 --- a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSource.java +++ b/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSource.java @@ -31,8 +31,8 @@ public interface VisionSource { boolean start(Size requestedSize); - boolean attach(VisionSourced sourced); - boolean remove(VisionSourced sourced); + boolean attach(FrameReceiver sourced); + boolean remove(FrameReceiver sourced); boolean stop(); diff --git a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourceBase.java b/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourceBase.java index 360944ac..57793412 100644 --- a/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourceBase.java +++ b/Vision/src/main/java/io/github/deltacv/vision/external/source/VisionSourceBase.java @@ -31,13 +31,12 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; -import java.util.Arrays; public abstract class VisionSourceBase implements VisionSource { private final Object lock = new Object(); - ArrayList sourceds = new ArrayList<>(); + ArrayList sourceds = new ArrayList<>(); SourceBaseHelperThread helperThread; @@ -61,14 +60,14 @@ public final boolean start(Size size) { public abstract boolean startSource(Size size); @Override - public boolean attach(VisionSourced sourced) { + public boolean attach(FrameReceiver sourced) { synchronized (lock) { return sourceds.add(sourced); } } @Override - public boolean remove(VisionSourced sourced) { + public boolean remove(FrameReceiver sourced) { synchronized (lock) { return sourceds.remove(sourced); } @@ -88,7 +87,7 @@ public final boolean stop() { public abstract Timestamped pullFrame(); private Timestamped pullFrameInternal() { - for(VisionSourced sourced : sourceds) { + for(FrameReceiver sourced : sourceds) { synchronized (sourced) { sourced.onFrameStart(); } @@ -116,7 +115,7 @@ public SourceBaseHelperThread(VisionSourceBase sourcedBase, ThrowableHandler thr @Override public void run() { - VisionSourced[] sourceds = new VisionSourced[0]; + FrameReceiver[] sourceds = new FrameReceiver[0]; logger.info("starting"); @@ -134,10 +133,10 @@ public void run() { } synchronized (sourceBase.lock) { - sourceds = sourceBase.sourceds.toArray(new VisionSourced[0]); + sourceds = sourceBase.sourceds.toArray(new FrameReceiver[0]); } - for (VisionSourced sourced : sourceds) { + for (FrameReceiver sourced : sourceds) { try { sourced.onNewFrame(frame.getValue(), frame.getTimestamp()); } catch(Throwable e) { @@ -150,7 +149,7 @@ public void run() { } } - for(VisionSourced sourced : sourceds) { + for(FrameReceiver sourced : sourceds) { sourced.stop(); } diff --git a/build.gradle b/build.gradle index 397db7b8..e57a0dfe 100644 --- a/build.gradle +++ b/build.gradle @@ -37,7 +37,7 @@ plugins { allprojects { group 'com.github.deltacv' - version '3.5.3' + version '3.5.4' apply plugin: 'java' From 671c08194be02dac65924839a08c8ee2a7c1656e Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Wed, 3 Jul 2024 21:57:17 -0700 Subject: [PATCH 07/11] Use non-M1 MacOS C.I --- .github/workflows/build_ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_ci.yml b/.github/workflows/build_ci.yml index 561e7b6b..0075d40a 100644 --- a/.github/workflows/build_ci.yml +++ b/.github/workflows/build_ci.yml @@ -35,7 +35,7 @@ jobs: run: ./gradlew test test_mac: - runs-on: macos-latest + runs-on: macos-13 steps: - uses: actions/checkout@v2 From 18bb4835f70a1a6eb697837f711fde768d4ad079 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Wed, 3 Jul 2024 22:13:18 -0700 Subject: [PATCH 08/11] Changelog for 3.4.3 and buy me a coffee message --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac5c9bfd..4ba29586 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ ![Java CI with Gradle](https://github.com/deltacv/EOCV-Sim/workflows/Build%20and%20test%20with%20Gradle/badge.svg) [![](https://jitpack.io/v/deltacv/EOCV-Sim.svg)](https://jitpack.io/#deltacv/EOCV-Sim) -[![Run on Repl.it](https://repl.it/badge/github/deltacv/EOCV-Sim)](https://repl.it/github/deltacv/EOCV-Sim) +[![Run on Repl.it](https://repl.it/badge/github/deltacv/EOCV-Sim)](https://repl.it/github/deltacv/EOCV-Sim) # Welcome! @@ -14,7 +14,13 @@ transfer it onto your robot! -## Learn how to install and use the simulator in the [documentation here](https://deltacv.gitbook.io/eocv-sim/) +### Learn how to install and use the simulator in the [documentation here](https://deltacv.gitbook.io/eocv-sim/) + +# [Buy me a coffee](https://buymeacoffee.com/serivesmejia]) + +For the past 4 years I've been developing and maintaining learning tools for robotics kids to have a better understanding of programming and computer vision. Now that I've graduated from the robotics competition and I'm headed to college it is my goal to keep maintaining and improving these tools for future generations to keep learning, completely cost-free and open source. Your donation in [buy me a coffee](https://buymeacoffee.com/serivesmejia]) will help me maintain those goals through the following years as life gets busier. + +\- Sebastian Erives, deltacv's main dev # Compatibility @@ -72,6 +78,11 @@ For bug reporting or feature requesting, use the [issues tab](https://github.com ### Formerly, EOCV-Sim was hosted on a [personal account repo](https://github.com/serivesmejia/EOCV-Sim/). Released prior to 3.0.0 can be found there for historic purposes. +### [v3.5.3 - CenterStage AprilTags](https://github.com/deltacv/EOCV-Sim/releases/tag/v3.5.3) + - This is the 21st release for EOCV-Sim + - Bug fixes: + - Addresses #110 by properly cloning underlying skiko Paint in android.graphics.Paint(Paint) constructor + ### [v3.5.2 - CenterStage AprilTags](https://github.com/deltacv/EOCV-Sim/releases/tag/v3.5.2) - This is the 20th release for EOCV-Sim - Changelog From 0de7bd1b6ab3f2473c7c5b1c68b4c3f71ce3ac33 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Wed, 3 Jul 2024 22:20:01 -0700 Subject: [PATCH 09/11] Fix URL --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4ba29586..5f666507 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ transfer it onto your robot! ### Learn how to install and use the simulator in the [documentation here](https://deltacv.gitbook.io/eocv-sim/) -# [Buy me a coffee](https://buymeacoffee.com/serivesmejia]) +# [Buy me a coffee](https://buymeacoffee.com/serivesmejia) -For the past 4 years I've been developing and maintaining learning tools for robotics kids to have a better understanding of programming and computer vision. Now that I've graduated from the robotics competition and I'm headed to college it is my goal to keep maintaining and improving these tools for future generations to keep learning, completely cost-free and open source. Your donation in [buy me a coffee](https://buymeacoffee.com/serivesmejia]) will help me maintain those goals through the following years as life gets busier. +For the past 4 years I've been developing and maintaining learning tools for robotics kids to have a better understanding of programming and computer vision. Now that I've graduated from the robotics competition and I'm headed to college it is my goal to keep maintaining and improving these tools for future generations to keep learning, completely cost-free and open source. Your donation in [buy me a coffee](https://buymeacoffee.com/serivesmejia) will help me maintain those goals through the following years as life gets busier. \- Sebastian Erives, deltacv's main dev From b85b9872392db96ffc73432652fb4fcb33de7e67 Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Wed, 3 Jul 2024 22:43:47 -0700 Subject: [PATCH 10/11] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f666507..e13575f8 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ transfer it onto your robot! # [Buy me a coffee](https://buymeacoffee.com/serivesmejia) -For the past 4 years I've been developing and maintaining learning tools for robotics kids to have a better understanding of programming and computer vision. Now that I've graduated from the robotics competition and I'm headed to college it is my goal to keep maintaining and improving these tools for future generations to keep learning, completely cost-free and open source. Your donation in [buy me a coffee](https://buymeacoffee.com/serivesmejia) will help me maintain those goals through the following years as life gets busier. +For the past 4 years I've been developing and maintaining learning tools for robotics kids to have a better understanding of programming and computer vision. Now that I've graduated from the robotics competition and I'm headed to college it is my goal to keep maintaining and improving these tools for future generations to keep learning, completely cost-free and open source. Your donation in [buy me a coffee](https://buymeacoffee.com/serivesmejia) will help me maintain those goals through the following years as life gets busier. It is completely voluntary, but your donation through Buy Me a Coffee will help ensure these tools remain accessible and continuously improved for future robotics enthusiasts. Thank you for considering supporting my passion for robotics! \- Sebastian Erives, deltacv's main dev From 10fa506b97abfdcb6b912ede5a3a164199b50a6a Mon Sep 17 00:00:00 2001 From: Sebastian Erives Date: Wed, 3 Jul 2024 22:45:31 -0700 Subject: [PATCH 11/11] Change version to 3.4.3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e57a0dfe..397db7b8 100644 --- a/build.gradle +++ b/build.gradle @@ -37,7 +37,7 @@ plugins { allprojects { group 'com.github.deltacv' - version '3.5.4' + version '3.5.3' apply plugin: 'java'