Skip to content

Commit 1c75a07

Browse files
committed
Rearrange error collector
1 parent 341020c commit 1c75a07

File tree

4 files changed

+31
-24
lines changed

4 files changed

+31
-24
lines changed

pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/model/DeclarativeDirective.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,15 @@
2626

2727
import hudson.model.Describable;
2828
import hudson.model.Descriptor;
29+
import hudson.model.Run;
2930
import jenkins.model.Jenkins;
3031
import org.codehaus.groovy.ast.expr.Expression;
3132
import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTElement;
3233
import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTPipelineDef;
34+
import org.jenkinsci.plugins.pipeline.modeldefinition.validator.ErrorCollector;
3335
import org.jenkinsci.plugins.pipeline.modeldefinition.validator.ModelValidator;
3436

37+
import javax.annotation.CheckForNull;
3538
import javax.annotation.Nonnull;
3639

3740
public abstract class DeclarativeDirective<D extends DeclarativeDirective<D>> extends ModelASTElement implements Describable<D> {
@@ -68,7 +71,9 @@ public Preprocessor(Object sourceLocation) {
6871
super(sourceLocation);
6972
}
7073

71-
public abstract ModelASTPipelineDef process(@Nonnull ModelASTPipelineDef pipelineDef);
74+
public abstract ModelASTPipelineDef process(@Nonnull ModelASTPipelineDef pipelineDef,
75+
@Nonnull ErrorCollector errorCollector,
76+
@CheckForNull Run<?,?> build);
7277
}
7378

7479
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package org.jenkinsci.plugins.pipeline.modeldefinition.validator;
2+
3+
import net.sf.json.JSONArray;
4+
import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTElement;
5+
import org.jenkinsci.plugins.pipeline.modeldefinition.ast.ModelASTMarkerInterface;
6+
7+
import java.util.List;
8+
9+
/**
10+
* Abstract class for collecting parse-time errors.
11+
*
12+
* @author Kohsuke Kawaguchi
13+
*/
14+
public abstract class ErrorCollector {
15+
public abstract void error(ModelASTElement src, String message);
16+
17+
public abstract void error(ModelASTMarkerInterface src, String message);
18+
19+
public abstract int getErrorCount();
20+
21+
public abstract List<String> errorsAsStrings();
22+
23+
public abstract JSONArray asJson();
24+
}

pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/parser/ModelParser.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ class ModelParser implements Parser {
209209

210210
additionalDirectives.each { d ->
211211
if (d instanceof DeclarativeDirective.Preprocessor) {
212-
pipelineDef = d.process(pipelineDef)
212+
pipelineDef = d.process(pipelineDef, errorCollector, build)
213213
}
214214
}
215215

pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ErrorCollector.groovy

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)