grails: skip grails-gradle test for Gradle newer than 2.1
authorVladislav.Soroka <Vladislav.Soroka@jetbrains.com>
Thu, 27 Nov 2014 10:24:23 +0000 (13:24 +0300)
committerVladislav.Soroka <Vladislav.Soroka@jetbrains.com>
Mon, 8 Dec 2014 09:00:09 +0000 (12:00 +0300)
plugins/gradle/testSources/org/jetbrains/plugins/gradle/VersionMatcherRule.java [new file with mode: 0644]
plugins/gradle/testSources/org/jetbrains/plugins/gradle/importing/GradleImportingTestCase.java
plugins/gradle/tooling-extension-impl/testSources/org/jetbrains/plugins/gradle/tooling/builder/AbstractModelBuilderTest.java

diff --git a/plugins/gradle/testSources/org/jetbrains/plugins/gradle/VersionMatcherRule.java b/plugins/gradle/testSources/org/jetbrains/plugins/gradle/VersionMatcherRule.java
new file mode 100644 (file)
index 0000000..e2552b0
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.plugins.gradle;
+
+import org.gradle.util.GradleVersion;
+import org.hamcrest.CoreMatchers;
+import org.hamcrest.CustomMatcher;
+import org.hamcrest.Matcher;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
+import org.jetbrains.plugins.gradle.tooling.util.VersionMatcher;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
+
+/**
+* @author Vladislav.Soroka
+* @since 11/27/2014
+*/
+public class VersionMatcherRule extends TestWatcher {
+
+  @Nullable
+  private CustomMatcher myMatcher;
+
+  @NotNull
+  public Matcher getMatcher() {
+    return myMatcher != null ? myMatcher : CoreMatchers.anything();
+  }
+
+  @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);
+      }
+    };
+  }
+}
index 034dcedda347b247d6da91adfd42d9ad7d2017ba..2ca987e8ebef8c6b4f49c9a00455ce899fecb322 100644 (file)
@@ -29,23 +29,16 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import org.gradle.util.GradleVersion;
 import org.gradle.wrapper.GradleWrapperMain;
 import com.intellij.openapi.vfs.VirtualFile;
 import org.gradle.util.GradleVersion;
 import org.gradle.wrapper.GradleWrapperMain;
-import org.hamcrest.CoreMatchers;
-import org.hamcrest.CustomMatcher;
-import org.hamcrest.Matcher;
 import org.intellij.lang.annotations.Language;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.intellij.lang.annotations.Language;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jetbrains.plugins.gradle.VersionMatcherRule;
 import org.jetbrains.plugins.gradle.settings.DistributionType;
 import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
 import org.jetbrains.plugins.gradle.settings.GradleSettings;
 import org.jetbrains.plugins.gradle.settings.DistributionType;
 import org.jetbrains.plugins.gradle.settings.GradleProjectSettings;
 import org.jetbrains.plugins.gradle.settings.GradleSettings;
-import org.jetbrains.plugins.gradle.tooling.annotation.TargetVersions;
-import org.jetbrains.plugins.gradle.tooling.util.VersionMatcher;
 import org.jetbrains.plugins.gradle.util.GradleConstants;
 import org.junit.Rule;
 import org.junit.rules.TestName;
 import org.jetbrains.plugins.gradle.util.GradleConstants;
 import org.junit.Rule;
 import org.junit.rules.TestName;
-import org.junit.rules.TestWatcher;
-import org.junit.runner.Description;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
@@ -182,28 +175,4 @@ public abstract class GradleImportingTestCase extends ExternalSystemImportingTes
     }
     return new File(location.getPath());
   }
     }
     return new File(location.getPath());
   }
-
-  private static class VersionMatcherRule extends TestWatcher {
-
-    @Nullable
-    private CustomMatcher myMatcher;
-
-    @NotNull
-    public Matcher getMatcher() {
-      return myMatcher != null ? myMatcher : CoreMatchers.anything();
-    }
-
-    @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);
-        }
-      };
-    }
-  }
 }
 }
index 7a2e28d9cb9a444a8f143ee19ac091e77a827d3f..4ed63cd009ac5d3d91d5156d0d9f673216a0b90d 100644 (file)
@@ -29,6 +29,7 @@ import org.gradle.tooling.model.DomainObjectSet;
 import org.gradle.tooling.model.idea.IdeaModule;
 import org.gradle.util.GradleVersion;
 import org.jetbrains.annotations.NotNull;
 import org.gradle.tooling.model.idea.IdeaModule;
 import org.gradle.util.GradleVersion;
 import org.jetbrains.annotations.NotNull;
+import org.jetbrains.plugins.gradle.VersionMatcherRule;
 import org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel;
 import org.jetbrains.plugins.gradle.model.ClasspathEntryModel;
 import org.jetbrains.plugins.gradle.model.ProjectImportAction;
 import org.jetbrains.plugins.gradle.model.BuildScriptClasspathModel;
 import org.jetbrains.plugins.gradle.model.ClasspathEntryModel;
 import org.jetbrains.plugins.gradle.model.ProjectImportAction;
@@ -52,6 +53,7 @@ import java.util.regex.Pattern;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assume.assumeThat;
 
 /**
  * @author Vladislav.Soroka
 
 /**
  * @author Vladislav.Soroka
@@ -70,11 +72,12 @@ public abstract class AbstractModelBuilderTest {
   private static File ourTempDir;
 
   @NotNull
   private static File ourTempDir;
 
   @NotNull
-  private final String gradleVersion;
+  protected final String gradleVersion;
   protected File testDir;
   protected ProjectImportAction.AllModels allModels;
 
   @Rule public TestName name = new TestName();
   protected File testDir;
   protected ProjectImportAction.AllModels allModels;
 
   @Rule public TestName name = new TestName();
+  @Rule public VersionMatcherRule versionMatcherRule = new VersionMatcherRule();
 
   public AbstractModelBuilderTest(@NotNull String gradleVersion) {
     this.gradleVersion = gradleVersion;
 
   public AbstractModelBuilderTest(@NotNull String gradleVersion) {
     this.gradleVersion = gradleVersion;
@@ -88,6 +91,8 @@ public abstract class AbstractModelBuilderTest {
 
   @Before
   public void setUp() throws Exception {
 
   @Before
   public void setUp() throws Exception {
+    assumeThat(gradleVersion, versionMatcherRule.getMatcher());
+
     ensureTempDirCreated();
 
     String methodName = name.getMethodName();
     ensureTempDirCreated();
 
     String methodName = name.getMethodName();