--- /dev/null
+/*
+ * 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);
+ }
+ };
+ }
+}
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.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.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.junit.rules.TestWatcher;
-import org.junit.runner.Description;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
}
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);
- }
- };
- }
- }
}
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 static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assume.assumeThat;
/**
* @author Vladislav.Soroka
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();
+ @Rule public VersionMatcherRule versionMatcherRule = new VersionMatcherRule();
public AbstractModelBuilderTest(@NotNull String gradleVersion) {
this.gradleVersion = gradleVersion;
@Before
public void setUp() throws Exception {
+ assumeThat(gradleVersion, versionMatcherRule.getMatcher());
+
ensureTempDirCreated();
String methodName = name.getMethodName();