support new IDEA API to allow configuring a Java/JS runtime without prompting the user

This commit is contained in:
Dmitry Jemerov
2016-02-20 17:15:50 +01:00
parent 4ea05354c7
commit d994e442da
@@ -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()) {