1 package jetbrains.buildServer.nuget.server.trigger;
\r
3 import jetbrains.buildServer.buildTriggers.BuildTriggerDescriptor;
\r
4 import jetbrains.buildServer.buildTriggers.BuildTriggerService;
\r
5 import jetbrains.buildServer.buildTriggers.BuildTriggeringPolicy;
\r
6 import jetbrains.buildServer.serverSide.InvalidProperty;
\r
7 import jetbrains.buildServer.serverSide.PropertiesProcessor;
\r
8 import jetbrains.buildServer.util.StringUtil;
\r
9 import jetbrains.buildServer.web.openapi.PluginDescriptor;
\r
10 import org.jetbrains.annotations.NotNull;
\r
12 import java.util.ArrayList;
\r
13 import java.util.Collection;
\r
14 import java.util.Map;
\r
17 * @author Eugene Petrenko (eugene.petrenko@gmail.com)
\r
18 * Date: 03.05.11 15:25
\r
20 public class NuGetSimpleTrigger extends BuildTriggerService {
\r
21 private final PluginDescriptor myDescriptor;
\r
22 private BuildTriggeringPolicy myPolicy;
\r
24 public NuGetSimpleTrigger(@NotNull final PluginDescriptor descriptor,
\r
25 @NotNull final ThreadedBuildTriggetFactory factory,
\r
26 @NotNull final NamedPackagesUpdateChecker checker) {
\r
27 myDescriptor = descriptor;
\r
28 myPolicy = factory.createTrigger(checker);
\r
33 public String getName() {
\r
34 return TriggerConstants.TRIGGER_ID;
\r
39 public String getDisplayName() {
\r
40 return "NuGet Dependency Trigger";
\r
45 public String describeTrigger(@NotNull final BuildTriggerDescriptor trigger) {
\r
46 Map<String, String> props = trigger.getProperties();
\r
47 StringBuilder sb = new StringBuilder();
\r
48 sb.append("Package Id: ").append(props.get(TriggerConstants.PACKAGE)).append("\n");
\r
49 sb.append("Source: ").append(props.get(TriggerConstants.SOURCE));
\r
51 String version = props.get(TriggerConstants.VERSION);
\r
52 if (!StringUtil.isEmptyOrSpaces(version)) {
\r
54 sb.append("Version: ").append(version);
\r
57 return sb.toString();
\r
62 public BuildTriggeringPolicy getBuildTriggeringPolicy() {
\r
67 public boolean isMultipleTriggersPerBuildTypeAllowed() {
\r
72 public PropertiesProcessor getTriggerPropertiesProcessor() {
\r
73 return new PropertiesProcessor() {
\r
74 public Collection<InvalidProperty> process(Map<String, String> properties) {
\r
75 Collection<InvalidProperty> err = new ArrayList<InvalidProperty>();
\r
77 if (StringUtil.isEmptyOrSpaces(properties.get(TriggerConstants.NUGET_EXE))) {
\r
78 err.add(new InvalidProperty(TriggerConstants.NUGET_EXE, "NuGet.exe path must be specified"));
\r
81 if (StringUtil.isEmptyOrSpaces(properties.get(TriggerConstants.PACKAGE))) {
\r
82 err.add(new InvalidProperty(TriggerConstants.PACKAGE, "Package Id must be specified"));
\r
91 public String getEditParametersUrl() {
\r
92 return myDescriptor.getPluginResourcesPath("trigger/editSimpleTrigger.jsp");
\r