support new IDEA API to allow configuring a Java/JS runtime without prompting the user
This commit is contained in:
+16
-3
@@ -162,9 +162,7 @@ public abstract class CustomLibraryDescriptorWithDeferredConfig extends CustomLi
|
||||
@Nullable
|
||||
@Override
|
||||
public NewLibraryConfiguration createNewLibrary(@NotNull JComponent parentComponent, @Nullable VirtualFile contextDirectory) {
|
||||
KotlinWithLibraryConfigurator configurator =
|
||||
(KotlinWithLibraryConfigurator) ConfigureKotlinInProjectUtilsKt.getConfiguratorByName(configuratorName);
|
||||
assert configurator != null : "Configurator with name " + configuratorName + " should exists";
|
||||
KotlinWithLibraryConfigurator configurator = getConfigurator();
|
||||
|
||||
deferredCopyFileRequests = new DeferredCopyFileRequests(configurator);
|
||||
|
||||
@@ -215,6 +213,21 @@ public abstract class CustomLibraryDescriptorWithDeferredConfig extends CustomLi
|
||||
return createConfiguration(Arrays.asList(runtimeJar, reflectJar), runtimeSrcJar);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private KotlinWithLibraryConfigurator getConfigurator() {
|
||||
KotlinWithLibraryConfigurator configurator =
|
||||
(KotlinWithLibraryConfigurator) ConfigureKotlinInProjectUtilsKt.getConfiguratorByName(configuratorName);
|
||||
assert configurator != null : "Configurator with name " + configuratorName + " should exists";
|
||||
return configurator;
|
||||
}
|
||||
|
||||
// Implements an API added in IDEA 16
|
||||
@Nullable
|
||||
public NewLibraryConfiguration createNewLibraryWithDefaultSettings(@Nullable VirtualFile contextDirectory) {
|
||||
RuntimeLibraryFiles files = getConfigurator().getExistingJarFiles();
|
||||
return createConfiguration(Arrays.asList(files.getRuntimeJar(), files.getReflectJar()), files.getRuntimeSourcesJar());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected NewLibraryConfiguration createConfiguration(@NotNull final List<File> libraryFiles, @NotNull final File librarySrcFile) {
|
||||
return new NewLibraryConfiguration(libraryName, null, new LibraryVersionProperties()) {
|
||||
|
||||
Reference in New Issue
Block a user