diff --git a/.travis.yml b/.travis.yml index 94d2a22..39e7e59 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: java -jdk: - - openjdk11 +dist: trusty +jdk: openjdk8 diff --git a/build.gradle b/build.gradle index 180f861..b298c44 100644 --- a/build.gradle +++ b/build.gradle @@ -1,33 +1,9 @@ group 'io.lindstrom' version '1.0-SNAPSHOT' -task wrapper(type: Wrapper) { - gradleVersion = '4.10.3' - distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" -} - allprojects { tasks.withType(JavaCompile) { options.encoding = 'UTF-8' options.compilerArgs << "-Werror" << "-Xlint:all" << "-Xlint:-processing" << "-Xlint:-serial" } } - -subprojects { - afterEvaluate { - javadoc { - options.addStringOption('-module-path', classpath.asPath) - options.addStringOption('-html5') - } - - compileJava { - inputs.property("moduleName", moduleName) - doFirst { - options.compilerArgs = [ - '--module-path', classpath.asPath, - ] - classpath = files() - } - } - } -} diff --git a/parser/build.gradle b/parser/build.gradle index a400a88..d1677e9 100644 --- a/parser/build.gradle +++ b/parser/build.gradle @@ -8,14 +8,14 @@ apply plugin: 'signing' ext.moduleName = 'io.lindstrom.mpd' -sourceCompatibility = 11 +sourceCompatibility = 8 repositories { mavenCentral() } dependencies { - compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.5' + compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.10.0' testImplementation("org.junit.jupiter:junit-jupiter-api:5.5.1") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.5.1") diff --git a/parser/src/main/java/io/lindstrom/mpd/MPDParser.java b/parser/src/main/java/io/lindstrom/mpd/MPDParser.java index 1f7faf3..706ec8e 100644 --- a/parser/src/main/java/io/lindstrom/mpd/MPDParser.java +++ b/parser/src/main/java/io/lindstrom/mpd/MPDParser.java @@ -62,8 +62,8 @@ public static ObjectMapper defaultObjectMapper() { return new XmlMapper(new XmlFactory(new WstxInputFactory(), new WstxPrefixedOutputFactory()), module) .enable(SerializationFeature.INDENT_OUTPUT) .setSerializationInclusion(JsonInclude.Include.NON_NULL) - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true) - .configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE, true) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE) .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY) .setVisibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE); } diff --git a/parser/src/main/java/io/lindstrom/mpd/support/DurationDeserializer.java b/parser/src/main/java/io/lindstrom/mpd/support/DurationDeserializer.java index 97f08eb..6adf4a7 100644 --- a/parser/src/main/java/io/lindstrom/mpd/support/DurationDeserializer.java +++ b/parser/src/main/java/io/lindstrom/mpd/support/DurationDeserializer.java @@ -49,7 +49,7 @@ static long parseFraction(CharSequence text, int start, int end, boolean negate) end = start + 9; } - long fraction = Long.parseLong(text, start, end, 10); + long fraction = Long.parseLong(text.subSequence(start, end).toString()); // for number strings smaller than 9 digits, interpret as if there were trailing zeros for (int i = end - start; i < 9; i++) { @@ -88,27 +88,27 @@ private Duration parse(String text) { long nanos = 0; if (yearStart >= 0) { - years = Integer.parseInt(text, yearStart, yearEnd, 10); + years = Integer.parseInt(text.substring(yearStart, yearEnd)); } if (monthStart >= 0) { - months = Integer.parseInt(text, monthStart, monthEnd, 10); + months = Integer.parseInt(text.substring(monthStart, monthEnd)); } if (dayStart >= 0) { - days = Integer.parseInt(text, dayStart, dayEnd, 10); + days = Integer.parseInt(text.substring(dayStart, dayEnd)); } if (hourStart >= 0) { - hoursAsSecs = Math.multiplyExact(3600L, Integer.parseInt(text, hourStart, hourEnd, 10)); + hoursAsSecs = Math.multiplyExact(3600L, Integer.parseInt(text.substring(hourStart, hourEnd))); } if (minuteStart >= 0) { - minutesAsSecs = Math.multiplyExact(60L, Integer.parseInt(text, minuteStart, minuteEnd, 10)); + minutesAsSecs = Math.multiplyExact(60L, Integer.parseInt(text.substring(minuteStart, minuteEnd))); } if (secondStart >= 0) { - seconds = Integer.parseInt(text, secondStart, secondEnd, 10); + seconds = Integer.parseInt(text.substring(secondStart, secondEnd), 10); boolean negativeSecs = text.charAt(secondStart) == '-'; nanos = parseFraction(text, fractionStart, fractionEnd, negativeSecs); } diff --git a/parser/src/main/java/io/lindstrom/mpd/support/Utils.java b/parser/src/main/java/io/lindstrom/mpd/support/Utils.java index 38bbd80..8679bbc 100644 --- a/parser/src/main/java/io/lindstrom/mpd/support/Utils.java +++ b/parser/src/main/java/io/lindstrom/mpd/support/Utils.java @@ -20,6 +20,7 @@ public static List unmodifiableList(List list) { } @SafeVarargs + @SuppressWarnings("varargs") public static List varargsToList(T head, T ...tail) { if (tail.length == 0) { return Collections.singletonList(head); diff --git a/parser/src/main/java/module-info.java b/parser/src/main/java/module-info.java deleted file mode 100644 index 35b26b2..0000000 --- a/parser/src/main/java/module-info.java +++ /dev/null @@ -1,14 +0,0 @@ -module io.lindstrom.mpd { - requires com.fasterxml.jackson.dataformat.xml; - requires jackson.annotations; - requires com.fasterxml.jackson.databind; - requires com.fasterxml.jackson.core; - requires woodstox.core; - requires stax2.api; - requires java.xml; - - exports io.lindstrom.mpd; - exports io.lindstrom.mpd.data; - exports io.lindstrom.mpd.data.descriptor; - exports io.lindstrom.mpd.data.descriptor.protection; -} \ No newline at end of file diff --git a/validator/build.gradle b/validator/build.gradle index c11e99d..f8feae0 100644 --- a/validator/build.gradle +++ b/validator/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'java' ext.moduleName = 'io.lindstrom.mpd.validator' -sourceCompatibility = 11 +sourceCompatibility = 8 repositories { mavenCentral() diff --git a/validator/src/main/java/module-info.java b/validator/src/main/java/module-info.java deleted file mode 100644 index fab585f..0000000 --- a/validator/src/main/java/module-info.java +++ /dev/null @@ -1,4 +0,0 @@ -module io.lindstrom.mpd.validator { - requires java.xml; - requires io.lindstrom.mpd; -} \ No newline at end of file diff --git a/validator/src/test/java/io/lindstrom/mpd/validator/ValidatorValidator.java b/validator/src/test/java/io/lindstrom/mpd/validator/ValidatorValidator.java index 085db2c..338f788 100644 --- a/validator/src/test/java/io/lindstrom/mpd/validator/ValidatorValidator.java +++ b/validator/src/test/java/io/lindstrom/mpd/validator/ValidatorValidator.java @@ -45,7 +45,7 @@ static List> params() throws IOException { .map(input -> { String resultFileName = "result_" + input.getFileName().toString().replace(".mpd", ".xml"); Path output = input.getParent().resolveSibling("output/" + resultFileName); - return List.of(input, output); + return Arrays.asList(input, output); }).collect(Collectors.toList()); } }