Skip to content

Commit

Permalink
[JENKINS-25449] Bump core dependency to 1.590
Browse files Browse the repository at this point in the history
  • Loading branch information
olivergondza committed Nov 9, 2014
1 parent b120b1d commit b12d5ea
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 35 deletions.
7 changes: 6 additions & 1 deletion pom.xml
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>1.561</version>
<version>1.590-SNAPSHOT</version>
</parent>
<artifactId>matrix-project</artifactId>
<version>1.5-SNAPSHOT</version>
Expand Down Expand Up @@ -36,6 +36,11 @@
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>junit</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
Expand Down
34 changes: 4 additions & 30 deletions src/main/java/hudson/matrix/LabelExpAxis.java
Expand Up @@ -25,9 +25,8 @@

import hudson.Extension;
import hudson.Util;
import hudson.model.AutoCompletionCandidates;
import hudson.model.TopLevelItemDescriptor;
import hudson.model.AbstractProject;
import hudson.model.AbstractProject.AbstractProjectDescriptor;
import hudson.util.FormValidation;
import jenkins.model.Jenkins;

Expand All @@ -36,7 +35,6 @@
import java.util.List;

import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.DoNotUse;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.AncestorInPath;
import org.kohsuke.stapler.DataBoundConstructor;
Expand Down Expand Up @@ -95,42 +93,19 @@ public boolean isInstantiable() {

@Restricted(NoExternalUse.class)
public FormValidation doCheckLabelExpr(@AncestorInPath AbstractProject<?,?> project, @QueryParameter String value) {
AbstractProject.AbstractProjectDescriptor desc = projectDescriptor();

if (Util.fixEmptyAndTrim(value) == null) return FormValidation.error("No expressions provided");

List<FormValidation> validations = new ArrayList<FormValidation>();
for (String expr: getExprValues(value)) {
validations.add(
desc.doCheckAssignedLabelString(project, expr)
);
final FormValidation validation = AbstractProjectDescriptor.validateLabelExpression(expr, project);
validations.add(validation);
}

return aggregateValidations(validations);
}

private final AbstractProject.AbstractProjectDescriptor projectDescriptor() {
return Jenkins.getInstance().getDescriptorByType(MatrixProject.DescriptorImpl.class);
return FormValidation.aggregate(validations);
}
}

// TODO move to hudson.util.FormValidation
private static FormValidation aggregateValidations(List<FormValidation> validations) {

if (validations.size() == 1) return validations.get(0);

StringBuilder sb = new StringBuilder();
sb.append("<ul style='list-style-type: none'>");
for (FormValidation validation: validations) {
sb.append("<li>").append(validation.renderHtml()).append("</li>");
}
sb.append("</ul>");

// Wrap into ok instead of worst of all results as class ok result
// wrapped in warning or error overall result would inherit its color.
return FormValidation.okWithMarkup(sb.toString());
}

public static List<String> getExprValues(String valuesString){
List<String> expressions = new LinkedList<String>();
String[] exprs = valuesString.split("\n");
Expand All @@ -139,6 +114,5 @@ public static List<String> getExprValues(String valuesString){
}
return expressions;
}

}

8 changes: 4 additions & 4 deletions src/test/java/hudson/matrix/LabelExpAxisTest.java
Expand Up @@ -52,9 +52,9 @@ public void test() throws Exception {
assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "&&!||").kind);

// Use worse result - Not yet implemented
//assertEquals(FormValidation.Kind.WARNING, descriptor.doCheckLabelExpr(project, "aaaa\nno_such_slave").kind);
//assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "aaaa\n&&").kind);
//assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "no_such_slave\n&&").kind);
//assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "no_such_slave\n&&\naaaa").kind);
assertEquals(FormValidation.Kind.WARNING, descriptor.doCheckLabelExpr(project, "aaaa\nno_such_slave").kind);
assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "aaaa\n&&").kind);
assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "no_such_slave\n&&").kind);
assertEquals(FormValidation.Kind.ERROR, descriptor.doCheckLabelExpr(project, "no_such_slave\n&&\naaaa").kind);
}
}

0 comments on commit b12d5ea

Please sign in to comment.