Search in sources :

Example 1 with TargetVersions

use of org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions in project intellij-community by JetBrains.

the class VersionMatcherRule method starting.

@Override
protected void starting(Description d) {
    final TargetVersions targetVersions = d.getAnnotation(TargetVersions.class);
    if (targetVersions == null)
        return;
    myMatcher = new CustomMatcher<String>("Gradle version '" + targetVersions.value() + "'") {

        @Override
        public boolean matches(Object item) {
            return item instanceof String && new VersionMatcher(GradleVersion.version(item.toString())).isVersionMatch(targetVersions);
        }
    };
}
Also used : TargetVersions(org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions) VersionMatcher(org.jetbrains.plugins.gradle.tooling.util.VersionMatcher)

Example 2 with TargetVersions

use of org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions in project intellij-community by JetBrains.

the class ModelBuildScriptClasspathBuilderImplTest method testModelBuildScriptClasspathBuilder.

@Test
@TargetVersions("2.0+")
public void testModelBuildScriptClasspathBuilder() throws Exception {
    DomainObjectSet<? extends IdeaModule> ideaModules = allModels.getIdeaProject().getModules();
    List<BuildScriptClasspathModel> ideaModule = ContainerUtil.mapNotNull(ideaModules, new Function<IdeaModule, BuildScriptClasspathModel>() {

        @Override
        public BuildScriptClasspathModel fun(IdeaModule module) {
            BuildScriptClasspathModel classpathModel = allModels.getExtraProject(module, BuildScriptClasspathModel.class);
            if (module.getName().equals("moduleWithAdditionalClasspath")) {
                assertNotNull(classpathModel);
                assertEquals(3, classpathModel.getClasspath().size());
                assertEquals("junit-4.11.jar", new File(classpathModel.getClasspath().getAt(0).getClasses().iterator().next()).getName());
                assertEquals("hamcrest-core-1.3.jar", new File(classpathModel.getClasspath().getAt(1).getClasses().iterator().next()).getName());
                assertEquals("someDep.jar", new File(classpathModel.getClasspath().getAt(2).getClasses().iterator().next()).getName());
            } else if (module.getName().equals("baseModule") || module.getName().equals("moduleWithInheritedClasspath")) {
                assertNotNull("Null build classpath for module: " + module.getName(), classpathModel);
                assertEquals("Wrong build classpath for module: " + module.getName(), 3, classpathModel.getClasspath().size());
                assertEquals("Wrong build classpath for module: " + module.getName(), "junit-4.11.jar", new File(classpathModel.getClasspath().getAt(0).getClasses().iterator().next()).getName());
                assertEquals("Wrong build classpath for module: " + module.getName(), "hamcrest-core-1.3.jar", new File(classpathModel.getClasspath().getAt(1).getClasses().iterator().next()).getName());
                assertEquals("Wrong build classpath for module: " + module.getName(), "inheritedDep.jar", new File(classpathModel.getClasspath().getAt(2).getClasses().iterator().next()).getName());
            } else if (module.getName().equals("moduleWithoutAdditionalClasspath") || module.getName().equals("testModelBuildScriptClasspathBuilder")) {
                assertNotNull("Wrong build classpath for module: " + module.getName(), classpathModel);
                assertEquals("Wrong build classpath for module: " + module.getName(), 2, classpathModel.getClasspath().size());
            } else {
                fail("Unexpected module found: " + module.getName());
            }
            return classpathModel;
        }
    });
    assertEquals(5, ideaModule.size());
}
Also used : IdeaModule(org.gradle.tooling.model.idea.IdeaModule) BuildScriptClasspathModel(org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel) File(java.io.File) TargetVersions(org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions) Test(org.junit.Test)

Example 3 with TargetVersions

use of org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions in project intellij-community by JetBrains.

the class GradleCompositeImportingTest method testCompositeBuildWithProjectNameDuplicates.

@Test
@TargetVersions("3.3+")
public void testCompositeBuildWithProjectNameDuplicates() throws Exception {
    IdeModifiableModelsProvider modelsProvider = new IdeModifiableModelsProviderImpl(myProject);
    modelsProvider.newModule(getProjectPath() + "/api.iml", StdModuleTypes.JAVA.getId());
    modelsProvider.newModule(getProjectPath() + "/my-app-api.iml", StdModuleTypes.JAVA.getId());
    modelsProvider.newModule(getProjectPath() + "/my-app-api_main.iml", StdModuleTypes.JAVA.getId());
    edt(() -> ApplicationManager.getApplication().runWriteAction(modelsProvider::commit));
    createSettingsFile("rootProject.name='adhoc'\n" + "\n" + "includeBuild '../my-app'\n" + "includeBuild '../my-utils'");
    createProjectSubFile("../my-app/settings.gradle", "rootProject.name = 'my-app'\n" + "include 'api'\n");
    createProjectSubFile("../my-app/build.gradle", "apply plugin: 'java'\n" + "group 'org.sample'\n" + "version '1.0'\n" + "\n" + "dependencies {\n" + "  compile 'org.sample:number-utils:1.0'\n" + "  compile 'org.sample:string-utils:1.0'\n" + "}\n" + "project(':api') {\n" + "  apply plugin: 'java'\n" + "  dependencies {\n" + "    compile 'commons-lang:commons-lang:2.6'\n" + "  }\n" + "}\n");
    createProjectSubFile("../my-utils/settings.gradle", "rootProject.name = 'my-utils'\n" + "include 'number-utils', 'string-utils', 'api'");
    createProjectSubFile("../my-utils/build.gradle", "subprojects {\n" + "  apply plugin: 'java'\n" + "\n" + "  group 'org.sample'\n" + "  version '1.0'\n" + "}\n" + "\n" + "project(':string-utils') {\n" + "  dependencies {\n" + "    compile 'org.apache.commons:commons-lang3:3.4'\n" + "  }\n" + "}\n" + "project(':api') {\n" + "  dependencies {\n" + "    compile 'junit:junit:4.11'\n" + "  }\n" + "}");
    importProject();
    assertModules("adhoc", "api", "api_main", "api_test", "my-app", "my-app_main", "my-app_test", "my-app-api", "my-app-api~1", "my-app-api_main", "my-utils", "string-utils", "string-utils_main", "string-utils_test", "number-utils", "number-utils_main", "number-utils_test", "my-utils-api", "my-utils-api_main", "my-utils-api_test");
    String[] emptyModules = new String[] { "api", "adhoc", "my-app", "my-app-api", "my-app-api_main", "my-app-api~1", "my-utils", "my-utils-api", "string-utils", "number-utils" };
    for (String rootModule : emptyModules) {
        assertModuleLibDeps(rootModule);
        assertModuleModuleDeps(rootModule);
    }
    assertModuleModuleDeps("my-app_main", "number-utils_main", "string-utils_main");
    assertModuleModuleDepScope("my-app_main", "number-utils_main", COMPILE);
    assertModuleModuleDepScope("my-app_main", "string-utils_main", COMPILE);
    assertModuleLibDepScope("my-app_main", "Gradle: org.apache.commons:commons-lang3:3.4", COMPILE);
    // my-app api project
    assertModuleModuleDeps("api_main");
    assertModuleLibDeps("api_main", "Gradle: commons-lang:commons-lang:2.6");
    assertModuleLibDepScope("api_main", "Gradle: commons-lang:commons-lang:2.6", COMPILE);
    assertModuleModuleDeps("my-utils-api_main");
    //assertModuleLibDeps("my-utils-api_main", "Gradle: junit:junit:4.11");
    assertModuleLibDepScope("my-utils-api_main", "Gradle: junit:junit:4.11", COMPILE);
//assertModuleLibDepScope("my-utils-api_main", "Gradle: org.hamcrest:hamcrest-core:1.3", COMPILE);
}
Also used : IdeModifiableModelsProviderImpl(com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl) IdeModifiableModelsProvider(com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider) TargetVersions(org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions) Test(org.junit.Test)

Example 4 with TargetVersions

use of org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions in project kotlin by JetBrains.

the class VersionMatcherRule method starting.

@Override
protected void starting(Description d) {
    final TargetVersions targetVersions = d.getAnnotation(TargetVersions.class);
    if (targetVersions == null)
        return;
    myMatcher = new CustomMatcher<String>("Gradle version '" + targetVersions.value() + "'") {

        @Override
        public boolean matches(Object item) {
            return item instanceof String && new VersionMatcher(GradleVersion.version(item.toString())).isVersionMatch(targetVersions);
        }
    };
}
Also used : TargetVersions(org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions) VersionMatcher(org.jetbrains.plugins.gradle.tooling.util.VersionMatcher)

Aggregations

TargetVersions (org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions)4 VersionMatcher (org.jetbrains.plugins.gradle.tooling.util.VersionMatcher)2 Test (org.junit.Test)2 IdeModifiableModelsProvider (com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider)1 IdeModifiableModelsProviderImpl (com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl)1 File (java.io.File)1 IdeaModule (org.gradle.tooling.model.idea.IdeaModule)1 BuildScriptClasspathModel (org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel)1