package com.redhat.ceylon.test.eclipse.plugin.util; import static com.redhat.ceylon.test.eclipse.plugin.CeylonTestPlugin.CEYLON_TEST_MODULE_DEFAULT_VERSION; import static com.redhat.ceylon.test.eclipse.plugin.CeylonTestPlugin.CEYLON_TEST_MODULE_NAME; import static com.redhat.ceylon.eclipse.java2ceylon.Java2CeylonProxies.modelJ2C; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import com.redhat.ceylon.cmr.api.ModuleQuery.Type; import com.redhat.ceylon.cmr.api.ModuleVersionQuery; import com.redhat.ceylon.cmr.api.ModuleVersionResult; import com.redhat.ceylon.cmr.api.RepositoryManager; import com.redhat.ceylon.eclipse.code.imports.ModuleImportUtil; import com.redhat.ceylon.eclipse.core.builder.CeylonBuilder; import com.redhat.ceylon.ide.common.model.BaseCeylonProject; import com.redhat.ceylon.model.typechecker.model.Module; public class AddCeylonTestImport { public static void addCeylonTestImport(IProject project, Module module) throws CoreException { ModuleImportUtil.addModuleImport(project, module, CEYLON_TEST_MODULE_NAME, determineCeylonTestVersion(project)); } private static String determineCeylonTestVersion(IProject project) { ModuleVersionResult result = null; BaseCeylonProject ceylonProject = modelJ2C().ceylonModel().getProject(project); if (ceylonProject != null) { RepositoryManager repositoryManager = ceylonProject.getRepositoryManager(); ModuleVersionQuery query = new ModuleVersionQuery(CEYLON_TEST_MODULE_NAME, null, Type.JVM); result = repositoryManager.completeVersions(query); } if (result != null && result.getVersions() != null && result.getVersions().size() > 0) { return result.getVersions().lastEntry().getKey(); } else { return CEYLON_TEST_MODULE_DEFAULT_VERSION; } } }