Skip to content

Commit 59c9fb9

Browse files
cmagliefacchinm
authored andcommitted
Use CASE_INSENSITIVE json decoding for arduino-cli
This allows to use the JSON output from arduino-cli even if the fields are UpperCamelCase instead of camelCase.
1 parent afe3794 commit 59c9fb9

File tree

2 files changed

+17
-20
lines changed

2 files changed

+17
-20
lines changed

arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java

+17-14
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,28 @@
2929

3030
package cc.arduino.contributions.libraries;
3131

32-
import cc.arduino.Constants;
33-
import cc.arduino.contributions.packages.ContributedPlatform;
32+
import static processing.app.I18n.format;
33+
import static processing.app.I18n.tr;
34+
35+
import java.io.File;
36+
import java.io.IOException;
37+
import java.io.InputStream;
38+
import java.util.ArrayList;
39+
import java.util.Collections;
40+
import java.util.List;
41+
import java.util.Optional;
42+
43+
import org.apache.commons.compress.utils.IOUtils;
3444

3545
import com.fasterxml.jackson.core.JsonParseException;
3646
import com.fasterxml.jackson.databind.DeserializationFeature;
3747
import com.fasterxml.jackson.databind.JsonMappingException;
48+
import com.fasterxml.jackson.databind.MapperFeature;
3849
import com.fasterxml.jackson.databind.ObjectMapper;
3950
import com.fasterxml.jackson.module.mrbean.MrBeanModule;
40-
import org.apache.commons.compress.utils.IOUtils;
51+
52+
import cc.arduino.Constants;
53+
import cc.arduino.contributions.packages.ContributedPlatform;
4154
import processing.app.BaseNoGui;
4255
import processing.app.I18n;
4356
import processing.app.helpers.ProcessUtils;
@@ -49,17 +62,6 @@
4962
import processing.app.packages.UserLibraryFolder.Location;
5063
import processing.app.packages.UserLibraryPriorityComparator;
5164

52-
import java.io.File;
53-
import java.io.IOException;
54-
import java.io.InputStream;
55-
import java.util.ArrayList;
56-
import java.util.Collections;
57-
import java.util.List;
58-
import java.util.Optional;
59-
60-
import static processing.app.I18n.format;
61-
import static processing.app.I18n.tr;
62-
6365
public class LibrariesIndexer {
6466

6567
private LibrariesIndex index;
@@ -86,6 +88,7 @@ public void parseIndex() throws IOException {
8688
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
8789
mapper.configure(DeserializationFeature.EAGER_DESERIALIZER_FETCH, true);
8890
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
91+
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
8992
LibrariesIndex newIndex = mapper.readValue(indexIn, LibrariesIndex.class);
9093

9194
newIndex.getLibraries().forEach(r -> {

build/build.xml

-6
Original file line numberDiff line numberDiff line change
@@ -845,16 +845,10 @@
845845
<delete dir="${staging_folder}/arduino-cli-${platform}" includeemptydirs="true"/>
846846
<mkdir dir="${staging_folder}/arduino-cli-${platform}"/>
847847
<antcall target="untar">
848-
<!--
849848
<param name="archive_file" value="./arduino-cli-${ARDUINO-CLI-VERSION}-${platform}.tar.bz2" />
850849
<param name="archive_url" value="https://downloads.arduino.cc/arduino-cli/arduino-cli-${ARDUINO-CLI-VERSION}-${platform}.tar.bz2" />
851850
<param name="final_folder" value="${staging_folder}/arduino-cli-${platform}/arduino-cli" />
852851
<param name="dest_folder" value="${staging_folder}/arduino-cli-${platform}" />
853-
-->
854-
<param name="archive_file" value="./arduino-cli-${ARDUINO-CLI-VERSION}-${platform}.tar.bz2" />
855-
<param name="archive_url" value="https://downloads.arduino.cc/PR/arduino-cli/arduino-cli-${ARDUINO-CLI-VERSION}-${platform}.tar.bz2" />
856-
<param name="final_folder" value="${staging_folder}/arduino-cli-${platform}/arduino-cli" />
857-
<param name="dest_folder" value="${staging_folder}/arduino-cli-${platform}" />
858852
</antcall>
859853
<copy file="${staging_folder}/arduino-cli-${platform}/arduino-cli-${ARDUINO-CLI-VERSION}-${platform}" tofile="${staging_folder}/work/${staging_hardware_folder}/../arduino-cli" />
860854
<chmod perm="755" file="${staging_folder}/work/${staging_hardware_folder}/../arduino-cli" />

0 commit comments

Comments
 (0)