Ever more fixes
diff --git a/crunch-archetype/src/main/resources/archetype-resources/pom.xml b/crunch-archetype/src/main/resources/archetype-resources/pom.xml
index 6575417..34da675 100644
--- a/crunch-archetype/src/main/resources/archetype-resources/pom.xml
+++ b/crunch-archetype/src/main/resources/archetype-resources/pom.xml
@@ -89,8 +89,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.8</source>
+ <target>1.8</target>
</configuration>
</plugin>
<plugin>
diff --git a/crunch-core/src/it/java/org/apache/crunch/io/parquet/AvroParquetFileSourceTargetIT.java b/crunch-core/src/it/java/org/apache/crunch/io/parquet/AvroParquetFileSourceTargetIT.java
index 1b2b151..3c80a3c 100644
--- a/crunch-core/src/it/java/org/apache/crunch/io/parquet/AvroParquetFileSourceTargetIT.java
+++ b/crunch-core/src/it/java/org/apache/crunch/io/parquet/AvroParquetFileSourceTargetIT.java
@@ -153,7 +153,7 @@
Person person = Iterables.getOnlyElement(ageOnly.materialize());
assertNull(person.getName());
- assertEquals(person.getAge(), 42);
+ assertEquals(person.getAge().intValue(), 42);
assertNull(person.getSiblingnames());
}
diff --git a/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroChildClassloaderTestRunner.java b/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroChildClassloaderTestRunner.java
index a1f93b7..d0016fc 100644
--- a/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroChildClassloaderTestRunner.java
+++ b/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroChildClassloaderTestRunner.java
@@ -17,6 +17,8 @@
*/
package org.apache.crunch.types.avro;
+import java.io.File;
+import java.lang.management.ManagementFactory;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
@@ -45,11 +47,25 @@
private static ClassLoader parentClassLoader;
private static URL[] crunchURLs;
static {
- URLClassLoader systemClassLoader = (URLClassLoader) getSystemClassLoader();
+ ClassLoader classLoader = getSystemClassLoader();
+ URL[] urls = null;
+ if (classLoader instanceof URLClassLoader) {
+ urls = ((URLClassLoader) classLoader).getURLs();
+ } else {
+ String[] pieces = ManagementFactory.getRuntimeMXBean().getClassPath().split(File.pathSeparator);
+ urls = new URL[pieces.length];
+ for (int i = 0; i < pieces.length; i++) {
+ try {
+ urls[i] = new File(pieces[i]).toURI().toURL();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
Collection<URL> crunchURLs = new ArrayList<URL>();
Collection<URL> otherURLs = new ArrayList<URL>();
- for (URL url : systemClassLoader.getURLs()) {
+ for (URL url : urls) {
if (url.getPath().matches("^.*/crunch-?.*/.*$")) {
crunchURLs.add(url);
} else {
@@ -58,7 +74,7 @@
}
TestClassLoader.crunchURLs = crunchURLs.toArray(new URL[crunchURLs.size()]);
- parentClassLoader = new URLClassLoader(otherURLs.toArray(new URL[otherURLs.size()]), null);
+ parentClassLoader = new URLClassLoader(otherURLs.toArray(new URL[otherURLs.size()]), classLoader);
}
public TestClassLoader() {
diff --git a/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroModeTest.java b/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroModeTest.java
index fe36520..8df49d3 100644
--- a/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroModeTest.java
+++ b/crunch-core/src/test/java/org/apache/crunch/types/avro/AvroModeTest.java
@@ -23,7 +23,6 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericData;
@@ -152,30 +151,6 @@
assertThat(returnedMode.getFactory(), is(instanceOf(FakeReaderWriterFactory.class)));
}
- @Test
- public void testRegisterClassLoader() {
- // First make sure things are in the default situation
- AvroMode.setSpecificClassLoader(null);
-
- ClassLoader classLoaderA = mock(ClassLoader.class);
- ClassLoader classLoaderB = mock(ClassLoader.class);
-
- // Basic sanity check to ensure that the class loader was really nulled out
- assertNull(AvroMode.getSpecificClassLoader());
-
- // Do an internal registration of a class loader. Because there is currently no internal class loader set,
- // this should set the internal specific class loader
- AvroMode.registerSpecificClassLoaderInternal(classLoaderA);
-
- assertEquals(classLoaderA, AvroMode.getSpecificClassLoader());
-
- // Now we do an internal register of another class loader. Because there already is an internal specific class
- // loader set, this should have no impact (as opposed to calling setSpecificClassLoader)
- AvroMode.registerSpecificClassLoaderInternal(classLoaderB);
-
- assertEquals(classLoaderA, AvroMode.getSpecificClassLoader());
- }
-
private static class FakeReaderWriterFactory implements ReaderWriterFactory{
@Override
diff --git a/pom.xml b/pom.xml
index 05a21ad..9b8b526 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,9 +85,9 @@
<commons-lang.version>2.6</commons-lang.version>
<commons-codec.version>1.4</commons-codec.version>
<commons-cli.version>1.2</commons-cli.version>
- <avro.version>1.9.1</avro.version>
+ <avro.version>1.8.2</avro.version>
<hive.version>2.1.0</hive.version>
- <parquet.version>1.8.1</parquet.version>
+ <parquet.version>1.10.1</parquet.version>
<javassist.version>3.16.1-GA</javassist.version>
<jackson.databind.version>2.6.1</jackson.databind.version>
<protobuf-java.version>2.5.0</protobuf-java.version>
@@ -106,7 +106,7 @@
<kafka.version>1.1.0</kafka.version>
<scala.base.version>2.12</scala.base.version>
- <scala.version>2.12.6</scala.version>
+ <scala.version>2.12.10</scala.version>
<scalatest.version>3.0.1</scalatest.version>
<spark.version>2.4.0</spark.version>
<jline.version>2.12.1</jline.version>
@@ -278,7 +278,7 @@
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-core</artifactId>
+ <artifactId>hadoop-client</artifactId>
</exclusion>
</exclusions>
</dependency>
@@ -641,7 +641,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.3</version>
+ <version>3.8.1</version>
<configuration>
<source>${java.source.version}</source>
<target>${java.target.version}</target>
@@ -689,7 +689,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>2.5.4</version>
+ <version>3.1.1</version>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
@@ -701,6 +701,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
+ <useSystemClassLoader>false</useSystemClassLoader>
<argLine>-Xmx2G -Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>
@@ -712,7 +713,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
- <version>2.22.2</version>
+ <version>2.10</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>