From 1282cabdcab6055dc6bb27d79a61815efa02bc31 Mon Sep 17 00:00:00 2001 From: Matthew Pope Date: Tue, 7 Nov 2023 15:37:08 -0500 Subject: [PATCH] Finish swapping to use kotlinc --- THIRD_PARTY_LICENSES.md | 17 ++++ build.gradle.kts | 84 +++++++++++++++---- src/com/amazon/ion/impl/IonIteratorImpl.kt | 16 ++-- .../amazon/ion/impl/IonReaderTreeUserX.java | 1 - src/com/amazon/ion/impl/IonWriterUser.java | 1 - src/com/amazon/ion/impl/LocalSymbolTable.java | 1 - .../ion/impl/_Private_IonReaderBuilder.java | 1 - .../ion/impl/bin/IonRawBinaryWriter.java | 2 - .../amazon/ion/impl/lite/IonSequenceLite.java | 4 +- .../amazon/ion/impl/lite/IonStructLite.java | 5 +- src/com/amazon/ion/util/JarInfo.java | 7 +- .../ion/BinaryReaderSystemProcessingTest.java | 1 - test/com/amazon/ion/BinaryTest.java | 2 - test/com/amazon/ion/BlobTest.java | 2 +- test/com/amazon/ion/IonTestCase.java | 1 - test/com/amazon/ion/IonValueTest.java | 2 - test/com/amazon/ion/StructTest.java | 1 - .../com/amazon/ion/impl/BinaryWriterTest.java | 1 - .../impl/IonReaderBinaryRawStringTest.java | 8 -- ...onReaderContinuableTopLevelBinaryTest.java | 4 - .../amazon/ion/impl/IonWriterTestCase.java | 4 +- .../impl/_Private_ScalarConversionsTest.java | 2 - .../impl/lite/IonListSexpLiteSublistTest.java | 3 +- test/com/amazon/ion/junit/IonAssert.java | 1 - .../ion/streaming/BadIonStreamingTest.java | 3 +- test/com/amazon/ion/streaming/ReaderTest.java | 1 - 26 files changed, 98 insertions(+), 77 deletions(-) create mode 100644 THIRD_PARTY_LICENSES.md diff --git a/THIRD_PARTY_LICENSES.md b/THIRD_PARTY_LICENSES.md new file mode 100644 index 0000000000..73629fbdc9 --- /dev/null +++ b/THIRD_PARTY_LICENSES.md @@ -0,0 +1,17 @@ + +# ion-java +## Dependency License Report + +## Apache License, Version 2.0 + +**1** **Group:** `org.jetbrains` **Name:** `annotations` **Version:** `13.0` +> - **POM Project URL**: [http://www.jetbrains.org](http://www.jetbrains.org) +> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +**2** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib` **Version:** `1.9.0` +> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) +> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +**3** **Group:** `org.jetbrains.kotlin` **Name:** `kotlin-stdlib-common` **Version:** `1.9.0` +> - **POM Project URL**: [https://kotlinlang.org/](https://kotlinlang.org/) +> - **POM License**: Apache License, Version 2.0 - [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0) diff --git a/build.gradle.kts b/build.gradle.kts index 0df09f1099..519f764177 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,6 @@ +import com.github.jk1.license.filter.LicenseBundleNormalizer +import com.github.jk1.license.render.InventoryMarkdownReportRenderer +import com.github.jk1.license.render.TextReportRenderer import org.jetbrains.kotlin.gradle.dsl.KotlinCompile import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions import java.net.URI @@ -18,7 +21,8 @@ plugins { // TODO: more static analysis. E.g.: // id("com.diffplug.spotless") version "6.11.0" - id("com.github.jk1.dependency-license-report") version "2.4" + // Used for generating the third party attribution document + id("com.github.jk1.dependency-license-report") version "2.5" } jacoco { @@ -30,6 +34,10 @@ repositories { google() } +/** + * This is a configuration (like `testImplementation`) so that we can create a class path for + * running the r8 jar. + */ val r8Classpath = configurations.create("r8Task") dependencies { @@ -67,23 +75,18 @@ sourceSets { } licenseReport { + // Because of the current gradle project structure, we must explicitly exclude ion-java-cli, even + // though ion-java does not depend on ion-java-cli. By default, the license report generator includes + // the current project (ion-java) and all its subprojects. + projects = arrayOf(project) outputDir = "$buildDir/reports/licenses" - renderers = arrayOf( - com.github.jk1.license.render.InventoryMarkdownReportRenderer("THIRD-PARTY-LICENSES.md"), - com.github.jk1.license.render.TextReportRenderer(), - ) - + renderers = arrayOf(InventoryMarkdownReportRenderer(), TextReportRenderer()) + // Dependencies use inconsistent titles for Apache-2.0, so we need to specify mappings filters = arrayOf( - com.github.jk1.license.filter.LicenseBundleNormalizer( + LicenseBundleNormalizer( mapOf( - "Apache License, Version 2.0" to "Apache-2.0", "The Apache License, Version 2.0" to "Apache-2.0", "The Apache Software License, Version 2.0" to "Apache-2.0", - "BSD Zero Clause License" to "0BSD", - "Eclipse Public License 2.0" to "EPL-2.0", - "Eclipse Public License v. 2.0" to "EPL-2.0", - "GNU General Public License, version 2 with the GNU Classpath Exception" to "GPL-2.0 WITH Classpath-exception-2.0", - "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" to "CDDL-1.0" ) ) ) @@ -94,7 +97,7 @@ tasks { options.encoding = "UTF-8" // Because we set the `release` option, you can no longer build ion-java using JDK 8. However, we continue to // emit JDK 8 compatible classes due to widespread use of this library with JDK 8. - // options.release.set(8) + options.release.set(8) } withType> { kotlinOptions { @@ -107,6 +110,8 @@ tasks { archiveClassifier.set("original") } + // Creates a super jar of ion-java and its dependencies where all dependencies are shaded (moved) + // to com.amazon.ion_.shaded shadowJar { archiveClassifier.set("shaded") dependsOn(generateLicenseReport) @@ -116,7 +121,13 @@ tasks { minimize() } + /** + * The `minifyJar` task uses [R8](https://developer.android.com/build/shrink-code) to create a JAR + * that is smaller than the combined size of ion-java and its dependencies. This is the final JAR + * that is published to maven central. + */ val minifyJar by register("minifyJar") { + group = "build" val rulesPath = file("config/r8/rules.txt") val inputJarPath = shadowJar.get().outputs.files.singleFile val outputJarPath = "build/libs/ion-java-$version.jar" @@ -128,6 +139,7 @@ tasks { outputs.file(outputJarPath) dependsOn(shadowJar) dependsOn(configurations.runtimeClasspath) + build.get().dependsOn(this) classpath(r8Classpath) // These lines tell gradle how to run the task @@ -142,8 +154,48 @@ tasks { ) } - build { - dependsOn(minifyJar) + generateLicenseReport { + doLast { + // We don't want the time in the generated markdown report because that makes it unstable for + // our verification of the THIRD_PARTY_LICENSES file. + val markdownReport = outputs.files.single().walk().single { it.path.endsWith(".md") } + val dateRegex = Regex("^_\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\w+_$") + // Reads the content of the markdown report, replacing the date line with an empty line, and + // trimming extra whitespace from the end of all other lines. + val newMarkdownContent = markdownReport.readLines() + .joinToString("\n") { if (it.matches(dateRegex)) "" else it.trimEnd() } + markdownReport.writeText(newMarkdownContent) + } + } + + // Task to check whether the THIRD_PARTY_LICENSES file is still up-to-date. + task("checkThirdPartyLicensesFile") { + val thirdPartyLicensesFileName = "THIRD_PARTY_LICENSES.md" + val thirdPartyLicensesPath = "$rootDir/$thirdPartyLicensesFileName" + check.get().dependsOn(this) + dependsOn(generateLicenseReport) + inputs.file(thirdPartyLicensesPath) + group = "verification" + description = "Verifies that $thirdPartyLicensesFileName is up-to-date." + doLast { + val generatedMarkdownReport = generateLicenseReport.get().outputs.files.single() + .walk().single { it.path.endsWith(".md") } + val generatedMarkdownReportContent = generatedMarkdownReport.readLines() + .filter { it.isNotBlank() } + .joinToString("\n") + + val sourceControlledMarkdownReport = File(thirdPartyLicensesPath) + val sourceControlledMarkdownReportContent = sourceControlledMarkdownReport.readLines() + .filter { it.isNotBlank() } + .joinToString("\n") + + if (sourceControlledMarkdownReportContent != generatedMarkdownReportContent) { + throw IllegalStateException( + "$thirdPartyLicensesPath is out of date.\n" + + "Please replace the file content with the content of $generatedMarkdownReport." + ) + } + } } javadoc { diff --git a/src/com/amazon/ion/impl/IonIteratorImpl.kt b/src/com/amazon/ion/impl/IonIteratorImpl.kt index 13e9a32899..33ec4c6793 100644 --- a/src/com/amazon/ion/impl/IonIteratorImpl.kt +++ b/src/com/amazon/ion/impl/IonIteratorImpl.kt @@ -14,14 +14,14 @@ */ package com.amazon.ion.impl -import com.amazon.ion.IonList import com.amazon.ion.IonReader -import com.amazon.ion.IonSexp -import com.amazon.ion.IonStruct import com.amazon.ion.IonType import com.amazon.ion.IonValue import com.amazon.ion.ValueFactory +/** + * An [Iterator] that wraps an [IonReader] and emits [IonValue]s. + */ internal class IonIteratorImpl(private val _valueFactory: ValueFactory, private val _reader: IonReader) : MutableIterator { private var _at_eof = false @@ -66,9 +66,9 @@ internal class IonIteratorImpl(private val _valueFactory: ValueFactory, private IonType.SYMBOL -> _valueFactory.newSymbol(_reader.symbolValue()) IonType.BLOB -> _valueFactory.newNullBlob().apply { bytes = _reader.newBytes() } IonType.CLOB -> _valueFactory.newNullClob().apply { bytes = _reader.newBytes() } - IonType.STRUCT -> _valueFactory.buildStruct { _reader.forEachInContainer { add(fieldNameSymbol, readValue()) } } - IonType.LIST -> _valueFactory.buildList { _reader.forEachInContainer { add(readValue()) } } - IonType.SEXP -> _valueFactory.buildSexp { _reader.forEachInContainer { add(readValue()) } } + IonType.STRUCT -> _valueFactory.newEmptyStruct().apply { _reader.forEachInContainer { add(fieldNameSymbol, readValue()) } } + IonType.LIST -> _valueFactory.newEmptyList().apply { _reader.forEachInContainer { add(readValue()) } } + IonType.SEXP -> _valueFactory.newEmptySexp().apply { _reader.forEachInContainer { add(readValue()) } } else -> throw IllegalStateException() } } @@ -96,8 +96,4 @@ internal class IonIteratorImpl(private val _valueFactory: ValueFactory, private while (next() != null) { block() } stepOut() } - - private inline fun ValueFactory.buildList(init: IonList.() -> Unit): IonList = newEmptyList().apply(init) - private inline fun ValueFactory.buildSexp(init: IonSexp.() -> Unit): IonSexp = newEmptySexp().apply(init) - private inline fun ValueFactory.buildStruct(init: IonStruct.() -> Unit): IonStruct = newEmptyStruct().apply(init) } diff --git a/src/com/amazon/ion/impl/IonReaderTreeUserX.java b/src/com/amazon/ion/impl/IonReaderTreeUserX.java index be70bc2d09..6977da27a6 100644 --- a/src/com/amazon/ion/impl/IonReaderTreeUserX.java +++ b/src/com/amazon/ion/impl/IonReaderTreeUserX.java @@ -21,7 +21,6 @@ import com.amazon.ion.IonCatalog; import com.amazon.ion.IonDatagram; -import com.amazon.ion.IonReader; import com.amazon.ion.IonStruct; import com.amazon.ion.IonSymbol; import com.amazon.ion.IonType; diff --git a/src/com/amazon/ion/impl/IonWriterUser.java b/src/com/amazon/ion/impl/IonWriterUser.java index 60270d510c..b620821fb3 100644 --- a/src/com/amazon/ion/impl/IonWriterUser.java +++ b/src/com/amazon/ion/impl/IonWriterUser.java @@ -16,7 +16,6 @@ package com.amazon.ion.impl; import static com.amazon.ion.SystemSymbols.ION_SYMBOL_TABLE; -import static com.amazon.ion.SystemSymbols.ION_SYMBOL_TABLE_SID; import com.amazon.ion.IonCatalog; import com.amazon.ion.IonException; diff --git a/src/com/amazon/ion/impl/LocalSymbolTable.java b/src/com/amazon/ion/impl/LocalSymbolTable.java index cc6ca89497..713d8998ae 100644 --- a/src/com/amazon/ion/impl/LocalSymbolTable.java +++ b/src/com/amazon/ion/impl/LocalSymbolTable.java @@ -38,7 +38,6 @@ import com.amazon.ion.util.IonTextUtils; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; diff --git a/src/com/amazon/ion/impl/_Private_IonReaderBuilder.java b/src/com/amazon/ion/impl/_Private_IonReaderBuilder.java index 17834a0bc0..c7e56f8abd 100644 --- a/src/com/amazon/ion/impl/_Private_IonReaderBuilder.java +++ b/src/com/amazon/ion/impl/_Private_IonReaderBuilder.java @@ -16,7 +16,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.Reader; -import java.io.SequenceInputStream; import java.util.zip.GZIPInputStream; import static com.amazon.ion.impl.LocalSymbolTable.DEFAULT_LST_FACTORY; diff --git a/src/com/amazon/ion/impl/bin/IonRawBinaryWriter.java b/src/com/amazon/ion/impl/bin/IonRawBinaryWriter.java index e5bda78333..93a6a7e764 100644 --- a/src/com/amazon/ion/impl/bin/IonRawBinaryWriter.java +++ b/src/com/amazon/ion/impl/bin/IonRawBinaryWriter.java @@ -54,9 +54,7 @@ import java.io.OutputStream; import java.math.BigDecimal; import java.math.BigInteger; -import java.util.ArrayList; import java.util.Iterator; -import java.util.List; import java.util.NoSuchElementException; /** diff --git a/src/com/amazon/ion/impl/lite/IonSequenceLite.java b/src/com/amazon/ion/impl/lite/IonSequenceLite.java index 33070838ab..5f58355a36 100644 --- a/src/com/amazon/ion/impl/lite/IonSequenceLite.java +++ b/src/com/amazon/ion/impl/lite/IonSequenceLite.java @@ -17,13 +17,11 @@ import com.amazon.ion.ContainedValueException; import com.amazon.ion.IonSequence; -import com.amazon.ion.IonType; import com.amazon.ion.IonValue; -import com.amazon.ion.IonWriter; import com.amazon.ion.ValueFactory; import com.amazon.ion.impl._Private_CurriedValueFactory; import com.amazon.ion.impl._Private_IonValue; -import java.io.IOException; + import java.lang.reflect.Array; import java.util.AbstractList; import java.util.ArrayList; diff --git a/src/com/amazon/ion/impl/lite/IonStructLite.java b/src/com/amazon/ion/impl/lite/IonStructLite.java index ed32ef6a45..3a78efd8e8 100644 --- a/src/com/amazon/ion/impl/lite/IonStructLite.java +++ b/src/com/amazon/ion/impl/lite/IonStructLite.java @@ -19,20 +19,17 @@ import com.amazon.ion.IonStruct; import com.amazon.ion.IonType; import com.amazon.ion.IonValue; -import com.amazon.ion.IonWriter; import com.amazon.ion.SymbolToken; import com.amazon.ion.ValueFactory; import com.amazon.ion.ValueVisitor; import com.amazon.ion.impl._Private_CurriedValueFactory; -import com.amazon.ion.util.Equivalence; import com.amazon.ion.UnknownSymbolException; -import java.io.IOException; + import java.io.PrintWriter; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.ListIterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; diff --git a/src/com/amazon/ion/util/JarInfo.java b/src/com/amazon/ion/util/JarInfo.java index d7e0f3abea..2e00b58162 100644 --- a/src/com/amazon/ion/util/JarInfo.java +++ b/src/com/amazon/ion/util/JarInfo.java @@ -17,13 +17,8 @@ import java.io.IOException; import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; import java.util.Properties; -import java.util.jar.Attributes; -import java.util.jar.Manifest; + import com.amazon.ion.IonException; import com.amazon.ion.Timestamp; diff --git a/test/com/amazon/ion/BinaryReaderSystemProcessingTest.java b/test/com/amazon/ion/BinaryReaderSystemProcessingTest.java index a332d0462b..c9798c5a57 100644 --- a/test/com/amazon/ion/BinaryReaderSystemProcessingTest.java +++ b/test/com/amazon/ion/BinaryReaderSystemProcessingTest.java @@ -20,7 +20,6 @@ import java.math.BigDecimal; import java.math.BigInteger; -import java.util.Date; import static com.amazon.ion.SystemSymbols.ION_1_0; import static com.amazon.ion.SystemSymbols.ION_1_0_SID; diff --git a/test/com/amazon/ion/BinaryTest.java b/test/com/amazon/ion/BinaryTest.java index 5cfe3d6995..4df0e6534f 100644 --- a/test/com/amazon/ion/BinaryTest.java +++ b/test/com/amazon/ion/BinaryTest.java @@ -17,9 +17,7 @@ import static com.amazon.ion.SystemSymbols.ION_SYMBOL_TABLE_SID; -import java.io.IOException; import java.util.Arrays; -import java.util.Iterator; import org.junit.Test; diff --git a/test/com/amazon/ion/BlobTest.java b/test/com/amazon/ion/BlobTest.java index f39fcc210b..035c9160aa 100644 --- a/test/com/amazon/ion/BlobTest.java +++ b/test/com/amazon/ion/BlobTest.java @@ -16,7 +16,7 @@ package com.amazon.ion; import static com.amazon.ion.TestUtils.US_ASCII_CHARSET; -import static com.amazon.ion.impl._Private_Utils.encode; + import com.amazon.ion.impl._Private_Utils; import java.io.IOException; import java.io.InputStream; diff --git a/test/com/amazon/ion/IonTestCase.java b/test/com/amazon/ion/IonTestCase.java index 7158341d59..9b3d915092 100644 --- a/test/com/amazon/ion/IonTestCase.java +++ b/test/com/amazon/ion/IonTestCase.java @@ -26,7 +26,6 @@ import com.amazon.ion.system.IonSystemBuilder; import com.amazon.ion.system.SimpleCatalog; import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; diff --git a/test/com/amazon/ion/IonValueTest.java b/test/com/amazon/ion/IonValueTest.java index 38fdb7f0fe..0cac74c1cd 100644 --- a/test/com/amazon/ion/IonValueTest.java +++ b/test/com/amazon/ion/IonValueTest.java @@ -28,8 +28,6 @@ import org.junit.Test; import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; diff --git a/test/com/amazon/ion/StructTest.java b/test/com/amazon/ion/StructTest.java index 6fa84f7773..15cd31fb54 100644 --- a/test/com/amazon/ion/StructTest.java +++ b/test/com/amazon/ion/StructTest.java @@ -28,7 +28,6 @@ import java.util.ListIterator; import java.util.Random; -import com.amazon.ion.system.IonSystemBuilder; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; diff --git a/test/com/amazon/ion/impl/BinaryWriterTest.java b/test/com/amazon/ion/impl/BinaryWriterTest.java index cf4b910bf1..d5ecdc034a 100644 --- a/test/com/amazon/ion/impl/BinaryWriterTest.java +++ b/test/com/amazon/ion/impl/BinaryWriterTest.java @@ -15,7 +15,6 @@ package com.amazon.ion.impl; -import com.amazon.ion.IonCatalog; import com.amazon.ion.IonException; import com.amazon.ion.IonReader; import com.amazon.ion.IonType; diff --git a/test/com/amazon/ion/impl/IonReaderBinaryRawStringTest.java b/test/com/amazon/ion/impl/IonReaderBinaryRawStringTest.java index 3ad6e86938..30ba4cfe8e 100644 --- a/test/com/amazon/ion/impl/IonReaderBinaryRawStringTest.java +++ b/test/com/amazon/ion/impl/IonReaderBinaryRawStringTest.java @@ -1,21 +1,13 @@ package com.amazon.ion.impl; import com.amazon.ion.IonReader; -import com.amazon.ion.IonType; import com.amazon.ion.IonWriter; -import com.amazon.ion.Timestamp; import com.amazon.ion.system.IonBinaryWriterBuilder; import com.amazon.ion.system.IonReaderBuilder; -import com.amazon.ion.util.RepeatInputStream; import org.junit.Test; -import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.SequenceInputStream; -import java.math.BigDecimal; -import static com.amazon.ion.impl._Private_IonConstants.BINARY_VERSION_MARKER_1_0; import static org.junit.Assert.assertEquals; public class IonReaderBinaryRawStringTest { diff --git a/test/com/amazon/ion/impl/IonReaderContinuableTopLevelBinaryTest.java b/test/com/amazon/ion/impl/IonReaderContinuableTopLevelBinaryTest.java index ff41c7a785..b712defa23 100644 --- a/test/com/amazon/ion/impl/IonReaderContinuableTopLevelBinaryTest.java +++ b/test/com/amazon/ion/impl/IonReaderContinuableTopLevelBinaryTest.java @@ -4,8 +4,6 @@ package com.amazon.ion.impl; import com.amazon.ion.BufferConfiguration; -import com.amazon.ion.Decimal; -import com.amazon.ion.IntegerSize; import com.amazon.ion.IonBufferConfiguration; import com.amazon.ion.IonDatagram; import com.amazon.ion.IonException; @@ -22,7 +20,6 @@ import com.amazon.ion.SymbolToken; import com.amazon.ion.SystemSymbols; import com.amazon.ion.TestUtils; -import com.amazon.ion.Timestamp; import com.amazon.ion.UnknownSymbolException; import com.amazon.ion.impl.bin._Private_IonManagedBinaryWriterBuilder; import com.amazon.ion.impl.bin._Private_IonManagedWriter; @@ -41,7 +38,6 @@ import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; -import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collections; diff --git a/test/com/amazon/ion/impl/IonWriterTestCase.java b/test/com/amazon/ion/impl/IonWriterTestCase.java index fdfd52d15b..522b5e59c3 100644 --- a/test/com/amazon/ion/impl/IonWriterTestCase.java +++ b/test/com/amazon/ion/impl/IonWriterTestCase.java @@ -48,10 +48,8 @@ import com.amazon.ion.SystemSymbols; import com.amazon.ion.TestUtils; import com.amazon.ion.UnknownSymbolException; -import com.amazon.ion.impl.bin._Private_IonManagedWriter; import com.amazon.ion.junit.IonAssert; -import com.amazon.ion.system.IonSystemBuilder; -import java.io.ByteArrayInputStream; + import java.io.IOException; import java.math.BigDecimal; import java.math.BigInteger; diff --git a/test/com/amazon/ion/impl/_Private_ScalarConversionsTest.java b/test/com/amazon/ion/impl/_Private_ScalarConversionsTest.java index c607cbb891..93b9ab350c 100644 --- a/test/com/amazon/ion/impl/_Private_ScalarConversionsTest.java +++ b/test/com/amazon/ion/impl/_Private_ScalarConversionsTest.java @@ -17,10 +17,8 @@ import static org.junit.Assert.*; -import org.junit.Assert; import org.junit.Test; import com.amazon.ion.Decimal; -import static org.junit.Assert.*; public class _Private_ScalarConversionsTest { private long decimalToLong(final Decimal d) { diff --git a/test/com/amazon/ion/impl/lite/IonListSexpLiteSublistTest.java b/test/com/amazon/ion/impl/lite/IonListSexpLiteSublistTest.java index bd607af587..d6fd716404 100644 --- a/test/com/amazon/ion/impl/lite/IonListSexpLiteSublistTest.java +++ b/test/com/amazon/ion/impl/lite/IonListSexpLiteSublistTest.java @@ -19,13 +19,12 @@ import java.util.List; import java.util.ListIterator; -import org.junit.Assert; + import org.junit.Test; import org.junit.runner.RunWith; import com.amazon.ion.IonInt; import com.amazon.ion.IonSequence; import com.amazon.ion.IonValue; -import com.amazon.ion.impl.lite.BaseIonSequenceLiteSublistTestCase; import com.amazon.ion.junit.Injected; import com.amazon.ion.junit.Injected.Inject; diff --git a/test/com/amazon/ion/junit/IonAssert.java b/test/com/amazon/ion/junit/IonAssert.java index ca824ff8fa..a91f1f3d02 100644 --- a/test/com/amazon/ion/junit/IonAssert.java +++ b/test/com/amazon/ion/junit/IonAssert.java @@ -35,7 +35,6 @@ import java.util.Map.Entry; import static com.amazon.ion.SymbolTable.UNKNOWN_SYMBOL_ID; -import static com.amazon.ion.impl._Private_IonConstants.UNKNOWN_SYMBOL_TEXT_PREFIX; import static com.amazon.ion.util.IonTextUtils.printSymbol; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; diff --git a/test/com/amazon/ion/streaming/BadIonStreamingTest.java b/test/com/amazon/ion/streaming/BadIonStreamingTest.java index b847fd79e0..7e48f05de0 100644 --- a/test/com/amazon/ion/streaming/BadIonStreamingTest.java +++ b/test/com/amazon/ion/streaming/BadIonStreamingTest.java @@ -26,8 +26,7 @@ import com.amazon.ion.impl._Private_Utils; import com.amazon.ion.junit.Injected.Inject; import java.io.File; -import java.io.IOException; -import org.junit.Ignore; + import org.junit.Test; public class BadIonStreamingTest diff --git a/test/com/amazon/ion/streaming/ReaderTest.java b/test/com/amazon/ion/streaming/ReaderTest.java index 26608e6272..65eebcf87b 100644 --- a/test/com/amazon/ion/streaming/ReaderTest.java +++ b/test/com/amazon/ion/streaming/ReaderTest.java @@ -32,7 +32,6 @@ import java.math.BigInteger; import java.util.Arrays; -import org.junit.Assert; import org.junit.Ignore; import org.junit.Test;