8054717: SJavac should track changes in the public apis of classpath classes!

Added functionality for tracking changes in public APIs of classpath classes.

Reviewed-by: jlahoda, erikj
This commit is contained in:
Andreas Lundblad 2015-06-09 15:57:45 +02:00
parent 66dcce4334
commit 3a31593507
88 changed files with 2917 additions and 1990 deletions

View file

@ -51,9 +51,10 @@ public class IncCompileDropClasses extends SJavacTester {
ToolBox tb = new ToolBox();
void test() throws Exception {
Files.createDirectory(GENSRC);
Files.createDirectory(BIN);
Files.createDirectory(HEADERS);
clean(TEST_ROOT);
Files.createDirectories(GENSRC);
Files.createDirectories(BIN);
Files.createDirectories(HEADERS);
initialCompile();
incrementalCompileDroppingClasses();
@ -68,15 +69,19 @@ public class IncCompileDropClasses extends SJavacTester {
System.out.println("\nIn incrementalCompileDroppingClasses() ");
System.out.println("Testing that deleting AA.java deletes all generated inner class including AA.class");
removeFrom(GENSRC, "alfa/omega/AA.java");
compile("gensrc", "-d", "bin", "-h", "headers", "-j", "1",
SERVER_ARG, "--log=debug");
compile(GENSRC.toString(),
"-d", BIN.toString(),
"-h", HEADERS.toString(),
"-j", "1",
SERVER_ARG,
"--log=debug");
Map<String,Long> new_bin_state = collectState(BIN);
verifyThatFilesHaveBeenRemoved(previous_bin_state, new_bin_state,
"bin/alfa/omega/AA$1.class",
"bin/alfa/omega/AA$AAAA.class",
"bin/alfa/omega/AA$AAA.class",
"bin/alfa/omega/AAAAA.class",
"bin/alfa/omega/AA.class");
BIN + "/alfa/omega/AA$1.class",
BIN + "/alfa/omega/AA$AAAA.class",
BIN + "/alfa/omega/AA$AAA.class",
BIN + "/alfa/omega/AAAAA.class",
BIN + "/alfa/omega/AA.class");
previous_bin_state = new_bin_state;
Map<String,Long> new_headers_state = collectState(HEADERS);