njit-jerse / specimin

SPECIfication MINimizer. A different kind of slicer for Java.
MIT License
0 stars 5 forks source link

error: package org.checkerframework.checker.nullness.qual does not exist #304

Closed jonathan-m-phillips closed 2 weeks ago

jonathan-m-phillips commented 2 weeks ago

I received this error, error: package org.checkerframework.checker.nullness.qual does not exist, 493 times when running ASHE on the CF's javacutil directory.

The following target successfully minimized: --args=--outputDirectory "my/temp/dir" --root "/my/root/checker-framework/javacutil/src" --targetFile "main/java/org/checkerframework/javacutil/AnnotationUtils.java" --targetMethod "org.checkerframework.javacutil.AnnotationUtils#annotationValueContainsToString(List<? extends AnnotationValue>, String)" --jarPath "/path/to/checker-qual.jar"

javac /my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java

/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:5: error: package org.checkerframework.checker.interning.qual does not exist
import org.checkerframework.checker.interning.qual.CompareToMethod;
                                                  ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:6: error: package org.checkerframework.checker.interning.qual does not exist
import org.checkerframework.checker.interning.qual.EqualsMethod;
                                                  ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:7: error: package org.checkerframework.checker.interning.qual does not exist
import org.checkerframework.checker.interning.qual.Interned;
                                                  ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:8: error: package org.checkerframework.checker.nullness.qual does not exist
import org.checkerframework.checker.nullness.qual.NonNull;
                                                 ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:9: error: package org.checkerframework.checker.nullness.qual does not exist
import org.checkerframework.checker.nullness.qual.Nullable;
                                                 ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:10: error: package org.checkerframework.checker.signature.qual does not exist
import org.checkerframework.checker.signature.qual.BinaryName;
                                                  ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:11: error: package org.checkerframework.checker.signature.qual does not exist
import org.checkerframework.checker.signature.qual.CanonicalName;
                                                  ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:12: error: package org.checkerframework.dataflow.qual does not exist
import org.checkerframework.dataflow.qual.Pure;
                                         ^
/my/temp/dir/main/java/org/checkerframework/javacutil/AnnotationUtils.java:13: error: package org.checkerframework.dataflow.qual does not exist
import org.checkerframework.dataflow.qual.SideEffectFree;
                                         ^
9 errors
kelloggm commented 2 weeks ago

This is caused by one of the same issues that I mentioned with #303:

Specimin assumes that the jar files in the --jarPath argument will also be on the classpath when compiling the output. So, add -cp "/path/to/checker-qual.jar" when you try to compile Specimin's output. This will resolve two of the three errors (the one about the package not existing and the symbol not found one).