JSLibraryStdDescription: J2K

This commit is contained in:
Dmitry Jemerov
2017-07-10 15:17:56 +02:00
parent 5f3366d60b
commit 2d1ac69986
2 changed files with 30 additions and 33 deletions
@@ -14,42 +14,39 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.framework; package org.jetbrains.kotlin.idea.framework
import com.google.common.collect.Sets; import com.intellij.openapi.project.Project
import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.libraries.LibraryKind
import com.intellij.openapi.roots.libraries.LibraryKind; import com.intellij.openapi.roots.libraries.NewLibraryConfiguration
import com.intellij.openapi.roots.libraries.NewLibraryConfiguration; import org.jetbrains.annotations.TestOnly
import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.idea.configuration.KotlinJsModuleConfigurator
import org.jetbrains.annotations.TestOnly;
import org.jetbrains.kotlin.idea.configuration.KotlinJsModuleConfigurator;
import java.util.Set;
import static org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt.getConfiguratorByName;
import static org.jetbrains.kotlin.idea.configuration.KotlinJsModuleConfigurator.NAME;
public class JSLibraryStdDescription extends CustomLibraryDescriptorWithDeferredConfig {
public static final LibraryKind KOTLIN_JAVASCRIPT_KIND = LibraryKind.create("kotlin-js-stdlib");
public static final String LIBRARY_NAME = "KotlinJavaScript";
public static final String JAVA_SCRIPT_LIBRARY_CREATION = "JavaScript Library Creation";
public static final String DIALOG_TITLE = "Create Kotlin JavaScript Library";
public static final String LIBRARY_CAPTION = "Kotlin JavaScript Library";
public static final Set<LibraryKind> SUITABLE_LIBRARY_KINDS = Sets.newHashSet(KOTLIN_JAVASCRIPT_KIND);
/** /**
* @param project null when project doesn't exist yet (called from project wizard) * @param project null when project doesn't exist yet (called from project wizard)
*/ */
public JSLibraryStdDescription(@Nullable Project project) { class JSLibraryStdDescription(project: Project?) :
super(project, KotlinJsModuleConfigurator.NAME, LIBRARY_NAME, DIALOG_TITLE, LIBRARY_CAPTION, KOTLIN_JAVASCRIPT_KIND, SUITABLE_LIBRARY_KINDS); CustomLibraryDescriptorWithDeferredConfig(
} project,
KotlinJsModuleConfigurator.NAME,
LIBRARY_NAME,
DIALOG_TITLE,
LIBRARY_CAPTION,
KOTLIN_JAVASCRIPT_KIND,
SUITABLE_LIBRARY_KINDS) {
@TestOnly @TestOnly
public NewLibraryConfiguration createNewLibraryForTests() { fun createNewLibraryForTests(): NewLibraryConfiguration {
KotlinJsModuleConfigurator configurator = (KotlinJsModuleConfigurator) getConfiguratorByName(NAME); return createConfigurationFromPluginPaths()
assert configurator != null : "Cannot find configurator with name " + NAME; }
return createConfigurationFromPluginPaths(); companion object {
val KOTLIN_JAVASCRIPT_KIND = LibraryKind.create("kotlin-js-stdlib")
val LIBRARY_NAME = "KotlinJavaScript"
val JAVA_SCRIPT_LIBRARY_CREATION = "JavaScript Library Creation"
val DIALOG_TITLE = "Create Kotlin JavaScript Library"
val LIBRARY_CAPTION = "Kotlin JavaScript Library"
val SUITABLE_LIBRARY_KINDS = setOf(KOTLIN_JAVASCRIPT_KIND)
} }
} }
@@ -32,7 +32,7 @@ public class JSLibraryStdPresentationProvider extends LibraryPresentationProvide
} }
protected JSLibraryStdPresentationProvider() { protected JSLibraryStdPresentationProvider() {
super(JSLibraryStdDescription.KOTLIN_JAVASCRIPT_KIND); super(JSLibraryStdDescription.Companion.getKOTLIN_JAVASCRIPT_KIND());
} }
@Nullable @Nullable