From 488388050e677d689ac061547f05bc59476e04e1 Mon Sep 17 00:00:00 2001 From: "Thomas L. Kjeldsen" Date: Fri, 31 Jan 2020 17:06:11 +0100 Subject: [PATCH] Remove "MrBean" dependency Sacrifice abstract classes and interfaces to reduce the amount of magic performed by MrBean. Refs https://github.com/HuayraLinux/pkg-arduino/issues/4 --- .classpath | 1 - app/.classpath | 1 - app/lib/jackson-module-mrbean-2.9.5.jar | Bin 80647 -> 0 bytes .../GzippedJsonDownloaderTest.java | 2 - .../contributions/JsonDownloaderTest.java | 2 - arduino-core/.classpath | 1 - .../lib/jackson-module-mrbean-2.9.5.jar | Bin 80647 -> 0 bytes .../libraries/ContributedLibrary.java | 59 +++++++++++++----- .../ContributedLibraryDependency.java | 8 ++- .../libraries/EmptyLibrariesIndex.java | 44 ------------- .../libraries/LibrariesIndex.java | 8 ++- .../libraries/LibrariesIndexer.java | 4 +- .../packages/ContributedBoard.java | 5 +- .../packages/ContributedHelp.java | 5 +- .../packages/ContributedPackage.java | 24 ++++--- .../packages/ContributedPlatform.java | 36 ++++++++--- .../packages/ContributedTool.java | 12 ++-- .../packages/ContributedToolReference.java | 11 ++-- .../packages/ContributionsIndex.java | 5 +- .../packages/ContributionsIndexer.java | 4 +- .../packages/EmptyContributionIndex.java | 42 ------------- ...HostDependentDownloadableContribution.java | 20 +++++- build/windows/launcher/config.xml | 1 - build/windows/launcher/config_debug.xml | 1 - 24 files changed, 143 insertions(+), 153 deletions(-) delete mode 100644 app/lib/jackson-module-mrbean-2.9.5.jar delete mode 100644 arduino-core/lib/jackson-module-mrbean-2.9.5.jar delete mode 100644 arduino-core/src/cc/arduino/contributions/libraries/EmptyLibrariesIndex.java delete mode 100644 arduino-core/src/cc/arduino/contributions/packages/EmptyContributionIndex.java diff --git a/.classpath b/.classpath index 1ebf54417..574e1c7f8 100644 --- a/.classpath +++ b/.classpath @@ -23,7 +23,6 @@ - diff --git a/app/.classpath b/app/.classpath index 4a1f51314..27164be5b 100644 --- a/app/.classpath +++ b/app/.classpath @@ -34,7 +34,6 @@ - diff --git a/app/lib/jackson-module-mrbean-2.9.5.jar b/app/lib/jackson-module-mrbean-2.9.5.jar deleted file mode 100644 index dc7f5a05721fe686c512c58378c518d0795ba925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80647 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 diff --git a/app/test/cc/arduino/contributions/GzippedJsonDownloaderTest.java b/app/test/cc/arduino/contributions/GzippedJsonDownloaderTest.java index f57700c62..0892c3615 100644 --- a/app/test/cc/arduino/contributions/GzippedJsonDownloaderTest.java +++ b/app/test/cc/arduino/contributions/GzippedJsonDownloaderTest.java @@ -4,7 +4,6 @@ import cc.arduino.contributions.libraries.LibrariesIndex; import cc.arduino.utils.MultiStepProgress; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.mrbean.MrBeanModule; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -47,7 +46,6 @@ public class GzippedJsonDownloaderTest { InputStream indexIn = new FileInputStream(tempFile); ObjectMapper mapper = new ObjectMapper(); - mapper.registerModule(new MrBeanModule()); mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); diff --git a/app/test/cc/arduino/contributions/JsonDownloaderTest.java b/app/test/cc/arduino/contributions/JsonDownloaderTest.java index 98555be4d..1315fe223 100644 --- a/app/test/cc/arduino/contributions/JsonDownloaderTest.java +++ b/app/test/cc/arduino/contributions/JsonDownloaderTest.java @@ -4,7 +4,6 @@ import cc.arduino.contributions.libraries.LibrariesIndex; import cc.arduino.utils.MultiStepProgress; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.mrbean.MrBeanModule; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -46,7 +45,6 @@ public class JsonDownloaderTest { InputStream indexIn = new FileInputStream(tempFile); ObjectMapper mapper = new ObjectMapper(); - mapper.registerModule(new MrBeanModule()); mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); diff --git a/arduino-core/.classpath b/arduino-core/.classpath index a74c83fd6..b4f9733f8 100644 --- a/arduino-core/.classpath +++ b/arduino-core/.classpath @@ -20,7 +20,6 @@ - diff --git a/arduino-core/lib/jackson-module-mrbean-2.9.5.jar b/arduino-core/lib/jackson-module-mrbean-2.9.5.jar deleted file mode 100644 index dc7f5a05721fe686c512c58378c518d0795ba925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80647 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 diff --git a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java index 692a3dfb2..ecfa136be 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java @@ -35,38 +35,69 @@ import processing.app.packages.UserLibrary; import static processing.app.I18n.tr; import java.util.Comparator; +import java.util.ArrayList; import java.util.List; import java.util.Optional; import cc.arduino.contributions.VersionHelper; -public abstract class ContributedLibrary extends DownloadableContribution { +public class ContributedLibrary extends DownloadableContribution { - public abstract String getName(); + private String url; + public String getUrl() { return url; } - public abstract String getMaintainer(); + private String version; + public String getVersion() { return version; } - public abstract String getAuthor(); + private String checksum; + public String getChecksum() { return checksum; } - public abstract String getWebsite(); + private long size; + public long getSize() { return size; } - public abstract String getCategory(); + private String archiveFileName; + public String getArchiveFileName() { return archiveFileName; } - public abstract void setCategory(String category); - public abstract String getLicense(); - public abstract String getParagraph(); + private String name; + public String getName() { return name; } - public abstract String getSentence(); + private String maintainer; + public String getMaintainer() { return maintainer; } - public abstract List getArchitectures(); + private String author; + public String getAuthor() { return author; } - public abstract List getTypes(); + private String website; + public String getWebsite() { return website; } + + private String category; + public String getCategory() { return category; } + public void setCategory(String category) { this.category = category; } + + private String licence; + public String getLicense() { return licence; } + + private String paragraph; + public String getParagraph() { return paragraph; } + + private String sentence; + public String getSentence() { return sentence; } + + private ArrayList architectures; + public List getArchitectures() { return architectures; } + + private ArrayList types; + public List getTypes() { return types; } + + private ArrayList dependencies; + public List getDependencies() { return dependencies; } + + private ArrayList providesIncludes; + public List getProvidesIncludes() { return providesIncludes; } - public abstract List getDependencies(); - public abstract List getProvidesIncludes(); public static final Comparator CASE_INSENSITIVE_ORDER = (o1, o2) -> o1.getName().compareToIgnoreCase(o2.getName()); diff --git a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibraryDependency.java b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibraryDependency.java index e8e500dd5..1f0e0fc6c 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibraryDependency.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibraryDependency.java @@ -29,11 +29,13 @@ package cc.arduino.contributions.libraries; -public abstract class ContributedLibraryDependency { +public class ContributedLibraryDependency { - public abstract String getName(); + private String name; + public String getName() { return name; } - public abstract String getVersion(); + private String version; + public String getVersion() { return version; } @Override public String toString() { diff --git a/arduino-core/src/cc/arduino/contributions/libraries/EmptyLibrariesIndex.java b/arduino-core/src/cc/arduino/contributions/libraries/EmptyLibrariesIndex.java deleted file mode 100644 index f85ab46ef..000000000 --- a/arduino-core/src/cc/arduino/contributions/libraries/EmptyLibrariesIndex.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * This file is part of Arduino. - * - * Copyright 2016 Arduino LLC (http://www.arduino.cc/) - * - * Arduino is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * As a special exception, you may use this file as part of a free software - * library without restriction. Specifically, if other files instantiate - * templates or use macros or inline functions from this file, or you compile - * this file and link it with other files to produce an executable, this - * file does not by itself cause the resulting executable to be covered by - * the GNU General Public License. This exception does not however - * invalidate any other reasons why the executable file might be covered by - * the GNU General Public License. - */ - -package cc.arduino.contributions.libraries; - -import java.util.ArrayList; -import java.util.List; - -public class EmptyLibrariesIndex extends LibrariesIndex { - - private List list = new ArrayList<>(); - - @Override - public List getLibraries() { - return list; - } - -} diff --git a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndex.java b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndex.java index d66a31fd3..02ff0475c 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndex.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndex.java @@ -40,9 +40,13 @@ import java.util.stream.Collectors; import cc.arduino.contributions.VersionComparator; -public abstract class LibrariesIndex { +public class LibrariesIndex { - public abstract List getLibraries(); + private ArrayList list = new ArrayList<>(); + + public List getLibraries() { + return list; + } public List find(final String name) { return getLibraries().stream() // diff --git a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java index c43a4a094..fb0b0c76a 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java @@ -36,7 +36,6 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.mrbean.MrBeanModule; import org.apache.commons.compress.utils.IOUtils; import processing.app.BaseNoGui; import processing.app.I18n; @@ -76,7 +75,7 @@ public class LibrariesIndexer { } public void parseIndex() throws IOException { - index = new EmptyLibrariesIndex(); // Fallback + index = new LibrariesIndex(); // Fallback if (!indexFile.exists()) { return; @@ -92,7 +91,6 @@ public class LibrariesIndexer { try { indexIn = new FileInputStream(file); ObjectMapper mapper = new ObjectMapper(); - mapper.registerModule(new MrBeanModule()); mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedBoard.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedBoard.java index 7017ced5d..c29110376 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedBoard.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedBoard.java @@ -29,8 +29,9 @@ package cc.arduino.contributions.packages; -public interface ContributedBoard { +public class ContributedBoard { - String getName(); + private String name; + public String getName() { return name; } } diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedHelp.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedHelp.java index a8f998f66..2156f5c48 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedHelp.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedHelp.java @@ -29,8 +29,9 @@ package cc.arduino.contributions.packages; -public abstract class ContributedHelp { +public class ContributedHelp { - public abstract String getOnline(); + private String online; + public String getOnline() { return online; } } diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedPackage.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedPackage.java index 507a63be1..2d4530cea 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedPackage.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedPackage.java @@ -29,23 +29,31 @@ package cc.arduino.contributions.packages; +import java.util.ArrayList; import java.util.List; -public abstract class ContributedPackage { +public class ContributedPackage { - public abstract String getName(); + private String name; + public String getName() { return name; } - public abstract String getMaintainer(); + private String maintainer; + public String getMaintainer() { return maintainer; } - public abstract String getWebsiteURL(); + private String websiteURL; + public String getWebsiteURL() { return websiteURL; } - public abstract String getEmail(); + private String email; + public String getEmail() { return email; } - public abstract List getPlatforms(); + private ArrayList platforms = new ArrayList(); + public List getPlatforms() { return platforms; } - public abstract List getTools(); + private ArrayList tools = new ArrayList(); + public List getTools() { return tools; } - public abstract ContributedHelp getHelp(); + private ContributedHelp help; + public ContributedHelp getHelp() { return help; } private boolean trusted; diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java index 3149aea1e..d6bf12996 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedPlatform.java @@ -35,24 +35,42 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.File; import java.util.*; -public abstract class ContributedPlatform extends DownloadableContribution { +public class ContributedPlatform extends DownloadableContribution { - public abstract String getName(); + private String url; + public String getUrl() { return url; } - public abstract String getCategory(); + private String version; + public String getVersion() { return version; } - public abstract void setCategory(String category); + private long size; + public long getSize() { return size; } - public abstract String getArchitecture(); + private String archiveFileName; + public String getArchiveFileName() { return archiveFileName; } + private String name; + public String getName() { return name; } + + private String category; + public String getCategory() { return category; } + public void setCategory(String category) { this.category = category; } + + private String architecture; + public String getArchitecture() { return architecture; } + + private String checksum; @Override - public abstract String getChecksum(); + public String getChecksum() { return checksum; } - public abstract List getToolsDependencies(); + private ArrayList toolsDependencies = new ArrayList(); + public List getToolsDependencies() { return toolsDependencies; } - public abstract List getBoards(); + private ArrayList boards = new ArrayList(); + public List getBoards() { return boards; } - public abstract ContributedHelp getHelp(); + private ContributedHelp help; + public ContributedHelp getHelp() { return help; } private boolean installed; diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedTool.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedTool.java index cafeb9aef..a96c04954 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedTool.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedTool.java @@ -33,15 +33,19 @@ import cc.arduino.contributions.DownloadableContribution; import processing.app.Platform; import java.io.File; +import java.util.ArrayList; import java.util.List; -public abstract class ContributedTool { +public class ContributedTool { - public abstract String getName(); + private String name; + public String getName() { return name; } - public abstract String getVersion(); + private String version; + public String getVersion() { return version; } - public abstract List getSystems(); + private ArrayList systems = new ArrayList(); + public List getSystems() { return systems; } private boolean installed; diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java b/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java index 7d86f234f..0da2990dd 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributedToolReference.java @@ -31,13 +31,16 @@ package cc.arduino.contributions.packages; import java.util.Collection; -public abstract class ContributedToolReference { +public class ContributedToolReference { - public abstract String getName(); + private String name; + public String getName() { return name; } - public abstract String getVersion(); + private String version; + public String getVersion() { return version; } - public abstract String getPackager(); + private String packager; + public String getPackager() { return packager; } public ContributedTool resolve(Collection packages) { for (ContributedPackage pack : packages) { diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndex.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndex.java index 4ca658639..0a9b19cc3 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndex.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndex.java @@ -38,9 +38,10 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; -public abstract class ContributionsIndex { +public class ContributionsIndex { - public abstract List getPackages(); + private ArrayList packages = new ArrayList(); + public List getPackages() { return packages; } public ContributedPackage findPackage(String packageName) { for (ContributedPackage pack : getPackages()) { diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index 2a97e0e7d..060a94e6a 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -35,7 +35,6 @@ import cc.arduino.contributions.SignatureVerifier; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.mrbean.MrBeanModule; import org.apache.commons.compress.utils.IOUtils; import processing.app.BaseNoGui; @@ -73,7 +72,7 @@ public class ContributionsIndexer { this.builtInHardwareFolder = builtInHardwareFolder; this.platform = platform; this.signatureVerifier = signatureVerifier; - index = new EmptyContributionIndex(); + index = new ContributionsIndex(); packagesFolder = new File(preferencesFolder, "packages"); stagingFolder = new File(preferencesFolder, "staging" + File.separator + "packages"); } @@ -208,7 +207,6 @@ public class ContributionsIndexer { try { inputStream = new FileInputStream(indexFile); ObjectMapper mapper = new ObjectMapper(); - mapper.registerModule(new MrBeanModule()); mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); diff --git a/arduino-core/src/cc/arduino/contributions/packages/EmptyContributionIndex.java b/arduino-core/src/cc/arduino/contributions/packages/EmptyContributionIndex.java deleted file mode 100644 index 200dce3c2..000000000 --- a/arduino-core/src/cc/arduino/contributions/packages/EmptyContributionIndex.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Arduino. - * - * Copyright 2014 Arduino LLC (http://www.arduino.cc/) - * - * Arduino is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * As a special exception, you may use this file as part of a free software - * library without restriction. Specifically, if other files instantiate - * templates or use macros or inline functions from this file, or you compile - * this file and link it with other files to produce an executable, this - * file does not by itself cause the resulting executable to be covered by - * the GNU General Public License. This exception does not however - * invalidate any other reasons why the executable file might be covered by - * the GNU General Public License. - */ - -package cc.arduino.contributions.packages; - -import java.util.ArrayList; -import java.util.List; - -class EmptyContributionIndex extends ContributionsIndex { - List packs = new ArrayList<>(); - - @Override - public List getPackages() { - return packs; - } -} \ No newline at end of file diff --git a/arduino-core/src/cc/arduino/contributions/packages/HostDependentDownloadableContribution.java b/arduino-core/src/cc/arduino/contributions/packages/HostDependentDownloadableContribution.java index cb7137d86..f3e038a83 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/HostDependentDownloadableContribution.java +++ b/arduino-core/src/cc/arduino/contributions/packages/HostDependentDownloadableContribution.java @@ -32,9 +32,25 @@ package cc.arduino.contributions.packages; import cc.arduino.contributions.DownloadableContribution; import processing.app.Platform; -public abstract class HostDependentDownloadableContribution extends DownloadableContribution { +public class HostDependentDownloadableContribution extends DownloadableContribution { - public abstract String getHost(); + private String url; + public String getUrl() { return url; } + + private String version; + public String getVersion() { return version; } + + private String checksum; + public String getChecksum() { return checksum; } + + private long size; + public long getSize() { return size; } + + private String archiveFileName; + public String getArchiveFileName() { return archiveFileName; } + + private String host; + public String getHost() { return host; } @Override public String toString() { diff --git a/build/windows/launcher/config.xml b/build/windows/launcher/config.xml index 6fbdd02bd..affef023c 100644 --- a/build/windows/launcher/config.xml +++ b/build/windows/launcher/config.xml @@ -40,7 +40,6 @@ %EXEDIR%/lib/jackson-annotations-2.9.5.jar %EXEDIR%/lib/jackson-core-2.9.5.jar %EXEDIR%/lib/jackson-databind-2.9.5.jar - %EXEDIR%/lib/jackson-module-mrbean-2.9.5.jar %EXEDIR%/lib/java-semver-0.8.0.jar %EXEDIR%/lib/jmdns-3.5.3.jar %EXEDIR%/lib/jtouchbar-1.0.0.jar diff --git a/build/windows/launcher/config_debug.xml b/build/windows/launcher/config_debug.xml index 4da3bc3b6..59d5a35ae 100644 --- a/build/windows/launcher/config_debug.xml +++ b/build/windows/launcher/config_debug.xml @@ -40,7 +40,6 @@ %EXEDIR%/lib/jackson-annotations-2.9.5.jar %EXEDIR%/lib/jackson-core-2.9.5.jar %EXEDIR%/lib/jackson-databind-2.9.5.jar - %EXEDIR%/lib/jackson-module-mrbean-2.9.5.jar %EXEDIR%/lib/java-semver-0.8.0.jar %EXEDIR%/lib/jmdns-3.5.3.jar %EXEDIR%/lib/jtouchbar-1.0.0.jar