提交 f6106287 编写于 作者: S sogabe

Check whether Repository URL is specified or not when artifacts deplyed....

Check whether Repository URL is specified or not when artifacts deplyed. (http://hudson.361315.n4.nabble.com/Google-code-post-commit-tc2530609.html)

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@35120 71c3de6d-444a-0410-be80-ed276b4c234a
上级 4ad64c24
/*
* The MIT License
*
* Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, id:cactusman
* Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi, id:cactusman, Seiji Sogabe
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
......@@ -25,6 +25,7 @@ package hudson.maven;
import hudson.Launcher;
import hudson.Extension;
import hudson.Util;
import hudson.maven.reporters.MavenAbstractArtifactRecord;
import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
......@@ -34,6 +35,7 @@ import hudson.tasks.BuildStepDescriptor;
import hudson.tasks.Publisher;
import hudson.tasks.Recorder;
import hudson.tasks.BuildStepMonitor;
import hudson.util.FormValidation;
import net.sf.json.JSONObject;
import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
import org.apache.maven.artifact.repository.ArtifactRepository;
......@@ -45,6 +47,7 @@ import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import java.io.IOException;
import org.kohsuke.stapler.QueryParameter;
/**
* {@link Publisher} for {@link MavenModuleSetBuild} to deploy artifacts
......@@ -78,7 +81,7 @@ public class RedeployPublisher extends Recorder {
@DataBoundConstructor
public RedeployPublisher(String id, String url, boolean uniqueVersion, boolean evenIfUnstable) {
this.id = id;
this.url = url;
this.url = Util.fixEmptyAndTrim(url);
this.uniqueVersion = uniqueVersion;
this.evenIfUnstable = evenIfUnstable;
}
......@@ -87,6 +90,12 @@ public class RedeployPublisher extends Recorder {
if(build.getResult().isWorseThan(getTreshold()))
return true; // build failed. Don't publish
if (url==null) {
listener.getLogger().println("No Repository URL is specified.");
build.setResult(Result.FAILURE);
return true;
}
MavenAbstractArtifactRecord mar = getAction(build);
if(mar==null) {
listener.getLogger().println("No artifacts are recorded. Is this a Maven project?");
......@@ -172,5 +181,13 @@ public class RedeployPublisher extends Recorder {
// little hack to avoid showing this option on the redeploy action's screen
return true;
}
public FormValidation doCheckUrl(@QueryParameter String url) {
String fixedUrl = hudson.Util.fixEmptyAndTrim(url);
if (fixedUrl==null)
return FormValidation.error(Messages.RedeployPublisher_RepositoryURL_Mandatory());
return FormValidation.ok();
}
}
}
......@@ -46,4 +46,5 @@ MavenRedeployer.DisplayName=Deploy to Maven repository
ProcessCache.Reusing=Reusing existing maven process
RedeployPublisher.getDisplayName=Deploy artifacts to Maven repository
RedeployPublisher.RepositoryURL.Mandatory=Repository URL is mandatory
ReleaseAction.DisplayName=Release New Version
......@@ -20,32 +20,33 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
MavenBuild.FailedEarlier=\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u524D\u306B\u30D3\u30EB\u30C9\u304C\u5931\u6557\u3057\u307E\u3057\u305F
MavenBuild.KeptBecauseOfParent={0}\u304C\u4FDD\u7559\u4E2D\u306E\u305F\u3081\u4FDD\u7559\u3057\u307E\u3059
MavenBuild.Triggering={0}\u306E\u65B0\u898F\u30D3\u30EB\u30C9\u306E\u5B9F\u884C
MavenBuilder.Aborted=\u4E2D\u6B62
MavenBuilder.AsyncFailed=\u975E\u540C\u671F\u5B9F\u884C\u5931\u6557
MavenBuilder.Failed=Maven\u306F\u30A8\u30E9\u30FC\u3067\u5931\u6557\u3057\u307E\u3057\u305F\u3002
MavenBuilder.Waiting=Hudson\u304C\u30C7\u30FC\u30BF\u53CE\u96C6\u3092\u5B8C\u4E86\u3059\u308B\u307E\u3067\u5F85\u6A5F\u4E2D
MavenBuild.FailedEarlier=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u524d\u306b\u30d3\u30eb\u30c9\u304c\u5931\u6557\u3057\u307e\u3057\u305f
MavenBuild.KeptBecauseOfParent={0}\u304c\u4fdd\u7559\u4e2d\u306e\u305f\u3081\u4fdd\u7559\u3057\u307e\u3059
MavenBuild.Triggering={0}\u306e\u65b0\u898f\u30d3\u30eb\u30c9\u306e\u5b9f\u884c
MavenBuilder.Aborted=\u4e2d\u6b62
MavenBuilder.AsyncFailed=\u975e\u540c\u671f\u5b9f\u884c\u5931\u6557
MavenBuilder.Failed=Maven\u306f\u30a8\u30e9\u30fc\u3067\u5931\u6557\u3057\u307e\u3057\u305f\u3002
MavenBuilder.Waiting=Hudson\u304c\u30c7\u30fc\u30bf\u53ce\u96c6\u3092\u5b8c\u4e86\u3059\u308b\u307e\u3067\u5f85\u6a5f\u4e2d
MavenModule.Pronoun=\u30E2\u30B8\u30E5\u30FC\u30EB
MavenModule.Pronoun=\u30e2\u30b8\u30e5\u30fc\u30eb
MavenModuleSet.DiplayName=Maven2\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D3\u30EB\u30C9
MavenModuleSet.DiplayName=Maven2\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30d3\u30eb\u30c9
MavenModuleSetBuild.DiscoveredModule=\u65B0\u898F\u30E2\u30B8\u30E5\u30FC\u30EB {0} {1} \u3092\u767A\u898B
MavenModuleSetBuild.FailedToParsePom=POM\u306E\u89E3\u6790\u306B\u5931\u6557
MavenModuleSetBuild.NoSuchPOMFile={0}\u3068\u3044\u3046\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u304A\u305D\u3089\u304F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u8A2D\u5B9A\u753B\u9762\u3067\u6B63\u3057\u3044POM\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
MavenModuleSetBuild.DiscoveredModule=\u65b0\u898f\u30e2\u30b8\u30e5\u30fc\u30eb {0} {1} \u3092\u767a\u898b
MavenModuleSetBuild.FailedToParsePom=POM\u306e\u89e3\u6790\u306b\u5931\u6557
MavenModuleSetBuild.NoSuchPOMFile={0}\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002\n\u304a\u305d\u3089\u304f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u8a2d\u5b9a\u753b\u9762\u3067\u6b63\u3057\u3044POM\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
MavenModuleSetBuild.NoSuchAlternateSettings=\
\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB {0} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u6B63\u3057\u3044\u3053\u3068\u3001\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u5B58\u5728\u3059\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb {0} \u304c\u3042\u308a\u307e\u305b\u3093\u3002\n\u6307\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u6b63\u3057\u3044\u3053\u3068\u3001\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u306b\u5b58\u5728\u3059\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
MavenModuleSetBuild.NoMavenInstall=\
\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30D3\u30EB\u30C9\u3059\u308B\u306B\u306FMaven\u304C\u5FC5\u8981\u3067\u3059\u3002\nMaven\u306E\u8A2D\u5B9A\u304C\u3055\u308C\u3066\u3044\u306A\u3044\u304B\u3001\u3082\u3057\u304F\u306F\u6307\u5B9A\u3057\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u306EMaven\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30d3\u30eb\u30c9\u3059\u308b\u306b\u306fMaven\u304c\u5fc5\u8981\u3067\u3059\u3002\nMaven\u306e\u8a2d\u5b9a\u304c\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3001\u3082\u3057\u304f\u306f\u6307\u5b9a\u3057\u305f\u30d0\u30fc\u30b8\u30e7\u30f3\u306eMaven\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
MavenProbeAction.DisplayName=Maven\u30D7\u30ED\u30BB\u30B9\u306E\u76E3\u8996
MavenProbeAction.DisplayName=Maven\u30d7\u30ed\u30bb\u30b9\u306e\u76e3\u8996
MavenProcessFactory.ClassWorldsNotFound={0}\u306Bclassworlds*.jar\u304C\u307F\u3064\u304B\u308A\u307E\u305B\u3093\u3002 -- \u6B63\u3057\u3044Maven2\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\u304B?
MavenProcessFactory.ClassWorldsNotFound={0}\u306bclassworlds*.jar\u304c\u307f\u3064\u304b\u308a\u307e\u305b\u3093\u3002 -- \u6b63\u3057\u3044Maven2\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u3059\u304b?
MavenRedeployer.DisplayName=Maven\u30EA\u30DD\u30B8\u30C8\u30EA\u3078\u306E\u30C7\u30D7\u30ED\u30A4
ProcessCache.Reusing=\u65E2\u5B58Maven\u30D7\u30ED\u30BB\u30B9\u3092\u518D\u5229\u7528
MavenRedeployer.DisplayName=Maven\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u306e\u30c7\u30d7\u30ed\u30a4
ProcessCache.Reusing=\u65e2\u5b58Maven\u30d7\u30ed\u30bb\u30b9\u3092\u518d\u5229\u7528
RedeployPublisher.getDisplayName=Maven\u30EA\u30DD\u30B8\u30C8\u30EA\u3078\u6210\u679C\u7269\u3092\u30C7\u30D7\u30ED\u30A4
ReleaseAction.DisplayName=\u65B0\u898F\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u30EA\u30EA\u30FC\u30B9
RedeployPublisher.getDisplayName=Maven\u30ea\u30dd\u30b8\u30c8\u30ea\u3078\u6210\u679c\u7269\u3092\u30c7\u30d7\u30ed\u30a4
RedeployPublisher.RepositoryURL.Mandatory=\u30ea\u30dd\u30b8\u30c8\u30eaURL\u306f\u5fc5\u9808\u3067\u3059\u3002
ReleaseAction.DisplayName=\u65b0\u898f\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30ea\u30ea\u30fc\u30b9
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册