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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
