KotlinJdkAndLibraryProjectDescriptor: J2K

This commit is contained in:
Dmitry Jemerov
2017-03-22 17:38:22 +01:00
parent 1435f11a9f
commit 036b87a001
2 changed files with 27 additions and 31 deletions
@@ -14,46 +14,42 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.kotlin.idea.test; package org.jetbrains.kotlin.idea.test
import com.intellij.openapi.module.Module; import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleType; import com.intellij.openapi.module.ModuleType
import com.intellij.openapi.module.StdModuleTypes; import com.intellij.openapi.module.StdModuleTypes
import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.Sdk
import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.OrderRootType
import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor; import com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor
import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VfsUtil
import org.jetbrains.annotations.NotNull;
import java.io.File; import java.io.File
public class KotlinJdkAndLibraryProjectDescriptor extends KotlinLightProjectDescriptor { open class KotlinJdkAndLibraryProjectDescriptor(private val libraryFile: File) : KotlinLightProjectDescriptor() {
public static final String LIBRARY_NAME = "myLibrary";
private final File libraryFile; init {
assert(libraryFile.exists()) { "Library file doesn't exist: " + libraryFile.absolutePath }
public KotlinJdkAndLibraryProjectDescriptor(File libraryFile) {
assert libraryFile.exists() : "Library file doesn't exist: " + libraryFile.getAbsolutePath();
this.libraryFile = libraryFile;
} }
@Override override fun getModuleType(): ModuleType<*> {
public ModuleType getModuleType() { return StdModuleTypes.JAVA
return StdModuleTypes.JAVA;
} }
@Override override fun getSdk(): Sdk? {
public Sdk getSdk() { return PluginTestCaseBase.mockJdk()
return PluginTestCaseBase.mockJdk();
} }
@Override override fun configureModule(module: Module, model: ModifiableRootModel) {
public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { val editor = NewLibraryEditor()
NewLibraryEditor editor = new NewLibraryEditor(); editor.name = LIBRARY_NAME
editor.setName(LIBRARY_NAME); editor.addRoot(VfsUtil.getUrlForLibraryRoot(libraryFile), OrderRootType.CLASSES)
editor.addRoot(VfsUtil.getUrlForLibraryRoot(libraryFile), OrderRootType.CLASSES);
ConfigLibraryUtil.addLibrary(editor, model); ConfigLibraryUtil.addLibrary(editor, model)
}
companion object {
val LIBRARY_NAME = "myLibrary"
} }
} }
@@ -32,7 +32,7 @@ public class ProjectDescriptorWithStdlibSources extends KotlinWithJdkAndRuntimeL
public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) { public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model) {
super.configureModule(module, model); super.configureModule(module, model);
Library library = model.getModuleLibraryTable().getLibraryByName(LIBRARY_NAME); Library library = model.getModuleLibraryTable().getLibraryByName(Companion.getLIBRARY_NAME());
assert library != null; assert library != null;
Library.ModifiableModel modifiableModel = library.getModifiableModel(); Library.ModifiableModel modifiableModel = library.getModifiableModel();
modifiableModel.addRoot(VfsUtil.getUrlForLibraryRoot(new File("libraries/stdlib/src")), OrderRootType.SOURCES); modifiableModel.addRoot(VfsUtil.getUrlForLibraryRoot(new File("libraries/stdlib/src")), OrderRootType.SOURCES);