[BT] Implement classpath snapshotting in the Build Tools API

#KT-57565 In Progress
This commit is contained in:
Alexander.Likhachev
2023-07-31 13:52:38 +02:00
committed by Space Team
parent 329fd6be45
commit 83c53b7ce3
10 changed files with 213 additions and 13 deletions
@@ -9,7 +9,7 @@ public final class org/jetbrains/kotlin/buildtools/api/CompilationResult : java/
public abstract interface class org/jetbrains/kotlin/buildtools/api/CompilationService {
public static final field Companion Lorg/jetbrains/kotlin/buildtools/api/CompilationService$Companion;
public abstract fun calculateClasspathSnapshot (Ljava/io/File;)Lorg/jetbrains/kotlin/buildtools/api/jvm/ClasspathEntrySnapshot;
public abstract fun calculateClasspathSnapshot (Ljava/io/File;Lorg/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshotGranularity;)Lorg/jetbrains/kotlin/buildtools/api/jvm/ClasspathEntrySnapshot;
public abstract fun compileJvm (Lorg/jetbrains/kotlin/buildtools/api/ProjectId;Lorg/jetbrains/kotlin/buildtools/api/CompilerExecutionStrategyConfiguration;Lorg/jetbrains/kotlin/buildtools/api/jvm/JvmCompilationConfiguration;Ljava/util/List;Ljava/util/List;)Lorg/jetbrains/kotlin/buildtools/api/CompilationResult;
public abstract fun finishProjectCompilation (Lorg/jetbrains/kotlin/buildtools/api/ProjectId;)V
public static fun loadImplementation (Ljava/lang/ClassLoader;)Lorg/jetbrains/kotlin/buildtools/api/CompilationService;
@@ -82,6 +82,10 @@ public final class org/jetbrains/kotlin/buildtools/api/SourcesChanges$Unknown :
public static final field INSTANCE Lorg/jetbrains/kotlin/buildtools/api/SourcesChanges$Unknown;
}
public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/AccessibleClassSnapshot : org/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshot {
public abstract fun getClassAbiHash ()J
}
public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshot {
}
@@ -93,7 +97,7 @@ public final class org/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshotGranular
}
public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/ClasspathEntrySnapshot {
public abstract fun getClassSnapshots ()Ljava/util/LinkedHashMap;
public abstract fun getClassSnapshots ()Ljava/util/Map;
public abstract fun saveSnapshot (Ljava/io/File;)V
}
@@ -115,6 +119,9 @@ public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/Classpat
public abstract fun useProjectDir (Ljava/io/File;)Lorg/jetbrains/kotlin/buildtools/api/jvm/ClasspathSnapshotBasedIncrementalJvmCompilationConfiguration;
}
public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/InaccessibleClassSnapshot : org/jetbrains/kotlin/buildtools/api/jvm/ClassSnapshot {
}
public abstract interface class org/jetbrains/kotlin/buildtools/api/jvm/IncrementalCompilationApproachParameters {
}