1 package org.jetbrains.plugins.gradle.testutil
3 import com.intellij.pom.java.LanguageLevel
4 import com.intellij.openapi.module.Module
6 import com.intellij.openapi.roots.libraries.Library
7 import com.intellij.openapi.roots.LibraryOrderEntry
9 import com.intellij.openapi.project.Project
10 import com.intellij.openapi.util.IconLoader
13 * @author Denis Zhdanov
14 * @since 1/25/12 3:09 PM
16 class IntellijProjectBuilder extends AbstractProjectBuilder {
19 def project = projectStub as Project
20 def platformFacade = [
21 getModules: { modules },
22 getOrderEntries: { dependencies[it] },
23 getProjectIcon: { IconLoader.getIcon("/nodes/ideaProject.png") }
27 protected createProject(String name, LanguageLevel languageLevel) {
28 projectStub.getName = { name }
29 platformFacade.getLanguageLevel = { languageLevel }
34 protected createModule(String name) {
35 [ getName: { name } ] as Module
39 protected createLibrary(String name, Map paths) {
40 [ getName: { name }, getPresentableName: { name } ] as Library
44 protected createLibraryDependency(module, library) {
46 def result = stub as LibraryOrderEntry
47 stub.accept = { policy, defaultValue -> policy.visitLibraryOrderEntry(result, defaultValue) }
48 stub.getLibraryName = { library.name }