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; /**
* @param project null when project doesn't exist yet (called from project wizard)
import static org.jetbrains.kotlin.idea.configuration.ConfigureKotlinInProjectUtilsKt.getConfiguratorByName; */
import static org.jetbrains.kotlin.idea.configuration.KotlinJsModuleConfigurator.NAME; class JSLibraryStdDescription(project: Project?) :
CustomLibraryDescriptorWithDeferredConfig(
public class JSLibraryStdDescription extends CustomLibraryDescriptorWithDeferredConfig { project,
public static final LibraryKind KOTLIN_JAVASCRIPT_KIND = LibraryKind.create("kotlin-js-stdlib"); KotlinJsModuleConfigurator.NAME,
public static final String LIBRARY_NAME = "KotlinJavaScript"; LIBRARY_NAME,
DIALOG_TITLE,
public static final String JAVA_SCRIPT_LIBRARY_CREATION = "JavaScript Library Creation"; LIBRARY_CAPTION,
public static final String DIALOG_TITLE = "Create Kotlin JavaScript Library"; KOTLIN_JAVASCRIPT_KIND,
public static final String LIBRARY_CAPTION = "Kotlin JavaScript Library"; SUITABLE_LIBRARY_KINDS) {
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)
*/
public JSLibraryStdDescription(@Nullable Project project) {
super(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