You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by fo...@apache.org on 2018/11/13 08:50:11 UTC

[avro] branch master updated: AVRO-2265 Remove Guava as a test dependency (#377)

This is an automated email from the ASF dual-hosted git repository.

fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/master by this push:
     new 71be8a4  AVRO-2265 Remove Guava as a test dependency (#377)
71be8a4 is described below

commit 71be8a456ffb250abb22f2a956ae0c6acd5104fa
Author: Fokko Driesprong <fo...@driesprong.frl>
AuthorDate: Tue Nov 13 09:50:05 2018 +0100

    AVRO-2265 Remove Guava as a test dependency (#377)
---
 lang/java/avro/pom.xml                             |  12 --
 .../avro/message/TestBinaryMessageEncoding.java    | 131 ++++++++-------------
 lang/java/mapred/pom.xml                           |  27 -----
 lang/java/pom.xml                                  |   2 -
 4 files changed, 49 insertions(+), 123 deletions(-)

diff --git a/lang/java/avro/pom.xml b/lang/java/avro/pom.xml
index 817bb3a..c9104fb 100644
--- a/lang/java/avro/pom.xml
+++ b/lang/java/avro/pom.xml
@@ -179,18 +179,6 @@
       <groupId>com.github.luben</groupId>
       <artifactId>zstd-jni</artifactId>
     </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>${guava.version}</version>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion> <!-- GPL -->
-          <groupId>com.google.code.findbugs</groupId>
-          <artifactId>jsr305</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
   </dependencies>
 
 </project>
diff --git a/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java b/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
index 0c87189..4cb6c38 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/message/TestBinaryMessageEncoding.java
@@ -20,14 +20,8 @@
 package org.apache.avro.message;
 
 import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Ordering;
-import com.google.common.collect.Sets;
+import java.util.*;
+
 import org.apache.avro.AvroRuntimeException;
 import org.apache.avro.Schema;
 import org.apache.avro.SchemaBuilder;
@@ -38,33 +32,33 @@ import org.junit.Assert;
 import org.junit.Test;
 
 public class TestBinaryMessageEncoding {
-  public static final Schema SCHEMA_V1 = SchemaBuilder.record("TestRecord")
+  private static final Schema SCHEMA_V1 = SchemaBuilder.record("TestRecord")
       .fields()
       .requiredInt("id")
       .optionalString("msg")
       .endRecord();
 
-  public static final GenericRecordBuilder V1_BUILDER =
+  private static final GenericRecordBuilder V1_BUILDER =
       new GenericRecordBuilder(SCHEMA_V1);
 
-  public static final List<Record> V1_RECORDS = Arrays.asList(
+  private static final List<Record> V1_RECORDS = Arrays.asList(
       V1_BUILDER.set("id", 1).set("msg", "m-1").build(),
       V1_BUILDER.set("id", 2).set("msg", "m-2").build(),
       V1_BUILDER.set("id", 4).set("msg", "m-4").build(),
       V1_BUILDER.set("id", 6).set("msg", "m-6").build()
   );
 
-  public static final Schema SCHEMA_V2 = SchemaBuilder.record("TestRecord")
+  private static final Schema SCHEMA_V2 = SchemaBuilder.record("TestRecord")
       .fields()
       .requiredLong("id")
       .name("message").aliases("msg").type().optional().stringType()
       .optionalDouble("data")
       .endRecord();
 
-  public static final GenericRecordBuilder V2_BUILDER =
+  private static final GenericRecordBuilder V2_BUILDER =
       new GenericRecordBuilder(SCHEMA_V2);
 
-  public static final List<Record> V2_RECORDS = Arrays.asList(
+  private static final List<Record> V2_RECORDS = Arrays.asList(
       V2_BUILDER.set("id", 3L).set("message", "m-3").set("data", 12.3).build(),
       V2_BUILDER.set("id", 5L).set("message", "m-5").set("data", 23.4).build(),
       V2_BUILDER.set("id", 7L).set("message", "m-7").set("data", 34.5).build(),
@@ -73,29 +67,25 @@ public class TestBinaryMessageEncoding {
 
   @Test
   public void testByteBufferRoundTrip() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     Record copy = decoder.decode(encoder.encode(V2_RECORDS.get(0)));
 
-    Assert.assertTrue("Copy should not be the same object",
-        copy != V2_RECORDS.get(0));
-    Assert.assertEquals("Record should be identical after round-trip",
-        V2_RECORDS.get(0), copy);
+    Assert.assertNotSame("Copy should not be the same object", copy, V2_RECORDS.get(0));
+    Assert.assertEquals("Record should be identical after round-trip", V2_RECORDS.get(0), copy);
   }
 
   @Test
   public void testSchemaEvolution() throws Exception {
-    List<ByteBuffer> buffers = Lists.newArrayList();
-    List<Record> records = Ordering.usingToString().sortedCopy(
-        Iterables.concat(V1_RECORDS, V2_RECORDS));
+    List<ByteBuffer> buffers = new ArrayList<>();
+    List<Record> records = new ArrayList<>();
+
+    records.addAll(V1_RECORDS);
+    records.addAll(V2_RECORDS);
 
-    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1);
-    MessageEncoder<Record> v2Encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+    MessageEncoder<Record> v2Encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
 
     for (Record record : records) {
       if (record.getSchema() == SCHEMA_V1) {
@@ -105,21 +95,17 @@ public class TestBinaryMessageEncoding {
       }
     }
 
-    Set<Record> allAsV2 = Sets.newHashSet(V2_RECORDS);
-    allAsV2.add(
-        V2_BUILDER.set("id", 1L).set("message", "m-1").clear("data").build());
-    allAsV2.add(
-        V2_BUILDER.set("id", 2L).set("message", "m-2").clear("data").build());
-    allAsV2.add(
-        V2_BUILDER.set("id", 4L).set("message", "m-4").clear("data").build());
-    allAsV2.add(
-        V2_BUILDER.set("id", 6L).set("message", "m-6").clear("data").build());
-
-    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    Set<Record> allAsV2 = new HashSet<>(V2_RECORDS);
+
+    allAsV2.add(V2_BUILDER.set("id", 1L).set("message", "m-1").clear("data").build());
+    allAsV2.add(V2_BUILDER.set("id", 2L).set("message", "m-2").clear("data").build());
+    allAsV2.add(V2_BUILDER.set("id", 4L).set("message", "m-4").clear("data").build());
+    allAsV2.add(V2_BUILDER.set("id", 6L).set("message", "m-6").clear("data").build());
+
+    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
     v2Decoder.addSchema(SCHEMA_V1);
 
-    Set<Record> decodedUsingV2 = Sets.newHashSet();
+    Set<Record> decodedUsingV2 = new HashSet<>();
     for (ByteBuffer buffer : buffers) {
       decodedUsingV2.add(v2Decoder.decode(buffer));
     }
@@ -129,10 +115,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = MissingSchemaException.class)
   public void testCompatibleReadFailsWithoutSchema() throws Exception {
-    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1);
-    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(3));
 
@@ -141,10 +125,8 @@ public class TestBinaryMessageEncoding {
 
   @Test
   public void testCompatibleReadWithSchema() throws Exception {
-    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1);
-    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
+    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
     v2Decoder.addSchema(SCHEMA_V1);
 
     ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(3));
@@ -158,13 +140,11 @@ public class TestBinaryMessageEncoding {
 
   @Test
   public void testCompatibleReadWithSchemaFromLookup() throws Exception {
-    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1);
+    MessageEncoder<Record> v1Encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
 
     SchemaStore.Cache schemaCache = new SchemaStore.Cache();
     schemaCache.addSchema(SCHEMA_V1);
-    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2, schemaCache);
+    BinaryMessageDecoder<Record> v2Decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2, schemaCache);
 
     ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));
 
@@ -180,32 +160,29 @@ public class TestBinaryMessageEncoding {
     // This test depends on the serialized version of record 1 being smaller or
     // the same size as record 0 so that the reused ByteArrayOutputStream won't
     // expand its internal buffer.
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1, false);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1, false);
 
     ByteBuffer b0 = encoder.encode(V1_RECORDS.get(0));
     ByteBuffer b1 = encoder.encode(V1_RECORDS.get(1));
 
     Assert.assertEquals(b0.array(), b1.array());
 
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V1);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V1);
     Assert.assertEquals("Buffer was reused, decode(b0) should be record 1",
         V1_RECORDS.get(1), decoder.decode(b0));
   }
 
   @Test
   public void testBufferCopy() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V1);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V1);
 
     ByteBuffer b0 = encoder.encode(V1_RECORDS.get(0));
     ByteBuffer b1 = encoder.encode(V1_RECORDS.get(1));
 
     Assert.assertNotEquals(b0.array(), b1.array());
 
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V1);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V1);
+
     // bytes are not changed by reusing the encoder
     Assert.assertEquals("Buffer was copied, decode(b0) should be record 0",
         V1_RECORDS.get(0), decoder.decode(b0));
@@ -213,10 +190,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = AvroRuntimeException.class)
   public void testByteBufferMissingPayload() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
 
@@ -227,10 +202,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = BadHeaderException.class)
   public void testByteBufferMissingFullHeader() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
 
@@ -241,10 +214,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = BadHeaderException.class)
   public void testByteBufferBadMarkerByte() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
     buffer.array()[0] = 0x00;
@@ -254,10 +225,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = BadHeaderException.class)
   public void testByteBufferBadVersionByte() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
     buffer.array()[1] = 0x00;
@@ -267,10 +236,8 @@ public class TestBinaryMessageEncoding {
 
   @Test(expected = MissingSchemaException.class)
   public void testByteBufferUnknownSchema() throws Exception {
-    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(
-        GenericData.get(), SCHEMA_V2);
-    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(
-        GenericData.get(), SCHEMA_V2);
+    MessageEncoder<Record> encoder = new BinaryMessageEncoder<>(GenericData.get(), SCHEMA_V2);
+    MessageDecoder<Record> decoder = new BinaryMessageDecoder<>(GenericData.get(), SCHEMA_V2);
 
     ByteBuffer buffer = encoder.encode(V2_RECORDS.get(0));
     buffer.array()[4] = 0x00;
diff --git a/lang/java/mapred/pom.xml b/lang/java/mapred/pom.xml
index fb705ef..368226a 100644
--- a/lang/java/mapred/pom.xml
+++ b/lang/java/mapred/pom.xml
@@ -101,33 +101,6 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-enforcer-plugin</artifactId>
-        <version>1.4.1</version>
-        <executions>
-          <execution>
-            <id>enforce-banned-dependencies</id>
-            <goals>
-              <goal>enforce</goal>
-            </goals>
-            <configuration>
-              <rules>
-                <bannedDependencies>
-                  <!-- Ban all versions of Guava other than 11.0.2 that Hadoop uses -->
-                  <excludes>
-                    <exclude>com.google.guava:guava</exclude>
-                  </excludes>
-                  <includes>
-                    <include>com.google.guava:guava:11.0.2</include>
-                  </includes>
-                </bannedDependencies>
-              </rules>
-              <fail>true</fail>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 
diff --git a/lang/java/pom.xml b/lang/java/pom.xml
index cb596cf..43892c0 100644
--- a/lang/java/pom.xml
+++ b/lang/java/pom.xml
@@ -62,8 +62,6 @@
     <hamcrest.version>1.3</hamcrest.version>
     <joda.version>2.10.1</joda.version>
     <grpc.version>1.16.1</grpc.version>
-    <!-- This Guava version should match Hadoop's Guava version. See AVRO-1781. -->
-    <guava.version>11.0.2</guava.version>
     <findbugs-annotations.version>1.3.9-1</findbugs-annotations.version>
     <zstd-jni.version>1.3.7-1</zstd-jni.version>