Log Message
fix cvs disabled bug
Modified Paths
- trunk/hudson/plugins/view-job-filters/pom.xml
- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/CvsValuesProvider.java
- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/GitValuesProvider.java
- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmFilterHelper.java
- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmValuesProvider.java
- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/SvnValuesProvider.java
- trunk/hudson/plugins/view-job-filters/src/test/java/hudson/views/RegExJobFilterTest.java
Added Paths
Diff
Modified: trunk/hudson/plugins/view-job-filters/pom.xml (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/pom.xml 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/pom.xml 2013-08-13 23:32:18 UTC (rev 40968)
@@ -36,7 +36,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>cvs</artifactId>
- <version>1.4</version>
+ <version>2.9</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
Added: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/AbstractScmValuesProvider.java (0 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/AbstractScmValuesProvider.java (rev 0)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/AbstractScmValuesProvider.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -0,0 +1,24 @@
+package hudson.views;
+
+public abstract class AbstractScmValuesProvider implements ScmValuesProvider {
+
+ private boolean checked = false;
+ private boolean loaded;
+
+ @Override
+ public boolean checkLoaded() {
+ if (!checked) {
+ try {
+ getPluginTesterClass();
+ loaded = true;
+ } catch (Throwable t) {
+ loaded = false;
+ }
+ checked = true;
+ return loaded;
+ } else {
+ return loaded;
+ }
+ }
+
+}
Property changes on: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/AbstractScmValuesProvider.java
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/CvsValuesProvider.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/CvsValuesProvider.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/CvsValuesProvider.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -1,12 +1,15 @@
package hudson.views;
import hudson.scm.CVSSCM;
+import hudson.scm.CvsModule;
+import hudson.scm.CvsRepository;
+import hudson.scm.CvsRepositoryItem;
import hudson.scm.SCM;
import java.util.ArrayList;
import java.util.List;
-public class CvsValuesProvider implements ScmValuesProvider {
+public class CvsValuesProvider extends AbstractScmValuesProvider {
@SuppressWarnings("unchecked")
public Class getPluginTesterClass() {
@@ -19,9 +22,27 @@
}
CVSSCM cvs = (CVSSCM) scm;
List<String> values = new ArrayList<String>();
- values.add(cvs.getCvsRoot());
- values.add(cvs.getAllModules());
- values.add(cvs.getBranch());
+ CvsRepository[] repos = cvs.getRepositories();
+ if (repos != null) {
+ for (CvsRepository repo: repos) {
+ values.add(repo.getCvsRoot());
+ CvsRepositoryItem[] items = repo.getRepositoryItems();
+ if (items != null) {
+ for (CvsRepositoryItem item: items) {
+ values.add(item.getLocation().getLocationName());
+ CvsModule[] modules = item.getModules();
+ if (modules != null) {
+ for (CvsModule module: modules) {
+ values.add(module.getCheckoutName());
+ values.add(module.getLocalName());
+ values.add(module.getProjectsetFileName());
+ values.add(module.getRemoteName());
+ }
+ }
+ }
+ }
+ }
+ }
return values;
}
Modified: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/GitValuesProvider.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/GitValuesProvider.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/GitValuesProvider.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -7,6 +7,11 @@
public class GitValuesProvider extends AbstractGitValuesProvider {
+ @Override
+ public boolean checkLoaded() {
+ return true;
+ }
+
@SuppressWarnings("unchecked")
public Class getPluginTesterClass() {
return URIish.class;
Modified: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmFilterHelper.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmFilterHelper.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmFilterHelper.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -16,9 +16,11 @@
return values;
}
for (ScmValuesProvider matcher: matchers) {
- List<String> some = matcher.getValues(scm);
- if (some != null) {
- values.addAll(some);
+ if (matcher.checkLoaded()) {
+ List<String> some = matcher.getValues(scm);
+ if (some != null) {
+ values.addAll(some);
+ }
}
}
return values;
Modified: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmValuesProvider.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmValuesProvider.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/ScmValuesProvider.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -8,5 +8,11 @@
public interface ScmValuesProvider extends PluginHelperTestable {
List<String> getValues(SCM scm);
+
+ /**
+ * svn and cvs can be disabled, although they are part of the core. For this reason,
+ * we want to be able to check for this condition.
+ */
+ boolean checkLoaded();
}
Modified: trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/SvnValuesProvider.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/SvnValuesProvider.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/main/java/hudson/views/SvnValuesProvider.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -7,7 +7,7 @@
import java.util.ArrayList;
import java.util.List;
-public class SvnValuesProvider implements ScmValuesProvider {
+public class SvnValuesProvider extends AbstractScmValuesProvider {
@SuppressWarnings("unchecked")
public Class getPluginTesterClass() {
Modified: trunk/hudson/plugins/view-job-filters/src/test/java/hudson/views/RegExJobFilterTest.java (40967 => 40968)
--- trunk/hudson/plugins/view-job-filters/src/test/java/hudson/views/RegExJobFilterTest.java 2013-08-11 01:43:27 UTC (rev 40967)
+++ trunk/hudson/plugins/view-job-filters/src/test/java/hudson/views/RegExJobFilterTest.java 2013-08-13 23:32:18 UTC (rev 40968)
@@ -20,6 +20,7 @@
import hudson.model.queue.CauseOfBlockage;
import hudson.model.queue.SubTask;
import hudson.scm.CVSSCM;
+import hudson.scm.CvsRepository;
import hudson.scm.PollingResult;
import hudson.scm.SCM;
import hudson.security.Permission;
@@ -122,7 +123,7 @@
}
private void doTestScmRegEx(String root, String modules, String branch, boolean expectMatch) throws IOException {
RegExJobFilter filter = new RegExJobFilter(".*my-office.*", IncludeExcludeType.includeMatched.toString(), RegExJobFilter.ValueType.SCM.toString());
- CVSSCM scm = new CVSSCM(root, modules, branch, null, false, false, false, null);
+ CVSSCM scm = new CVSSCM(root, modules, branch, "cvsRsh", false, false, false, false, "excludedRegions", null);
TestItem item = new TestItem("name", scm);
boolean matched = filter.matches(item);
assertEquals(expectMatch, matched);
You received this message because you are subscribed to the Google Groups "Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.