winfetch icon indicating copy to clipboard operation
winfetch copied to clipboard

Compatibility with guava 21

Open jiri-pejchal opened this issue 8 years ago • 2 comments

Proctor can't be run with guava 21.

java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	at com.indeed.proctor.common.model.TestType.register(TestType.java:34) ~[proctor-common-1.1.27.jar:na]
	at com.indeed.proctor.common.model.TestType.<clinit>(TestType.java:96) ~[proctor-common-1.1.27.jar:na]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_102]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_102]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_102]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_102]
	at com.fasterxml.jackson.databind.introspect.AnnotatedConstructor.call1(AnnotatedConstructor.java:129) ~[jackson-databind-2.8.5.jar:2.8.5]
	at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:318) ~[jackson-databind-2.8.5.jar:2.8.5]

In guava 21 method com.google.common.base.Objects.firstNonNull has been moved to com.google.common.base.MoreObjects.

jiri-pejchal avatar Jan 13 '17 09:01 jiri-pejchal

Guava 21 requires Java 8. I have a branch building and passing unit tests. To compile:

$ git clone [email protected]:indeedeng/common-parent-pom.git
$ cd common-parent-pom
$ git checkout guava-21
$ mvn install

$ cd ..
$ git clone [email protected]:indeedeng/oss-parent-pom.git
$ cd oss-parent-pom
$ git checkout guava-21
$ mvn install

$ cd ..
$ git clone [email protected]:indeedeng/proctor.git
$ cd proctor
$ git checkout guava-21
$ mvn install package

That should build Proctor jars with version 2.0.0. Note that we've done no integration testing of these branches at all yet.

We should be able to publish 2.0 to Maven in the next month or so.

youknowjack avatar Jan 22 '17 05:01 youknowjack

seems a cleanup of guave methods has been done in the meantime, something holding us back are guava usages in varexport dependency.

tkruse avatar Nov 15 '19 02:11 tkruse