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
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public NewLibraryConfiguration createNewLibrary(@NotNull JComponent parentComponent, @Nullable VirtualFile contextDirectory) {
|
public NewLibraryConfiguration createNewLibrary(@NotNull JComponent parentComponent, @Nullable VirtualFile contextDirectory) {
|
||||||
KotlinWithLibraryConfigurator configurator =
|
KotlinWithLibraryConfigurator configurator = getConfigurator();
|
||||||
(KotlinWithLibraryConfigurator) ConfigureKotlinInProjectUtilsKt.getConfiguratorByName(configuratorName);
|
|
||||||
assert configurator != null : "Configurator with name " + configuratorName + " should exists";
|
|
||||||
|
|
||||||
deferredCopyFileRequests = new DeferredCopyFileRequests(configurator);
|
deferredCopyFileRequests = new DeferredCopyFileRequests(configurator);
|
||||||
|
|
||||||
@@ -215,6 +213,21 @@ public abstract class CustomLibraryDescriptorWithDeferredConfig extends CustomLi
|
|||||||
return createConfiguration(Arrays.asList(runtimeJar, reflectJar), runtimeSrcJar);
|
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
|
@NotNull
|
||||||
protected NewLibraryConfiguration createConfiguration(@NotNull final List<File> libraryFiles, @NotNull final File librarySrcFile) {
|
protected NewLibraryConfiguration createConfiguration(@NotNull final List<File> libraryFiles, @NotNull final File librarySrcFile) {
|
||||||
return new NewLibraryConfiguration(libraryName, null, new LibraryVersionProperties()) {
|
return new NewLibraryConfiguration(libraryName, null, new LibraryVersionProperties()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user