Index: pom.xml
===================================================================
--- pom.xml (revision 37309)
+++ pom.xml (working copy)
@@ -41,5 +41,11 @@
jdk15
test
+
+ org.jvnet.hudson.plugins
+ template-project
+ 1.2
+ true
+
Index: src/main/java/hudson/plugins/svn_tag/SvnTagPlugin.java
===================================================================
--- src/main/java/hudson/plugins/svn_tag/SvnTagPlugin.java (revision 37309)
+++ src/main/java/hudson/plugins/svn_tag/SvnTagPlugin.java (working copy)
@@ -3,8 +3,27 @@
import groovy.lang.Binding;
import groovy.lang.GroovyShell;
import hudson.Launcher;
-import hudson.model.*;
+import hudson.model.BuildListener;
+import hudson.model.Result;
+import hudson.model.AbstractBuild;
+import hudson.model.AbstractProject;
+import hudson.model.Hudson;
+import hudson.plugins.templateproject.ProxySCM;
+import hudson.scm.SCM;
import hudson.scm.SubversionSCM;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.commons.lang.StringUtils;
import org.codehaus.groovy.control.CompilerConfiguration;
import org.tmatesoft.svn.core.SVNCommitInfo;
@@ -20,14 +39,6 @@
import org.tmatesoft.svn.core.wc.SVNRevision;
import org.tmatesoft.svn.core.wc.SVNWCUtil;
-import java.io.*;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
/**
* Consolidates the work common in Publisher and MavenReporter.
@@ -74,12 +85,22 @@
Map env;
- if (!(rootProject.getScm() instanceof SubversionSCM)) {
- logger.println(Messages.NotSubversion(rootProject.getScm().toString()));
+ SCM projectSCM = rootProject.getScm();
+
+ // check for TemplateProject Configuration
+ if (Hudson.getInstance().getPlugin("template-project") != null) {
+ while (projectSCM instanceof ProxySCM) {
+ // allow nested proxy configuration
+ projectSCM = ProxySCM.class.cast(rootProject.getScm()).getProject().getScm();
+ }
+ }
+
+ if (!(projectSCM instanceof SubversionSCM)) {
+ logger.println(Messages.NotSubversion(projectSCM.toString()));
return true;
}
- SubversionSCM scm = SubversionSCM.class.cast(rootProject.getScm());
+ SubversionSCM scm = SubversionSCM.class.cast(projectSCM);
try {
env = abstractBuild.getEnvironment(buildListener);
} catch (Exception e) {