Per, > I'm expecting to release Kawa 2.2 very soon (in a few days). > Any extra testing or documentation suggestions would be welcome. I just grabbed the latest and it failed to compile here: david@capac:/usr/local/src/kawa/svn 26 $ java -version openjdk version "1.8.0_102" OpenJDK Runtime Environment (build 1.8.0_102-8u102-b14.1-2-b14) OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode) david@capac:/usr/local/src/kawa/svn 27 $ javac -version gcj-6 (Debian 6.1.1-11) 6.1.1 20160802 Copyright (C) 2016 Free Software Foundation, Inc. ... cd /usr/local/src/kawa/svn svn update ./autogen.sh ./configure --prefix=/opt make distclean ./autogen.sh ./configure --prefix=/opt make [ output and error messages below Cheers, David ;;; ;;; Aside note: ;;; I tried to clean the repo, could not find the corresponding 'git clean -dxf' using svn, which I don't know at all. I found a 'trick on stackoverflow saying http://stackoverflow.com/questions/10414533/how-to-remove-untracked-files-in-svn/10416325 and running this part david@capac:/usr/local/src/kawa/svn 29 $ svn st | grep '^?' | awk '{print $2}' META-INF bin/browse-kawa-manual gnu/java-classes.stamp gnu/xquery/util/scm-classes.stamp [ which did not sound good enough: what about all config [ generated files... ;;; ;;; the error messages here below ;;; david@capac:/usr/local/src/kawa/svn 2 $ make Making all in doc make[1]: Entering directory '/usr/local/src/kawa/svn/doc' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/usr/local/src/kawa/svn/doc' Making all in testsuite make[1]: Entering directory '/usr/local/src/kawa/svn/testsuite' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/usr/local/src/kawa/svn/testsuite' Making all in gnu/bytecode make[1]: Entering directory '/usr/local/src/kawa/svn/gnu/bytecode' javac -d ../.. -classpath "../..:./../..:$CLASSPATH" -g Access.java AnnotationDefaultAttr.java AnnotationEntry.java Attribute.java AttrContainer.java ObjectType.java ArrayType.java ClassType.java ConstantPool.java CpoolClass.java CpoolEntry.java CpoolInvokeDynamic.java CpoolValue1.java CpoolValue2.java CpoolNameAndType.java CpoolMethodHandle.java CpoolMethodType.java CpoolRef.java CpoolString.java CpoolUtf8.java EnclosingMethodAttr.java ExitableBlock.java Filter.java Location.java Field.java Label.java IfState.java TryState.java SwitchState.java Member.java Method.java CodeAttr.java ConstantValueAttr.java LineNumbersAttr.java LocalVarsAttr.java InnerClassesAttr.java MiscAttr.java ParameterizedType.java PrimType.java RuntimeAnnotationsAttr.java Scope.java SignatureAttr.java SourceDebugExtAttr.java SourceFileAttr.java SpecialObjectType.java StackMapTableAttr.java Type.java UninitializedType.java Variable.java VarEnumerator.java TypeVariable.java ZipArchive.java ZipLoader.java ArrayClassLoader.java ClassFileInput.java ClassTypeWriter.java ExceptionsAttr.java dump.java ListCodeSize.java /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:10: error: The import javax.lang cannot be resolved import javax.lang.model.element.*; ^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:29: warning: Type safety: The method getAnnotation(Class) belongs to the raw type Class. References to generic type Class should be parameterized Annotation retention = getAnnotationType().getReflectClass() .getAnnotation(Retention.class); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:43: warning: Type safety: The method getAnnotation(Class) belongs to the raw type Class. References to generic type Class should be parameterized Annotation target = getAnnotationType().getReflectClass() .getAnnotation(Target.class); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:49: warning: Unnecessary cast from ElementType[] to ElementType[] ElementType[] etypes = (ElementType[]) ((Target) target).value(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:97: warning: Unnecessary cast from Object to String val = (String) val; ^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:103: warning: Unnecessary cast from Object to Type val = (Type) val; ^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:105: warning: Class is a raw type. References to generic type Class should be parameterized val = Type.make((Class) val); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:114: warning: Unnecessary cast from InvocationHandler to AnnotationEntry val = (AnnotationEntry) Proxy.getInvocationHandler(val); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:145: warning: Unnecessary cast from Class to Class return (Class) annotationType.getReflectClass(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:258: error: AnnotationValue cannot be resolved to a type implements AnnotationValue ^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:303: warning: Type safety: Unchecked cast from Object to List (List) value; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:305: warning: Class is a raw type. References to generic type Class should be parameterized Class eltype = type.getReflectClass().getComponentType(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:331: warning: Enum is a raw type. References to generic type Enum should be parameterized Class eclas = clas.asSubclass(Enum.class); ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:332: warning: Enum is a raw type. References to generic type Enum should be parameterized Enum val = Enum.valueOf(eclas, name); ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:332: warning: Type safety: Unchecked invocation valueOf(Class, String) of the generic method valueOf(Class, String) of type Enum Enum val = Enum.valueOf(eclas, name); ^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:345: error: AnnotationValueVisitor cannot be resolved to a type public R accept(AnnotationValueVisitor v, P p) ^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:359: warning: Type safety: Unchecked cast from Object to List return v.visitArray((List) value, p); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:359: error: AnnotationValue cannot be resolved to a type return v.visitArray((List) value, p); ^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:424: warning: Type safety: Unchecked cast from Object to List List vals = (List) value; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:450: warning: Enum is a raw type. References to generic type Enum should be parameterized Enum evalue = (Enum) value; ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/AnnotationEntry.java:450: warning: Enum is a raw type. References to generic type Enum should be parameterized Enum evalue = (Enum) value; ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:85: warning: Class is a raw type. References to generic type Class should be parameterized public static Class getContextClass (String cname) ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:110: warning: Class is a raw type. References to generic type Class should be parameterized public Class getReflectClass() ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:135: warning: The value of the parameter name is not used public Field getField(String name, int mask) ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:135: warning: The value of the parameter mask is not used public Field getField(String name, int mask) ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:146: warning: Filter is a raw type. References to generic type Filter should be parameterized public final int getMethods (Filter filter, int searchSupers, ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:147: warning: Vector is a raw type. References to generic type Vector should be parameterized Vector result, String context) ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:147: warning: The value of the parameter context is not used Vector result, String context) ^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:149: warning: Type safety: The expression of type Vector needs unchecked conversion to conform to List return getMethods(filter, searchSupers, result); ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:152: warning: Filter is a raw type. References to generic type Filter should be parameterized public int getMethods (Filter filter, int searchSupers, ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:177: warning: Class is a raw type. References to generic type Class should be parameterized Class clas = getReflectClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ObjectType.java:178: warning: Class is a raw type. References to generic type Class should be parameterized Class objClass = obj.getClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ArrayType.java:64: warning: Class is a raw type. References to generic type Class should be parameterized public Class getReflectClass() { ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ArrayType.java:68: warning: Class is a raw type. References to generic type Class should be parameterized Class elClass = elements.getReflectClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ArrayType.java:84: warning: Filter is a raw type. References to generic type Filter should be parameterized public int getMethods(Filter filter, int searchSupers, List result) { ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ArrayType.java:87: warning: Type safety: The method select(Object) belongs to the raw type Filter. References to generic type Filter should be parameterized if (searchSupers > 1 && filter.select(Type.clone_method)) { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ArrayType.java:133: warning: The declared exception ObjectStreamException is not actually thrown by the method readResolve() from type ArrayType public Object readResolve() throws ObjectStreamException { ^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:206: warning: Class is a raw type. References to generic type Class should be parameterized Class clas = getReflectClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:209: warning: Class is a raw type. References to generic type Class should be parameterized Class dclas; ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:222: warning: Constructor is a raw type. References to generic type Constructor should be parameterized java.lang.reflect.Constructor rcons = clas.getEnclosingConstructor(); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:241: warning: Class is a raw type. References to generic type Class should be parameterized Class clas = getReflectClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:243: warning: Class is a raw type. References to generic type Class should be parameterized Class[] memberClasses = clas.getClasses(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:399: warning: TypeVariable is a raw type. References to generic type TypeVariable should be parameterized java.lang.reflect.TypeVariable[] rparams ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:417: warning: The field Type.pointer_type is deprecated setSuper(name == null ? Type.pointer_type : ClassType.make(name)); ^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:453: warning: Class is a raw type. References to generic type Class should be parameterized Class[] reflectInterfaces = reflectClass.getInterfaces(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:660: warning: Class is a raw type. References to generic type Class should be parameterized Class clas = getReflectClass(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:756: warning: Class is a raw type. References to generic type Class should be parameterized Class[] paramTypes = method.getParameterTypes(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:768: warning: Constructor is a raw type. References to generic type Constructor should be parameterized public Method addMethod (java.lang.reflect.Constructor method) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:770: warning: Class is a raw type. References to generic type Class should be parameterized Class[] paramTypes = method.getParameterTypes(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:794: warning: Class is a raw type. References to generic type Class should be parameterized Class[] parameterClasses = method.getParameterTypes(); ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:816: warning: Filter is a raw type. References to generic type Filter should be parameterized public final int countMethods (Filter filter, int searchSupers) ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:818: warning: Vector is a raw type. References to generic type Vector should be parameterized Vector vec = new Vector(); ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:818: warning: Vector is a raw type. References to generic type Vector should be parameterized Vector vec = new Vector(); ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:819: warning: Type safety: The expression of type Vector needs unchecked conversion to conform to List getMethods(filter, searchSupers, vec); ^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:823: warning: Filter is a raw type. References to generic type Filter should be parameterized public Method[] getMethods (Filter filter, boolean searchSupers) ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:835: warning: Filter is a raw type. References to generic type Filter should be parameterized public Method[] getMethods (Filter filter, int searchSupers) ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:837: warning: Type safety: The expression of type Vector needs unchecked conversion to conform to Vector Vector vec = new Vector(); ^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:837: warning: Vector is a raw type. References to generic type Vector should be parameterized Vector vec = new Vector(); ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:856: warning: Filter is a raw type. References to generic type Filter should be parameterized public int getMethods (Filter filter, int searchSupers, ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:875: warning: Filter is a raw type. References to generic type Filter should be parameterized public int getMethods (Filter filter, int searchSupers, ^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:901: warning: Type safety: The method select(Object) belongs to the raw type Filter. References to generic type Filter should be parameterized if (filter.select(meth)) ^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:927: warning: Filter is a raw type. References to generic type Filter should be parameterized static class AbstractMethodFilter implements gnu.bytecode.Filter ^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1057: warning: Class is a raw type. References to generic type Class should be parameterized public synchronized void addMethods(Class clas) ^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1083: warning: Constructor is a raw type. References to generic type Constructor should be parameterized java.lang.reflect.Constructor[] cmethods; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1095: warning: Constructor is a raw type. References to generic type Constructor should be parameterized java.lang.reflect.Constructor method = cmethods[i]; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1105: warning: Vector is a raw type. References to generic type Vector should be parameterized java.util.Vector matches = new java.util.Vector(10); ^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1105: warning: Vector is a raw type. References to generic type Vector should be parameterized java.util.Vector matches = new java.util.Vector(10); ^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1118: warning: Type safety: The method addElement(Object) belongs to the raw type Vector. References to generic type Vector should be parameterized matches.addElement(method); ^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1449: warning: The static field ObjectType.EXISTING_CLASS should be accessed directly flags |= ClassType.EXISTING_CLASS; ^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1452: warning: The declared exception ObjectStreamException is not actually thrown by the method readResolve() from type ClassType public Object readResolve() throws ObjectStreamException ^^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/ClassType.java:1462: warning: Unnecessary cast from Type to Type Type found = (Type) map.get(name); ^^^^^^^^^^^^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/Field.java:82: warning: The value of the parameter classfile is not used void write(DataOutputStream dstr, ClassType classfile) ^^^^^^^^^ /usr/local/src/kawa/svn/gnu/bytecode/Label.java:37: warning: The value of the parameter code is not used public Label (CodeAttr code) ^^^^ /usr/local/src/kawa/svn/gnu/bytecode/Label.java:145: warning: Type safety: Unchecked cast from Object to ArrayList