Skip to content

Commit dc6ca00

Browse files
committed
Upgrades for java 17 support
To be compatible with recent upgrades to airlift and presto for Java 17, Tempto needs some upgrades in order to run against Presto JVMs which have newer dependencies. Guice needs to be upgraded to 7.0 which brings in utilization of the jakarta namespaced injection and annotation dependencies. Additionally, I neeeded to upgrade jsch and mina_sshd dependencies in order to get the existing tests passing. This required some refactoring in test classes
1 parent e50ad79 commit dc6ca00

File tree

23 files changed

+129
-132
lines changed

23 files changed

+129
-132
lines changed

build.gradle

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -28,45 +28,48 @@ java {
2828
}
2929

3030
ext.versions = [
31-
assertj : '2.0.0',
32-
guava : '21.0',
33-
guice : '4.0',
34-
log4j : '1.2.17',
35-
testng : '7.5',
36-
junit : '4.12',
37-
spock : '2.3-groovy-4.0',
38-
slf4j : '1.7.12',
39-
hsqldb : '2.3.2',
40-
dbutils : '1.6',
41-
snakeyaml : '1.15',
42-
cglib : '3.1',
43-
httpclient : '4.4',
44-
ioutils : '2.4',
45-
tpchgen : '0.6',
46-
tpcdsgen : '1.2',
47-
commons_lang3: '3.3.2',
48-
commons_dbcp2: '2.1',
49-
hive_jdbc : '0.13.1-5',
50-
hive : '3.0.0-2',
51-
presto : '0.181',
52-
reflections : '0.9.9',
53-
bytebuddy : '1.15.4',
54-
jsch : '0.1.55',
55-
mina_sshd : '0.14.0',
56-
freemarker : '2.3.22',
57-
objenesis : '1.4',
58-
jackson : '2.4.4',
59-
cassandra : '3.4.0',
60-
commons_cli : '1.3.1',
61-
thrift : '0.9.3',
62-
kafka : '3.9.0',
31+
jakarta_inject : '2.0.1',
32+
jakarta_annotation: '2.1.1',
33+
assertj : '2.0.0',
34+
guava : '21.0',
35+
guice : '7.0.0',
36+
log4j : '1.2.17',
37+
testng : '7.5',
38+
junit : '4.12',
39+
spock : '2.3-groovy-4.0',
40+
slf4j : '1.7.12',
41+
hsqldb : '2.3.2',
42+
dbutils : '1.6',
43+
snakeyaml : '1.15',
44+
cglib : '3.1',
45+
httpclient : '4.4',
46+
ioutils : '2.4',
47+
tpchgen : '0.6',
48+
tpcdsgen : '1.2',
49+
commons_lang3 : '3.3.2',
50+
commons_dbcp2 : '2.1',
51+
hive_jdbc : '0.13.1-5',
52+
hive : '3.0.0-2',
53+
presto : '0.181',
54+
reflections : '0.9.9',
55+
bytebuddy : '1.15.4',
56+
jsch : '0.2.25',
57+
mina_sshd : '2.15.0',
58+
freemarker : '2.3.22',
59+
objenesis : '1.4',
60+
jackson : '2.4.4',
61+
cassandra : '3.4.0',
62+
commons_cli : '1.3.1',
63+
thrift : '0.9.3',
64+
kafka : '3.9.0',
6365
]
6466

6567
ext.libraries = [
68+
jakarta_inject : "jakarta.inject:jakarta.inject-api:${versions.jakarta_inject}",
69+
jakarta_annotation : "jakarta.annotation:jakarta.annotation-api:${versions.jakarta_annotation}",
6670
assertj : "org.assertj:assertj-core:${versions.assertj}",
6771
guava : "com.google.guava:guava:${versions.guava}",
68-
guice : ["com.google.inject:guice:${versions.guice}",
69-
"com.google.inject.extensions:guice-multibindings:${versions.guice}"],
72+
guice : ["com.google.inject:guice:${versions.guice}"],
7073
log4j : "log4j:log4j:${versions.log4j}",
7174
testng : "org.testng:testng:${versions.testng}",
7275
junit : "junit:junit:${versions.junit}", /* TODO: remove junit dependencies */
@@ -90,7 +93,7 @@ ext.libraries = [
9093
presto_jdbc : "com.facebook.presto:presto-jdbc:${versions.presto}",
9194
reflections : "org.reflections:reflections:${versions.reflections}",
9295
bytebuddy : "net.bytebuddy:byte-buddy:${versions.bytebuddy}",
93-
jsch : "com.jcraft:jsch:${versions.jsch}",
96+
jsch : "com.github.mwiede:jsch:${versions.jsch}",
9497
mina_sshd : "org.apache.sshd:apache-sshd:${versions.mina_sshd}",
9598
postgresql_jdbc : "org.postgresql:postgresql:9.4-1201-jdbc41",
9699
commons_cli : "commons-cli:commons-cli:1.2",

tempto-core/src/main/java/io/prestodb/tempto/ProductTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
import io.prestodb.tempto.internal.initialization.RequirementsExpanderInterceptor;
1818
import io.prestodb.tempto.internal.initialization.TestInitializationListener;
1919
import io.prestodb.tempto.internal.listeners.ProgressLoggingListener;
20-
import org.slf4j.Logger;
21-
import org.slf4j.LoggerFactory;
2220
import org.testng.annotations.Listeners;
2321

2422
@Listeners({RequirementsExpanderInterceptor.class, TestInitializationListener.class, ProgressLoggingListener.class})

tempto-core/src/main/java/io/prestodb/tempto/fulfillment/table/ReadOnlyTableManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515

1616
import com.google.inject.Inject;
1717
import io.prestodb.tempto.internal.fulfillment.table.TableName;
18-
19-
import javax.inject.Named;
20-
import javax.inject.Singleton;
18+
import jakarta.inject.Named;
19+
import jakarta.inject.Singleton;
2120

2221
/**
2322
* Table manager for read only databases.

tempto-core/src/main/java/io/prestodb/tempto/internal/DefaultRequirementsCollector.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import static com.google.common.base.Preconditions.checkArgument;
3535
import static com.google.common.collect.ImmutableList.toImmutableList;
3636
import static io.prestodb.tempto.Requirements.compose;
37-
import static java.util.stream.Collectors.toList;
3837

3938
/**
4039
* This class gathers requirements for a given test method.

tempto-core/src/main/java/io/prestodb/tempto/internal/ReflectionInjectorHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public Object[] getMethodArguments(Injector injector, Method method)
4949
private boolean isAnnotatedWithInject(Method method)
5050
{
5151
return method.getAnnotation(Inject.class) != null ||
52-
method.getAnnotation(javax.inject.Inject.class) != null;
52+
method.getAnnotation(jakarta.inject.Inject.class) != null;
5353
}
5454

5555
private Object createInstanceWithFields(Parameter[] parameters)
@@ -95,7 +95,7 @@ private static class InjectAnnotation
9595
@Override
9696
public Class<? extends Annotation> annotationType()
9797
{
98-
return javax.inject.Inject.class;
98+
return jakarta.inject.Inject.class;
9999
}
100100
}
101101
}

tempto-core/src/main/java/io/prestodb/tempto/internal/fulfillment/command/TestCommandFulfiller.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515
package io.prestodb.tempto.internal.fulfillment.command;
1616

1717
import io.prestodb.tempto.fulfillment.command.TestCommandRequirement;
18-
19-
import javax.inject.Inject;
18+
import jakarta.inject.Inject;
2019

2120
public class TestCommandFulfiller
2221
extends CommandFulfiller<TestCommandRequirement>

tempto-core/src/main/java/io/prestodb/tempto/internal/fulfillment/table/cassandra/CassandraTableManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
import io.prestodb.tempto.internal.fulfillment.table.TableNameGenerator;
2626
import io.prestodb.tempto.internal.query.CassandraQueryExecutor;
2727
import io.prestodb.tempto.util.Lazy;
28+
import jakarta.inject.Named;
29+
import jakarta.inject.Singleton;
2830
import org.slf4j.Logger;
2931

30-
import javax.inject.Named;
31-
import javax.inject.Singleton;
32-
3332
import java.util.List;
3433
import java.util.Optional;
3534

tempto-core/src/main/java/io/prestodb/tempto/internal/fulfillment/table/hive/HiveTableManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@
2525
import io.prestodb.tempto.internal.fulfillment.table.TableNameGenerator;
2626
import io.prestodb.tempto.internal.hadoop.hdfs.HdfsDataSourceWriter;
2727
import io.prestodb.tempto.query.QueryExecutor;
28+
import jakarta.inject.Named;
29+
import jakarta.inject.Singleton;
2830
import org.slf4j.Logger;
2931

30-
import javax.inject.Named;
31-
import javax.inject.Singleton;
32-
3332
import java.util.Optional;
3433

3534
import static com.google.common.base.Preconditions.checkArgument;

tempto-core/src/main/java/io/prestodb/tempto/internal/fulfillment/table/jdbc/JdbcTableManager.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@
3030
import io.prestodb.tempto.query.QueryExecutionException;
3131
import io.prestodb.tempto.query.QueryExecutor;
3232
import io.prestodb.tempto.query.QueryResult;
33+
import jakarta.inject.Named;
3334
import org.slf4j.Logger;
3435

35-
import javax.inject.Named;
36-
3736
import java.sql.Connection;
3837
import java.sql.DatabaseMetaData;
3938
import java.sql.ResultSet;

tempto-core/src/main/java/io/prestodb/tempto/internal/hadoop/hdfs/DefaultHdfsDataSourceWriter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
import io.prestodb.tempto.fulfillment.table.hive.HiveDataSource;
1818
import io.prestodb.tempto.hadoop.hdfs.HdfsClient;
1919
import io.prestodb.tempto.hadoop.hdfs.HdfsClient.RepeatableContentProducer;
20+
import jakarta.inject.Inject;
2021
import org.slf4j.Logger;
2122

22-
import javax.inject.Inject;
23-
2423
import static org.slf4j.LoggerFactory.getLogger;
2524

2625
public class DefaultHdfsDataSourceWriter

0 commit comments

Comments
 (0)