This is an automatically generated e-mail. To reply, visit:

Review request for Aurora, Kevin Sweeney and Maxim Khutornenko.

Repository: aurora


I still need to do research on why some of these changes were needed, but this 
makes our build green on JDK 8 (minus disabling jacoco, which was fixed for JDK 
8 today, just waiting for the gradle plugin to update).

StorageTestUtil.java:99: error: unreported exception E; must be caught or 
declared to be thrown
    return expect(storage.write(capture(work))).andAnswer(new IAnswer<T>() {
It seems that the type on the Capture and the type constraint on the signature 
of the storage methods aren't treated as expected.  I have a sense this one is 
a bug in the type system.

SchedulingFilterImplTest.java:133: error: incompatible types: <anonymous 
IAnswer<Object>> cannot be converted to IAnswer<? extends CAP#1>
        .andAnswer(new IAnswer<Object>() {
  where CAP#1 is a fresh type-variable:
    CAP#1 extends Object from capture of ?

RecoveryTest.java:102: error: method write in interface Storage cannot be 
applied to given types;
  required: MutateWork<T#1,E>
  found: MutateWork<CAP#1,CAP#2>
  reason: inference variable T#2 has incompatible bounds
    equality constraints: MutateWork<?,?>
    upper bounds: MutateWork<CAP#3,E>,Object
  where T#1,E,T#2 are type-variables:
    T#1 extends Object declared in method <T#1,E>write(MutateWork<T#1,E>)
    E extends Exception declared in method <T#1,E>write(MutateWork<T#1,E>)
    T#2 extends Object declared in method <T#2>capture(Capture<T#2>)
  where CAP#1,CAP#2,CAP#3 are fresh type-variables:
    CAP#1 extends Object from capture of ?
    CAP#2 extends Exception from capture of ?
    CAP#3 extends Object from capture of ?

I'm not sure the reasoning here, but these seem semi-legitimate.  Looks like 
the typing of wildcards was made more strict, and these calls lacked sufficient 
type information to turn the wildcards into _something_.

GuiceUtils.java:92: warning: [rawtypes] found raw type: Class
    final LoadingCache<Method, Pair<String, Class[]>> cache = 
  missing type arguments for generic class Class<T>
  where T is a type-variable:
    T extends Object declared in class Class

This is legit, and something i had omitted since adding the wildcard type 
parameter didn't work with the checkstyle rule.  I chose to drop the checkstyle 

LogManagerTest.java had a failing unit test.  The test relied on consistent 
ordering of elements within a HashSet, which is bound to be flaky anyway.


  config/checkstyle/checkstyle.xml 99f48b2792eb8a7619423088a3ab40fb3a3df772 

Diff: https://reviews.apache.org/r/19391/diff/


Installed JDK 8, temporarily changed build.gradle (see below).  Build is green 
(there are a few compiler warnings to fix

diff --git a/build.gradle b/build.gradle
index f38888b..8c58004 100644
--- a/build.gradle
+++ b/build.gradle
@@ -18,7 +18,6 @@ apply plugin: 'about'
 apply plugin: 'application'
 apply plugin: 'checkstyle'
 apply plugin: 'idea'
-apply plugin: 'jacoco'
 apply plugin: 'java'
 apply plugin: 'license'
 apply plugin: 'maven-publish'
@@ -42,8 +41,8 @@ def generatedJavaDir = "$generatedDir/gen-java"
 def generatedJSDir = "$generatedDir/gen-js"

 compileJava {
-  sourceCompatibility = 1.7
-  targetCompatibility = 1.7
+  sourceCompatibility = 1.8
+  targetCompatibility = 1.8

 tasks.matching { it instanceof Compile && it.getName() != 
'compileGeneratedJava' }.all {
@@ -347,17 +346,6 @@ license {
   ext.year = Calendar.getInstance().get(Calendar.YEAR)

-jacocoTestReport {
-  group = "Reporting"
-  description = "Generate Jacoco coverage reports after running tests."
-  additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
-  doLast {
-    println "Coverage report generated: 
-  }
-test.finalizedBy jacocoTestReport
 task FlagSchemaChanges(type: Test) {
   exec {
     executable = 'bash'


Bill Farner

Reply via email to