diff --git a/build.gradle b/build.gradle index 9e9079a81..0bcda28ae 100755 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ import java.nio.file.Paths import java.util.stream.Collectors buildscript { - apply from: "${project.rootProject.rootDir}/gradle/dependencies.gradle" + apply from: "dependencies.gradle" project.ext { compileSdk = 31 @@ -44,7 +44,6 @@ buildscript { subprojects { apply plugin: 'kotlin-kapt' - apply from: "${project.rootProject.rootDir}/gradle/dependencies.gradle" afterEvaluate { tasks.register ("checkTranslations", task -> { diff --git a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/compiler/JavaCompilerService.java b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/compiler/JavaCompilerService.java index 22143eae6..6b2519c25 100644 --- a/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/compiler/JavaCompilerService.java +++ b/lsp/java/src/main/java/com/itsaky/androidide/lsp/java/compiler/JavaCompilerService.java @@ -34,6 +34,7 @@ import com.itsaky.androidide.lsp.java.utils.Extractors; import com.itsaky.androidide.lsp.java.visitors.FindTypeDeclarations; import com.itsaky.androidide.models.Range; import com.itsaky.androidide.projects.FileManager; +import com.itsaky.androidide.projects.api.AndroidModule; import com.itsaky.androidide.projects.api.ModuleProject; import com.itsaky.androidide.projects.util.StringSearch; import com.itsaky.androidide.utils.BootClasspathProvider; @@ -79,18 +80,16 @@ public class JavaCompilerService implements CompilerProvider { public static JavaCompilerService NO_MODULE_COMPILER = new JavaCompilerService(null); protected final Set classPath; protected final Set classPathClasses; - protected final Set bootClasspathClasses = - BootClasspathProvider.getTopLevelClasses( - Collections.singleton(Environment.ANDROID_JAR.getAbsolutePath())); protected final List> diagnostics = new ArrayList<>(); protected final Map cachedModified = new HashMap<>(); protected final Cache> cacheFileImports = new Cache<>(); protected final SynchronizedTask synchronizedTask = new SynchronizedTask(); protected final SourceFileManager fileManager; protected final ModuleProject module; - public ReusableCompiler compiler = new ReusableCompiler(); - + protected Set bootClasspathClasses = + BootClasspathProvider.getTopLevelClasses( + Collections.singleton(Environment.ANDROID_JAR.getAbsolutePath())); private CompileBatch cachedCompile; private int changeDelta = 0; @@ -107,9 +106,21 @@ public class JavaCompilerService implements CompilerProvider { Collections.unmodifiableSet( module.getCompileClasspaths().stream().map(File::toPath).collect(Collectors.toSet())); this.classPathClasses = module.compileClasspathClasses.allClassNames(); + this.bootClasspathClasses = getBootclasspathClasses(); } } + private Set getBootclasspathClasses() { + if (module != null && module instanceof AndroidModule) { + final List classpaths = + ((AndroidModule) module) + .getBootClassPaths().stream().map(File::getPath).collect(Collectors.toList()); + BootClasspathProvider.update(classpaths); + this.bootClasspathClasses = BootClasspathProvider.getTopLevelClasses(classpaths); + } + return bootClasspathClasses; + } + public ModuleProject getModule() { return module; } diff --git a/tests/test-home/.androidide/init/model.jar b/tests/test-home/.androidide/init/model.jar index 939e5838f..126d0ae00 100644 Binary files a/tests/test-home/.androidide/init/model.jar and b/tests/test-home/.androidide/init/model.jar differ