mirror of
https://github.com/theonedev/onedev.git
synced 2025-12-08 18:26:30 +00:00
Use build spec instead of ci spec
This commit is contained in:
parent
c1c69dd801
commit
698261f2e2
@ -72,17 +72,17 @@ import io.onedev.commons.launcher.loader.ImplementationProvider;
|
|||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.commons.utils.schedule.DefaultTaskScheduler;
|
import io.onedev.commons.utils.schedule.DefaultTaskScheduler;
|
||||||
import io.onedev.commons.utils.schedule.TaskScheduler;
|
import io.onedev.commons.utils.schedule.TaskScheduler;
|
||||||
|
import io.onedev.server.buildspec.job.DefaultJobManager;
|
||||||
|
import io.onedev.server.buildspec.job.JobManager;
|
||||||
|
import io.onedev.server.buildspec.job.log.DefaultLogManager;
|
||||||
|
import io.onedev.server.buildspec.job.log.LogManager;
|
||||||
|
import io.onedev.server.buildspec.job.log.instruction.LogInstruction;
|
||||||
import io.onedev.server.cache.CodeCommentRelationInfoManager;
|
import io.onedev.server.cache.CodeCommentRelationInfoManager;
|
||||||
import io.onedev.server.cache.CommitInfoManager;
|
import io.onedev.server.cache.CommitInfoManager;
|
||||||
import io.onedev.server.cache.DefaultCodeCommentRelationInfoManager;
|
import io.onedev.server.cache.DefaultCodeCommentRelationInfoManager;
|
||||||
import io.onedev.server.cache.DefaultCommitInfoManager;
|
import io.onedev.server.cache.DefaultCommitInfoManager;
|
||||||
import io.onedev.server.cache.DefaultUserInfoManager;
|
import io.onedev.server.cache.DefaultUserInfoManager;
|
||||||
import io.onedev.server.cache.UserInfoManager;
|
import io.onedev.server.cache.UserInfoManager;
|
||||||
import io.onedev.server.ci.job.DefaultJobManager;
|
|
||||||
import io.onedev.server.ci.job.JobManager;
|
|
||||||
import io.onedev.server.ci.job.log.DefaultLogManager;
|
|
||||||
import io.onedev.server.ci.job.log.LogManager;
|
|
||||||
import io.onedev.server.ci.job.log.instruction.LogInstruction;
|
|
||||||
import io.onedev.server.entitymanager.BuildDependenceManager;
|
import io.onedev.server.entitymanager.BuildDependenceManager;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.entitymanager.BuildParamManager;
|
import io.onedev.server.entitymanager.BuildParamManager;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci;
|
package io.onedev.server.buildspec;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -20,12 +20,12 @@ import com.google.common.base.Charsets;
|
|||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobDependency;
|
import io.onedev.server.buildspec.job.JobDependency;
|
||||||
import io.onedev.server.ci.job.action.PostBuildAction;
|
import io.onedev.server.buildspec.job.action.PostBuildAction;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryCondition;
|
import io.onedev.server.buildspec.job.retrycondition.RetryCondition;
|
||||||
import io.onedev.server.ci.job.trigger.JobTrigger;
|
import io.onedev.server.buildspec.job.trigger.JobTrigger;
|
||||||
import io.onedev.server.migration.VersionedDocument;
|
import io.onedev.server.migration.VersionedDocument;
|
||||||
import io.onedev.server.util.validation.Validatable;
|
import io.onedev.server.util.validation.Validatable;
|
||||||
import io.onedev.server.util.validation.annotation.ClassValidating;
|
import io.onedev.server.util.validation.annotation.ClassValidating;
|
||||||
@ -33,13 +33,13 @@ import io.onedev.server.web.editable.annotation.Editable;
|
|||||||
|
|
||||||
@Editable
|
@Editable
|
||||||
@ClassValidating
|
@ClassValidating
|
||||||
public class CISpec implements Serializable, Validatable {
|
public class BuildSpec implements Serializable, Validatable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(CISpec.class);
|
private static final Logger logger = LoggerFactory.getLogger(BuildSpec.class);
|
||||||
|
|
||||||
public static final String BLOB_PATH = "onedev-ci.xml";
|
public static final String BLOB_PATH = ".onedev-buildspec";
|
||||||
|
|
||||||
private List<Job> jobs = new ArrayList<>();
|
private List<Job> jobs = new ArrayList<>();
|
||||||
|
|
||||||
@ -183,13 +183,13 @@ public class CISpec implements Serializable, Validatable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static CISpec parse(byte[] bytes) {
|
public static BuildSpec parse(byte[] bytes) {
|
||||||
String ciSpecString = new String(bytes, Charsets.UTF_8);
|
String buildSpecString = new String(bytes, Charsets.UTF_8);
|
||||||
if (StringUtils.isNotBlank(ciSpecString)) {
|
if (StringUtils.isNotBlank(buildSpecString)) {
|
||||||
try {
|
try {
|
||||||
return (CISpec) VersionedDocument.fromXML(ciSpecString).toBean();
|
return (BuildSpec) VersionedDocument.fromXML(buildSpecString).toBean();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new InvalidCISpecException("Invalid CI spec", e);
|
throw new InvalidBuildSpecException("Invalid build spec", e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
package io.onedev.server.buildspec;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
public interface BuildSpecAware {
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
BuildSpec getBuildSpec();
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
package io.onedev.server.buildspec;
|
||||||
|
|
||||||
|
import io.onedev.server.OneException;
|
||||||
|
|
||||||
|
public class InvalidBuildSpecException extends OneException {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public InvalidBuildSpecException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.concurrent.CancellationException;
|
import java.util.concurrent.CancellationException;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -52,15 +52,15 @@ import io.onedev.commons.utils.MatrixRunner;
|
|||||||
import io.onedev.k8shelper.CacheInstance;
|
import io.onedev.k8shelper.CacheInstance;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.job.action.PostBuildAction;
|
import io.onedev.server.buildspec.job.action.PostBuildAction;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionCondition;
|
import io.onedev.server.buildspec.job.action.condition.ActionCondition;
|
||||||
import io.onedev.server.ci.job.log.LogManager;
|
import io.onedev.server.buildspec.job.log.LogManager;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramspec.SecretParam;
|
import io.onedev.server.buildspec.job.paramspec.SecretParam;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryCondition;
|
import io.onedev.server.buildspec.job.retrycondition.RetryCondition;
|
||||||
import io.onedev.server.ci.job.trigger.JobTrigger;
|
import io.onedev.server.buildspec.job.trigger.JobTrigger;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.entitymanager.BuildParamManager;
|
import io.onedev.server.entitymanager.BuildParamManager;
|
||||||
import io.onedev.server.entitymanager.ProjectManager;
|
import io.onedev.server.entitymanager.ProjectManager;
|
||||||
@ -568,9 +568,9 @@ public class DefaultJobManager implements JobManager, Runnable, CodePullAuthoriz
|
|||||||
if (!commitId.equals(ObjectId.zeroId())) {
|
if (!commitId.equals(ObjectId.zeroId())) {
|
||||||
ScriptIdentity.push(new JobIdentity(event.getProject(), commitId));
|
ScriptIdentity.push(new JobIdentity(event.getProject(), commitId));
|
||||||
try {
|
try {
|
||||||
CISpec ciSpec = event.getProject().getCISpec(commitId);
|
BuildSpec buildSpec = event.getProject().getBuildSpec(commitId);
|
||||||
if (ciSpec != null) {
|
if (buildSpec != null) {
|
||||||
for (Job job: ciSpec.getJobs()) {
|
for (Job job: buildSpec.getJobs()) {
|
||||||
JobTrigger trigger = job.getMatchedTrigger(event);
|
JobTrigger trigger = job.getMatchedTrigger(event);
|
||||||
if (trigger != null) {
|
if (trigger != null) {
|
||||||
Map<String, List<List<String>>> paramMatrix = ParamSupply.getParamMatrix(trigger.getParams());
|
Map<String, List<List<String>>> paramMatrix = ParamSupply.getParamMatrix(trigger.getParams());
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import static io.onedev.server.search.entity.EntityQuery.quote;
|
import static io.onedev.server.search.entity.EntityQuery.quote;
|
||||||
import static io.onedev.server.search.entity.build.BuildQuery.getRuleName;
|
import static io.onedev.server.search.entity.build.BuildQuery.getRuleName;
|
||||||
@ -24,12 +24,12 @@ import org.eclipse.jgit.revwalk.RevCommit;
|
|||||||
import org.hibernate.validator.constraints.NotEmpty;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.CISpecAware;
|
import io.onedev.server.buildspec.BuildSpecAware;
|
||||||
import io.onedev.server.ci.job.action.PostBuildAction;
|
import io.onedev.server.buildspec.job.action.PostBuildAction;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.ci.job.trigger.JobTrigger;
|
import io.onedev.server.buildspec.job.trigger.JobTrigger;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.model.Project;
|
import io.onedev.server.model.Project;
|
||||||
import io.onedev.server.util.ComponentContext;
|
import io.onedev.server.util.ComponentContext;
|
||||||
@ -465,11 +465,11 @@ public class Job implements Serializable, Validatable {
|
|||||||
public static List<String> getChoices() {
|
public static List<String> getChoices() {
|
||||||
List<String> choices = new ArrayList<>();
|
List<String> choices = new ArrayList<>();
|
||||||
Component component = ComponentContext.get().getComponent();
|
Component component = ComponentContext.get().getComponent();
|
||||||
CISpecAware ciSpecAware = WicketUtils.findInnermost(component, CISpecAware.class);
|
BuildSpecAware buildSpecAware = WicketUtils.findInnermost(component, BuildSpecAware.class);
|
||||||
if (ciSpecAware != null) {
|
if (buildSpecAware != null) {
|
||||||
CISpec ciSpec = ciSpecAware.getCISpec();
|
BuildSpec buildSpec = buildSpecAware.getBuildSpec();
|
||||||
if (ciSpec != null) {
|
if (buildSpec != null) {
|
||||||
for (Job eachJob: ciSpec.getJobs()) {
|
for (Job eachJob: buildSpec.getJobs()) {
|
||||||
if (eachJob.getName() != null)
|
if (eachJob.getName() != null)
|
||||||
choices.add(eachJob.getName());
|
choices.add(eachJob.getName());
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -8,10 +8,10 @@ import org.apache.wicket.Component;
|
|||||||
import org.hibernate.validator.constraints.NotEmpty;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.CISpecAware;
|
import io.onedev.server.buildspec.BuildSpecAware;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.util.ComponentContext;
|
import io.onedev.server.util.ComponentContext;
|
||||||
import io.onedev.server.util.EditContext;
|
import io.onedev.server.util.EditContext;
|
||||||
import io.onedev.server.web.editable.annotation.ChoiceProvider;
|
import io.onedev.server.web.editable.annotation.ChoiceProvider;
|
||||||
@ -97,11 +97,11 @@ public class JobDependency implements Serializable {
|
|||||||
String jobName = (String) EditContext.get().getInputValue("jobName");
|
String jobName = (String) EditContext.get().getInputValue("jobName");
|
||||||
if (jobName != null) {
|
if (jobName != null) {
|
||||||
Component component = ComponentContext.get().getComponent();
|
Component component = ComponentContext.get().getComponent();
|
||||||
CISpecAware ciSpecAware = WicketUtils.findInnermost(component, CISpecAware.class);
|
BuildSpecAware buildSpecAware = WicketUtils.findInnermost(component, BuildSpecAware.class);
|
||||||
if (ciSpecAware != null) {
|
if (buildSpecAware != null) {
|
||||||
CISpec ciSpec = ciSpecAware.getCISpec();
|
BuildSpec buildSpec = buildSpecAware.getBuildSpec();
|
||||||
if (ciSpec != null) {
|
if (buildSpec != null) {
|
||||||
Job job = ciSpec.getJobMap().get(jobName);
|
Job job = buildSpec.getJobMap().get(jobName);
|
||||||
if (job != null)
|
if (job != null)
|
||||||
return job.getParamSpecs();
|
return job.getParamSpecs();
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job;
|
package io.onedev.server.buildspec.job;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -9,7 +9,7 @@ import java.util.function.Function;
|
|||||||
|
|
||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.util.GroovyUtils;
|
import io.onedev.server.util.GroovyUtils;
|
||||||
import io.onedev.server.util.Input;
|
import io.onedev.server.util.Input;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action;
|
package io.onedev.server.buildspec.job.action;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -14,8 +14,8 @@ import org.hibernate.validator.constraints.NotEmpty;
|
|||||||
|
|
||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.entitymanager.IssueManager;
|
import io.onedev.server.entitymanager.IssueManager;
|
||||||
import io.onedev.server.entitymanager.SettingManager;
|
import io.onedev.server.entitymanager.SettingManager;
|
||||||
@ -139,8 +139,8 @@ public class CreateIssueAction extends PostBuildAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validateWithContext(CISpec ciSpec, Job job) {
|
public void validateWithContext(BuildSpec buildSpec, Job job) {
|
||||||
super.validateWithContext(ciSpec, job);
|
super.validateWithContext(buildSpec, job);
|
||||||
|
|
||||||
GlobalIssueSetting issueSetting = OneDev.getInstance(SettingManager.class).getIssueSetting();
|
GlobalIssueSetting issueSetting = OneDev.getInstance(SettingManager.class).getIssueSetting();
|
||||||
try {
|
try {
|
||||||
@ -1,11 +1,11 @@
|
|||||||
package io.onedev.server.ci.job.action;
|
package io.onedev.server.buildspec.job.action;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
import org.hibernate.validator.constraints.NotEmpty;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.web.editable.annotation.ActionCondition;
|
import io.onedev.server.web.editable.annotation.ActionCondition;
|
||||||
import io.onedev.server.web.editable.annotation.Editable;
|
import io.onedev.server.web.editable.annotation.Editable;
|
||||||
@ -32,9 +32,9 @@ public abstract class PostBuildAction implements Serializable {
|
|||||||
|
|
||||||
public abstract String getDescription();
|
public abstract String getDescription();
|
||||||
|
|
||||||
public void validateWithContext(CISpec ciSpec, Job job) {
|
public void validateWithContext(BuildSpec buildSpec, Job job) {
|
||||||
try {
|
try {
|
||||||
io.onedev.server.ci.job.action.condition.ActionCondition.parse(job, condition);
|
io.onedev.server.buildspec.job.action.condition.ActionCondition.parse(job, condition);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String message = "Invalid action condition";
|
String message = "Invalid action condition";
|
||||||
if (e.getMessage() != null)
|
if (e.getMessage() != null)
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action;
|
package io.onedev.server.buildspec.job.action;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -15,12 +15,12 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import io.onedev.commons.utils.MatrixRunner;
|
import io.onedev.commons.utils.MatrixRunner;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.CISpec;
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.ci.CISpecAware;
|
import io.onedev.server.buildspec.BuildSpecAware;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobManager;
|
import io.onedev.server.buildspec.job.JobManager;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.persistence.SessionManager;
|
import io.onedev.server.persistence.SessionManager;
|
||||||
@ -77,11 +77,11 @@ public class RunJobAction extends PostBuildAction {
|
|||||||
String jobName = (String) EditContext.get().getInputValue("jobName");
|
String jobName = (String) EditContext.get().getInputValue("jobName");
|
||||||
if (jobName != null) {
|
if (jobName != null) {
|
||||||
Component component = ComponentContext.get().getComponent();
|
Component component = ComponentContext.get().getComponent();
|
||||||
CISpecAware ciSpecAware = WicketUtils.findInnermost(component, CISpecAware.class);
|
BuildSpecAware buildSpecAware = WicketUtils.findInnermost(component, BuildSpecAware.class);
|
||||||
if (ciSpecAware != null) {
|
if (buildSpecAware != null) {
|
||||||
CISpec ciSpec = ciSpecAware.getCISpec();
|
BuildSpec buildSpec = buildSpecAware.getBuildSpec();
|
||||||
if (ciSpec != null) {
|
if (buildSpec != null) {
|
||||||
Job job = ciSpec.getJobMap().get(jobName);
|
Job job = buildSpec.getJobMap().get(jobName);
|
||||||
if (job != null)
|
if (job != null)
|
||||||
return job.getParamSpecs();
|
return job.getParamSpecs();
|
||||||
}
|
}
|
||||||
@ -135,10 +135,10 @@ public class RunJobAction extends PostBuildAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void validateWithContext(CISpec ciSpec, Job job) {
|
public void validateWithContext(BuildSpec buildSpec, Job job) {
|
||||||
super.validateWithContext(ciSpec, job);
|
super.validateWithContext(buildSpec, job);
|
||||||
|
|
||||||
Job jobToRun = ciSpec.getJobMap().get(jobName);
|
Job jobToRun = buildSpec.getJobMap().get(jobName);
|
||||||
if (jobToRun != null) {
|
if (jobToRun != null) {
|
||||||
try {
|
try {
|
||||||
ParamSupply.validateParams(jobToRun.getParamSpecs(), jobParams);
|
ParamSupply.validateParams(jobToRun.getParamSpecs(), jobParams);
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action;
|
package io.onedev.server.buildspec.job.action;
|
||||||
|
|
||||||
import org.hibernate.validator.constraints.NotEmpty;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ public class SendNotificationAction extends PostBuildAction {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(Build build) {
|
public void execute(Build build) {
|
||||||
OneDev.getInstance(BuildNotificationManager.class).notify(build,
|
OneDev.getInstance(BuildNotificationManager.class).notify(build,
|
||||||
io.onedev.server.ci.job.action.notificationreceiver.NotificationReceiver.fromString(receivers, build).getEmails());
|
io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiver.fromString(receivers, build).getEmails());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -16,16 +16,19 @@ import io.onedev.commons.codeassist.AntlrUtils;
|
|||||||
import io.onedev.commons.codeassist.FenceAware;
|
import io.onedev.commons.codeassist.FenceAware;
|
||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.AndCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionBaseVisitor;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.ConditionContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionLexer;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.CriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.FieldOperatorValueCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.AndCriteriaContext;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.NotCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.ConditionContext;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.OperatorCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.CriteriaContext;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.OperatorValueCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.FieldOperatorValueCriteriaContext;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.OrCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.NotCriteriaContext;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser.ParensCriteriaContext;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.OperatorCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.OperatorValueCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.OrCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser.ParensCriteriaContext;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.util.BuildConstants;
|
import io.onedev.server.util.BuildConstants;
|
||||||
import io.onedev.server.util.criteria.AndCriteria;
|
import io.onedev.server.util.criteria.AndCriteria;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,10 +1,10 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.job.log.LogManager;
|
import io.onedev.server.buildspec.job.log.LogManager;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
|
|
||||||
public class LogCriteria implements Predicate<Build> {
|
public class LogCriteria implements Predicate<Build> {
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.action.condition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.notificationreceiver;
|
package io.onedev.server.buildspec.job.action.notificationreceiver;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -21,8 +21,10 @@ import io.onedev.commons.codeassist.FenceAware;
|
|||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.action.notificationreceiver.NotificationReceiverParser.CriteriaContext;
|
import io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiverLexer;
|
||||||
import io.onedev.server.ci.job.action.notificationreceiver.NotificationReceiverParser.ReceiverContext;
|
import io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiverParser;
|
||||||
|
import io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiverParser.CriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiverParser.ReceiverContext;
|
||||||
import io.onedev.server.entitymanager.GroupManager;
|
import io.onedev.server.entitymanager.GroupManager;
|
||||||
import io.onedev.server.entitymanager.UserManager;
|
import io.onedev.server.entitymanager.UserManager;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log;
|
package io.onedev.server.buildspec.job.log;
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
import java.io.BufferedInputStream;
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
@ -39,9 +39,9 @@ import io.onedev.commons.launcher.loader.Listen;
|
|||||||
import io.onedev.commons.utils.ExceptionUtils;
|
import io.onedev.commons.utils.ExceptionUtils;
|
||||||
import io.onedev.commons.utils.LockUtils;
|
import io.onedev.commons.utils.LockUtils;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.job.log.instruction.LogInstruction;
|
import io.onedev.server.buildspec.job.log.instruction.LogInstruction;
|
||||||
import io.onedev.server.ci.job.log.instruction.LogInstructionParser.InstructionContext;
|
import io.onedev.server.buildspec.job.log.instruction.LogInstructionParser.InstructionContext;
|
||||||
import io.onedev.server.ci.job.log.instruction.LogInstructionParser.ParamContext;
|
import io.onedev.server.buildspec.job.log.instruction.LogInstructionParser.ParamContext;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.event.build.BuildFinished;
|
import io.onedev.server.event.build.BuildFinished;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log;
|
package io.onedev.server.buildspec.job.log;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log;
|
package io.onedev.server.buildspec.job.log;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log;
|
package io.onedev.server.buildspec.job.log;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log.instruction;
|
package io.onedev.server.buildspec.job.log.instruction;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -16,7 +16,9 @@ import io.onedev.commons.codeassist.FenceAware;
|
|||||||
import io.onedev.commons.launcher.loader.ExtensionPoint;
|
import io.onedev.commons.launcher.loader.ExtensionPoint;
|
||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.log.instruction.LogInstructionParser.InstructionContext;
|
import io.onedev.server.buildspec.job.log.instruction.LogInstructionLexer;
|
||||||
|
import io.onedev.server.buildspec.job.log.instruction.LogInstructionParser;
|
||||||
|
import io.onedev.server.buildspec.job.log.instruction.LogInstructionParser.InstructionContext;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
|
|
||||||
@ExtensionPoint
|
@ExtensionPoint
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.log.instruction;
|
package io.onedev.server.buildspec.job.log.instruction;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramspec;
|
package io.onedev.server.buildspec.job.paramspec;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramsupply;
|
package io.onedev.server.buildspec.job.paramsupply;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -26,9 +26,9 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramspec.SecretParam;
|
import io.onedev.server.buildspec.job.paramspec.SecretParam;
|
||||||
import io.onedev.server.util.inputspec.SecretInput;
|
import io.onedev.server.util.inputspec.SecretInput;
|
||||||
import io.onedev.server.web.editable.BeanDescriptor;
|
import io.onedev.server.web.editable.BeanDescriptor;
|
||||||
import io.onedev.server.web.editable.PropertyDescriptor;
|
import io.onedev.server.web.editable.PropertyDescriptor;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramsupply;
|
package io.onedev.server.buildspec.job.paramsupply;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramsupply;
|
package io.onedev.server.buildspec.job.paramsupply;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.paramsupply;
|
package io.onedev.server.buildspec.job.paramsupply;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@ -1,10 +1,10 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.job.log.LogManager;
|
import io.onedev.server.buildspec.job.log.LogManager;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
|
|
||||||
public class LogCriteria implements Predicate<Build> {
|
public class LogCriteria implements Predicate<Build> {
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.action.condition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.retrycondition;
|
package io.onedev.server.buildspec.job.retrycondition;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -16,14 +16,17 @@ import io.onedev.commons.codeassist.AntlrUtils;
|
|||||||
import io.onedev.commons.codeassist.FenceAware;
|
import io.onedev.commons.codeassist.FenceAware;
|
||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.AndCriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionBaseVisitor;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.ConditionContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionLexer;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.CriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.FieldOperatorValueCriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.AndCriteriaContext;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.NotCriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.ConditionContext;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.OrCriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.CriteriaContext;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser.ParensCriteriaContext;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.FieldOperatorValueCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.NotCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.OrCriteriaContext;
|
||||||
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser.ParensCriteriaContext;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.util.BuildConstants;
|
import io.onedev.server.util.BuildConstants;
|
||||||
import io.onedev.server.util.criteria.AndCriteria;
|
import io.onedev.server.util.criteria.AndCriteria;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.trigger;
|
package io.onedev.server.buildspec.job.trigger;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -8,7 +8,7 @@ import org.eclipse.jgit.lib.ObjectId;
|
|||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.commons.utils.match.Matcher;
|
import io.onedev.commons.utils.match.Matcher;
|
||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.event.RefUpdated;
|
import io.onedev.server.event.RefUpdated;
|
||||||
import io.onedev.server.git.GitUtils;
|
import io.onedev.server.git.GitUtils;
|
||||||
@ -1,10 +1,10 @@
|
|||||||
package io.onedev.server.ci.job.trigger;
|
package io.onedev.server.buildspec.job.trigger;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobDependency;
|
import io.onedev.server.buildspec.job.JobDependency;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.event.build.BuildFinished;
|
import io.onedev.server.event.build.BuildFinished;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.trigger;
|
package io.onedev.server.buildspec.job.trigger;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -8,10 +8,10 @@ import javax.validation.Valid;
|
|||||||
|
|
||||||
import org.apache.wicket.Component;
|
import org.apache.wicket.Component;
|
||||||
|
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobAware;
|
import io.onedev.server.buildspec.job.JobAware;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.util.ComponentContext;
|
import io.onedev.server.util.ComponentContext;
|
||||||
import io.onedev.server.web.editable.annotation.Editable;
|
import io.onedev.server.web.editable.annotation.Editable;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.trigger;
|
package io.onedev.server.buildspec.job.trigger;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -8,7 +8,7 @@ import org.eclipse.jgit.lib.ObjectId;
|
|||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.commons.utils.match.Matcher;
|
import io.onedev.commons.utils.match.Matcher;
|
||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.event.pullrequest.PullRequestMergePreviewCalculated;
|
import io.onedev.server.event.pullrequest.PullRequestMergePreviewCalculated;
|
||||||
import io.onedev.server.git.GitUtils;
|
import io.onedev.server.git.GitUtils;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package io.onedev.server.ci.job.trigger;
|
package io.onedev.server.buildspec.job.trigger;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -6,7 +6,7 @@ import org.eclipse.jgit.lib.ObjectId;
|
|||||||
|
|
||||||
import io.onedev.commons.codeassist.InputSuggestion;
|
import io.onedev.commons.codeassist.InputSuggestion;
|
||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.event.ProjectEvent;
|
import io.onedev.server.event.ProjectEvent;
|
||||||
import io.onedev.server.event.RefUpdated;
|
import io.onedev.server.event.RefUpdated;
|
||||||
import io.onedev.server.git.GitUtils;
|
import io.onedev.server.git.GitUtils;
|
||||||
@ -1,10 +0,0 @@
|
|||||||
package io.onedev.server.ci;
|
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
public interface CISpecAware {
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
CISpec getCISpec();
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
package io.onedev.server.ci;
|
|
||||||
|
|
||||||
import io.onedev.server.OneException;
|
|
||||||
|
|
||||||
public class InvalidCISpecException extends OneException {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public InvalidCISpecException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -18,7 +18,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import io.onedev.commons.launcher.loader.Listen;
|
import io.onedev.commons.launcher.loader.Listen;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.entitymanager.BuildParamManager;
|
import io.onedev.server.entitymanager.BuildParamManager;
|
||||||
import io.onedev.server.event.system.SystemStarted;
|
import io.onedev.server.event.system.SystemStarted;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
|
|||||||
@ -60,13 +60,13 @@ import io.onedev.commons.utils.MatrixRunner;
|
|||||||
import io.onedev.commons.utils.concurrent.Prioritized;
|
import io.onedev.commons.utils.concurrent.Prioritized;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
|
import io.onedev.server.buildspec.job.Job;
|
||||||
|
import io.onedev.server.buildspec.job.JobManager;
|
||||||
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
|
import io.onedev.server.buildspec.job.trigger.JobTrigger;
|
||||||
|
import io.onedev.server.buildspec.job.trigger.PullRequestTrigger;
|
||||||
import io.onedev.server.cache.CommitInfoManager;
|
import io.onedev.server.cache.CommitInfoManager;
|
||||||
import io.onedev.server.ci.CISpec;
|
|
||||||
import io.onedev.server.ci.job.Job;
|
|
||||||
import io.onedev.server.ci.job.JobManager;
|
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
|
||||||
import io.onedev.server.ci.job.trigger.JobTrigger;
|
|
||||||
import io.onedev.server.ci.job.trigger.PullRequestTrigger;
|
|
||||||
import io.onedev.server.entitymanager.ProjectManager;
|
import io.onedev.server.entitymanager.ProjectManager;
|
||||||
import io.onedev.server.entitymanager.PullRequestBuildManager;
|
import io.onedev.server.entitymanager.PullRequestBuildManager;
|
||||||
import io.onedev.server.entitymanager.PullRequestChangeManager;
|
import io.onedev.server.entitymanager.PullRequestChangeManager;
|
||||||
@ -734,9 +734,9 @@ public class DefaultPullRequestManager extends AbstractEntityManager<PullRequest
|
|||||||
} else {
|
} else {
|
||||||
requiredJobNames = new HashSet<>();
|
requiredJobNames = new HashSet<>();
|
||||||
}
|
}
|
||||||
CISpec ciSpec = project.getCISpec(commitId);
|
BuildSpec buildSpec = project.getBuildSpec(commitId);
|
||||||
if (ciSpec != null) {
|
if (buildSpec != null) {
|
||||||
for (Job job: ciSpec.getJobs()) {
|
for (Job job: buildSpec.getJobs()) {
|
||||||
for (JobTrigger trigger: job.getTriggers()) {
|
for (JobTrigger trigger: job.getTriggers()) {
|
||||||
if (trigger instanceof PullRequestTrigger) {
|
if (trigger instanceof PullRequestTrigger) {
|
||||||
PullRequestTrigger pullRequestTrigger = (PullRequestTrigger) trigger;
|
PullRequestTrigger pullRequestTrigger = (PullRequestTrigger) trigger;
|
||||||
|
|||||||
@ -49,12 +49,12 @@ import io.onedev.commons.utils.LockUtils;
|
|||||||
import io.onedev.commons.utils.StringUtils;
|
import io.onedev.commons.utils.StringUtils;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
|
import io.onedev.server.buildspec.job.Job;
|
||||||
|
import io.onedev.server.buildspec.job.VariableInterpolator;
|
||||||
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
|
import io.onedev.server.buildspec.job.paramsupply.ParamSupply;
|
||||||
import io.onedev.server.cache.CommitInfoManager;
|
import io.onedev.server.cache.CommitInfoManager;
|
||||||
import io.onedev.server.ci.CISpec;
|
|
||||||
import io.onedev.server.ci.job.Job;
|
|
||||||
import io.onedev.server.ci.job.VariableInterpolator;
|
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
|
||||||
import io.onedev.server.ci.job.paramsupply.ParamSupply;
|
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.git.GitUtils;
|
import io.onedev.server.git.GitUtils;
|
||||||
import io.onedev.server.git.RefInfo;
|
import io.onedev.server.git.RefInfo;
|
||||||
@ -187,7 +187,7 @@ public class Build extends AbstractEntity implements Referenceable {
|
|||||||
|
|
||||||
private transient Map<Build.Status, Collection<RevCommit>> commitsCache;
|
private transient Map<Build.Status, Collection<RevCommit>> commitsCache;
|
||||||
|
|
||||||
private transient CISpec ciSpec;
|
private transient BuildSpec buildSpec;
|
||||||
|
|
||||||
private transient Job job;
|
private transient Job job;
|
||||||
|
|
||||||
@ -537,15 +537,15 @@ public class Build extends AbstractEntity implements Referenceable {
|
|||||||
return project.getSecretValue(secretName, ObjectId.fromString(getCommitHash()));
|
return project.getSecretValue(secretName, ObjectId.fromString(getCommitHash()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public CISpec getCISpec() {
|
public BuildSpec getBuildSpec() {
|
||||||
if (ciSpec == null)
|
if (buildSpec == null)
|
||||||
ciSpec = Preconditions.checkNotNull(getProject().getCISpec(getCommitId()));
|
buildSpec = Preconditions.checkNotNull(getProject().getBuildSpec(getCommitId()));
|
||||||
return ciSpec;
|
return buildSpec;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Job getJob() {
|
public Job getJob() {
|
||||||
if (job == null)
|
if (job == null)
|
||||||
job = Preconditions.checkNotNull(getCISpec().getJobMap().get(getJobName()));
|
job = Preconditions.checkNotNull(getBuildSpec().getJobMap().get(getJobName()));
|
||||||
return job;
|
return job;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -73,8 +73,8 @@ import io.onedev.commons.utils.match.Matcher;
|
|||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
|
import io.onedev.server.buildspec.BuildSpec;
|
||||||
import io.onedev.server.cache.CommitInfoManager;
|
import io.onedev.server.cache.CommitInfoManager;
|
||||||
import io.onedev.server.ci.CISpec;
|
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.entitymanager.BuildQuerySettingManager;
|
import io.onedev.server.entitymanager.BuildQuerySettingManager;
|
||||||
import io.onedev.server.entitymanager.CodeCommentQuerySettingManager;
|
import io.onedev.server.entitymanager.CodeCommentQuerySettingManager;
|
||||||
@ -290,7 +290,7 @@ public class Project extends AbstractEntity {
|
|||||||
|
|
||||||
private transient Map<String, Optional<ObjectId>> objectIdCache;
|
private transient Map<String, Optional<ObjectId>> objectIdCache;
|
||||||
|
|
||||||
private transient Map<ObjectId, Optional<CISpec>> ciSpecCache;
|
private transient Map<ObjectId, Optional<BuildSpec>> buildSpecCache;
|
||||||
|
|
||||||
private transient Map<ObjectId, Map<String, Status>> commitStatusCache;
|
private transient Map<ObjectId, Map<String, Status>> commitStatusCache;
|
||||||
|
|
||||||
@ -672,36 +672,36 @@ public class Project extends AbstractEntity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get CI spec of specified commit
|
* Get build spec of specified commit
|
||||||
* @param commitId
|
* @param commitId
|
||||||
* commit id to get CI spec for
|
* commit id to get build spec for
|
||||||
* @return
|
* @return
|
||||||
* CI spec of specified commit, or <tt>null</tt> if no CI spec is defined and
|
* build spec of specified commit, or <tt>null</tt> if no build spec is defined and
|
||||||
* auto-detection also can not provide an appropriate CI spec
|
* auto-detection also can not provide an appropriate build spec
|
||||||
* @throws
|
* @throws
|
||||||
* Exception when CI spec is defined but not valid
|
* Exception when build spec is defined but not valid
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public CISpec getCISpec(ObjectId commitId) {
|
public BuildSpec getBuildSpec(ObjectId commitId) {
|
||||||
if (ciSpecCache == null)
|
if (buildSpecCache == null)
|
||||||
ciSpecCache = new HashMap<>();
|
buildSpecCache = new HashMap<>();
|
||||||
Optional<CISpec> ciSpec = ciSpecCache.get(commitId);
|
Optional<BuildSpec> buildSpec = buildSpecCache.get(commitId);
|
||||||
if (ciSpec == null) {
|
if (buildSpec == null) {
|
||||||
Blob blob = getBlob(new BlobIdent(commitId.name(), CISpec.BLOB_PATH, FileMode.TYPE_FILE), false);
|
Blob blob = getBlob(new BlobIdent(commitId.name(), BuildSpec.BLOB_PATH, FileMode.TYPE_FILE), false);
|
||||||
if (blob != null)
|
if (blob != null)
|
||||||
ciSpec = Optional.fromNullable(CISpec.parse(blob.getBytes()));
|
buildSpec = Optional.fromNullable(BuildSpec.parse(blob.getBytes()));
|
||||||
else
|
else
|
||||||
ciSpec = Optional.absent();
|
buildSpec = Optional.absent();
|
||||||
ciSpecCache.put(commitId, ciSpec);
|
buildSpecCache.put(commitId, buildSpec);
|
||||||
}
|
}
|
||||||
return ciSpec.orNull();
|
return buildSpec.orNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getJobNames() {
|
public List<String> getJobNames() {
|
||||||
if (jobNames == null) {
|
if (jobNames == null) {
|
||||||
Set<String> jobNameSet = new HashSet<>();
|
Set<String> jobNameSet = new HashSet<>();
|
||||||
for (RefInfo refInfo: getBranches()) {
|
for (RefInfo refInfo: getBranches()) {
|
||||||
Blob blob = getBlob(new BlobIdent(refInfo.getPeeledObj().name(), CISpec.BLOB_PATH, FileMode.TYPE_FILE), false);
|
Blob blob = getBlob(new BlobIdent(refInfo.getPeeledObj().name(), BuildSpec.BLOB_PATH, FileMode.TYPE_FILE), false);
|
||||||
if (blob != null && blob.getText() != null) {
|
if (blob != null && blob.getText() != null) {
|
||||||
try {
|
try {
|
||||||
VersionedDocument dom = VersionedDocument.fromXML(blob.getText().getContent());
|
VersionedDocument dom = VersionedDocument.fromXML(blob.getText().getContent());
|
||||||
|
|||||||
@ -7,13 +7,13 @@ import java.util.List;
|
|||||||
import edu.emory.mathcs.backport.java.util.Collections;
|
import edu.emory.mathcs.backport.java.util.Collections;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.JobContext;
|
import io.onedev.server.buildspec.job.JobContext;
|
||||||
import io.onedev.server.ci.job.JobExecutorDiscoverer;
|
import io.onedev.server.buildspec.job.JobExecutorDiscoverer;
|
||||||
import io.onedev.server.web.editable.EditableUtils;
|
import io.onedev.server.web.editable.EditableUtils;
|
||||||
import io.onedev.server.web.editable.annotation.Editable;
|
import io.onedev.server.web.editable.annotation.Editable;
|
||||||
import io.onedev.server.web.editable.annotation.Horizontal;
|
import io.onedev.server.web.editable.annotation.Horizontal;
|
||||||
|
|
||||||
@Editable(order=10000, description="Discover appropriate job executor automatically to run CI jobs")
|
@Editable(order=10000, description="Discover appropriate job executor automatically to run builds")
|
||||||
@Horizontal
|
@Horizontal
|
||||||
public class AutoDiscoveredJobExecutor extends JobExecutor {
|
public class AutoDiscoveredJobExecutor extends JobExecutor {
|
||||||
|
|
||||||
@ -38,6 +38,7 @@ public class AutoDiscoveredJobExecutor extends JobExecutor {
|
|||||||
|
|
||||||
});
|
});
|
||||||
JobExecutor jobExecutor = jobExecutors.iterator().next();
|
JobExecutor jobExecutor = jobExecutors.iterator().next();
|
||||||
|
jobExecutor.setName(getName());
|
||||||
jobExecutor.setApplicableBranches(getApplicableBranches());
|
jobExecutor.setApplicableBranches(getApplicableBranches());
|
||||||
jobExecutor.setCacheTTL(getCacheTTL());
|
jobExecutor.setCacheTTL(getCacheTTL());
|
||||||
jobExecutor.setEnabled(isEnabled());
|
jobExecutor.setEnabled(isEnabled());
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import io.onedev.commons.launcher.loader.ExtensionPoint;
|
|||||||
import io.onedev.commons.utils.match.Matcher;
|
import io.onedev.commons.utils.match.Matcher;
|
||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.job.JobContext;
|
import io.onedev.server.buildspec.job.JobContext;
|
||||||
import io.onedev.server.entitymanager.BuildManager;
|
import io.onedev.server.entitymanager.BuildManager;
|
||||||
import io.onedev.server.model.Project;
|
import io.onedev.server.model.Project;
|
||||||
import io.onedev.server.util.Usage;
|
import io.onedev.server.util.Usage;
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import javax.validation.constraints.Size;
|
|||||||
|
|
||||||
import io.onedev.commons.utils.match.Matcher;
|
import io.onedev.commons.utils.match.Matcher;
|
||||||
import io.onedev.commons.utils.match.PathMatcher;
|
import io.onedev.commons.utils.match.PathMatcher;
|
||||||
import io.onedev.server.ci.job.JobService;
|
import io.onedev.server.buildspec.job.JobService;
|
||||||
import io.onedev.server.util.patternset.PatternSet;
|
import io.onedev.server.util.patternset.PatternSet;
|
||||||
import io.onedev.server.web.editable.annotation.Editable;
|
import io.onedev.server.web.editable.annotation.Editable;
|
||||||
import io.onedev.server.web.editable.annotation.NameOfEmptyValue;
|
import io.onedev.server.web.editable.annotation.NameOfEmptyValue;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import javax.annotation.Nullable;
|
|||||||
import javax.validation.ConstraintValidatorContext;
|
import javax.validation.ConstraintValidatorContext;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
import io.onedev.server.ci.job.paramspec.ChoiceParam;
|
import io.onedev.server.buildspec.job.paramspec.ChoiceParam;
|
||||||
import io.onedev.server.issue.fieldspec.ChoiceField;
|
import io.onedev.server.issue.fieldspec.ChoiceField;
|
||||||
import io.onedev.server.util.inputspec.InputSpec;
|
import io.onedev.server.util.inputspec.InputSpec;
|
||||||
import io.onedev.server.util.validation.Validatable;
|
import io.onedev.server.util.validation.Validatable;
|
||||||
|
|||||||
@ -33,13 +33,16 @@ public class UrlProcessor implements MarkdownProcessor {
|
|||||||
public void process(Project project, Document rendered, Object context) {
|
public void process(Project project, Document rendered, Object context) {
|
||||||
if (context instanceof BlobRenderContext && project != null) {
|
if (context instanceof BlobRenderContext && project != null) {
|
||||||
BlobRenderContext blobRenderContext = (BlobRenderContext) context;
|
BlobRenderContext blobRenderContext = (BlobRenderContext) context;
|
||||||
|
|
||||||
Repository repository = project.getRepository();
|
Repository repository = project.getRepository();
|
||||||
RevCommit commit;
|
RevCommit commit;
|
||||||
try (RevWalk revWalk = new RevWalk(repository)) {
|
if (blobRenderContext.getBlobIdent().revision != null) {
|
||||||
commit = revWalk.parseCommit(repository.resolve(blobRenderContext.getBlobIdent().revision));
|
try (RevWalk revWalk = new RevWalk(repository)) {
|
||||||
} catch (IOException e) {
|
commit = revWalk.parseCommit(repository.resolve(blobRenderContext.getBlobIdent().revision));
|
||||||
throw new RuntimeException(e);
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
commit = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
new NodeTraversor(new NodeVisitor() {
|
new NodeTraversor(new NodeVisitor() {
|
||||||
@ -62,25 +65,25 @@ public class UrlProcessor implements MarkdownProcessor {
|
|||||||
String directory = blobRenderContext.getDirectory();
|
String directory = blobRenderContext.getDirectory();
|
||||||
String referencedPath = PathUtils.resolve(directory, path);
|
String referencedPath = PathUtils.resolve(directory, path);
|
||||||
referencedPath = GitUtils.normalizePath(referencedPath);
|
referencedPath = GitUtils.normalizePath(referencedPath);
|
||||||
if (referencedPath != null && TreeWalk.forPath(repository, referencedPath, commit.getTree()) == null) {
|
if (referencedPath != null && (commit == null || TreeWalk.forPath(repository, referencedPath, commit.getTree()) == null)) {
|
||||||
element.after("<span class='missing'>!!missing!!</span>");
|
element.after("<span class='missing'>!!missing!!</span>");
|
||||||
Element missingElement = element.nextElementSibling();
|
Element missingElement = element.nextElementSibling();
|
||||||
BlobIdent blobIdent = blobRenderContext.getBlobIdent();
|
BlobIdent blobIdent = blobRenderContext.getBlobIdent();
|
||||||
Mode mode = blobRenderContext.getMode();
|
Mode mode = blobRenderContext.getMode();
|
||||||
if (mode != Mode.ADD && mode != Mode.EDIT
|
if (mode != Mode.ADD && mode != Mode.EDIT
|
||||||
&& SecurityUtils.canModify(project, blobIdent.revision, referencedPath)) {
|
&& SecurityUtils.canModify(project, blobIdent.revision, referencedPath)) {
|
||||||
ProjectBlobPage.State state = new ProjectBlobPage.State();
|
ProjectBlobPage.State state = new ProjectBlobPage.State();
|
||||||
state.blobIdent = blobRenderContext.getBlobIdent();
|
state.blobIdent = blobRenderContext.getBlobIdent();
|
||||||
state.mode = Mode.ADD;
|
state.mode = Mode.ADD;
|
||||||
state.initialNewPath = path;
|
state.initialNewPath = path;
|
||||||
CharSequence urlToAddFile = RequestCycle.get().urlFor(ProjectBlobPage.class,
|
CharSequence urlToAddFile = RequestCycle.get().urlFor(ProjectBlobPage.class,
|
||||||
ProjectBlobPage.paramsOf(project, state));
|
ProjectBlobPage.paramsOf(project, state));
|
||||||
String htmlToAddFile = String.format(
|
String htmlToAddFile = String.format(
|
||||||
"<a href='%s' title='Add this file' class='add-missing'><i class='fa fa-plus'></i></a>",
|
"<a href='%s' title='Add this file' class='add-missing'><i class='fa fa-plus'></i></a>",
|
||||||
urlToAddFile.toString());
|
urlToAddFile.toString());
|
||||||
missingElement.after(htmlToAddFile);
|
missingElement.after(htmlToAddFile);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
@ -97,7 +100,7 @@ public class UrlProcessor implements MarkdownProcessor {
|
|||||||
String basePath = blobRenderContext.getDirectory();
|
String basePath = blobRenderContext.getDirectory();
|
||||||
String referencedPath = PathUtils.resolve(basePath, UrlUtils.trimHashAndQuery(URLDecoder.decode(url, Charsets.UTF_8.name())));
|
String referencedPath = PathUtils.resolve(basePath, UrlUtils.trimHashAndQuery(URLDecoder.decode(url, Charsets.UTF_8.name())));
|
||||||
referencedPath = GitUtils.normalizePath(referencedPath);
|
referencedPath = GitUtils.normalizePath(referencedPath);
|
||||||
if (referencedPath != null && TreeWalk.forPath(repository, referencedPath, commit.getTree()) == null) {
|
if (referencedPath != null && (commit == null || TreeWalk.forPath(repository, referencedPath, commit.getTree()) == null)) {
|
||||||
element.after("<span class='missing'>!!missing!!</span>");
|
element.after("<span class='missing'>!!missing!!</span>");
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -108,7 +111,6 @@ public class UrlProcessor implements MarkdownProcessor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).traverse(rendered);
|
}).traverse(rendered);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ public class NotificationReceiverValidator implements ConstraintValidator<Notifi
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
io.onedev.server.ci.job.action.notificationreceiver.NotificationReceiver.fromString(value, null);
|
io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiver.fromString(value, null);
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
constraintContext.disableDefaultConstraintViolation();
|
constraintContext.disableDefaultConstraintViolation();
|
||||||
|
|||||||
@ -33,9 +33,15 @@ onedev.server.codemirror = {
|
|||||||
onedev.server.codemirror.setMode(cm, modeInfo);
|
onedev.server.codemirror.setMode(cm, modeInfo);
|
||||||
},
|
},
|
||||||
setModeByFileName: function(cm, fileName) {
|
setModeByFileName: function(cm, fileName) {
|
||||||
var modeInfo = CodeMirror.findModeByFileName(fileName);
|
if (fileName.endsWith(".cbl") || fileName.endsWith(".pco")) {
|
||||||
if (modeInfo)
|
onedev.server.codemirror.setModeByName(cm, "cobol");
|
||||||
onedev.server.codemirror.setMode(cm, modeInfo);
|
} else if (fileName == ".onedev-buildspec") {
|
||||||
|
onedev.server.codemirror.setModeByName(cm, "xml");
|
||||||
|
} else {
|
||||||
|
var modeInfo = CodeMirror.findModeByFileName(fileName);
|
||||||
|
if (modeInfo)
|
||||||
|
onedev.server.codemirror.setMode(cm, modeInfo);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
setMode: function(cm, modeInfo) {
|
setMode: function(cm, modeInfo) {
|
||||||
// specify mode via mime does not work for gfm (github flavored markdown)
|
// specify mode via mime does not work for gfm (github flavored markdown)
|
||||||
|
|||||||
@ -17,12 +17,12 @@ import io.onedev.commons.codeassist.parser.Element;
|
|||||||
import io.onedev.commons.codeassist.parser.ParseExpect;
|
import io.onedev.commons.codeassist.parser.ParseExpect;
|
||||||
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobAware;
|
import io.onedev.server.buildspec.job.JobAware;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionCondition;
|
import io.onedev.server.buildspec.job.action.condition.ActionCondition;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionLexer;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.action.condition.ActionConditionParser;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionLexer;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.action.condition.ActionConditionParser;
|
||||||
import io.onedev.server.git.GitUtils;
|
import io.onedev.server.git.GitUtils;
|
||||||
import io.onedev.server.git.RefInfo;
|
import io.onedev.server.git.RefInfo;
|
||||||
import io.onedev.server.model.Project;
|
import io.onedev.server.model.Project;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import io.onedev.commons.codeassist.InputSuggestion;
|
|||||||
import io.onedev.commons.codeassist.grammar.LexerRuleRefElementSpec;
|
import io.onedev.commons.codeassist.grammar.LexerRuleRefElementSpec;
|
||||||
import io.onedev.commons.codeassist.parser.ParseExpect;
|
import io.onedev.commons.codeassist.parser.ParseExpect;
|
||||||
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
||||||
import io.onedev.server.ci.job.action.notificationreceiver.NotificationReceiverParser;
|
import io.onedev.server.buildspec.job.action.notificationreceiver.NotificationReceiverParser;
|
||||||
import io.onedev.server.model.Project;
|
import io.onedev.server.model.Project;
|
||||||
import io.onedev.server.web.behavior.inputassist.ANTLRAssistBehavior;
|
import io.onedev.server.web.behavior.inputassist.ANTLRAssistBehavior;
|
||||||
import io.onedev.server.web.util.SuggestionUtils;
|
import io.onedev.server.web.util.SuggestionUtils;
|
||||||
|
|||||||
@ -17,12 +17,12 @@ import io.onedev.commons.codeassist.parser.Element;
|
|||||||
import io.onedev.commons.codeassist.parser.ParseExpect;
|
import io.onedev.commons.codeassist.parser.ParseExpect;
|
||||||
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
import io.onedev.commons.codeassist.parser.TerminalExpect;
|
||||||
import io.onedev.server.OneException;
|
import io.onedev.server.OneException;
|
||||||
import io.onedev.server.ci.job.Job;
|
import io.onedev.server.buildspec.job.Job;
|
||||||
import io.onedev.server.ci.job.JobAware;
|
import io.onedev.server.buildspec.job.JobAware;
|
||||||
import io.onedev.server.ci.job.paramspec.ParamSpec;
|
import io.onedev.server.buildspec.job.paramspec.ParamSpec;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryCondition;
|
import io.onedev.server.buildspec.job.retrycondition.RetryCondition;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionLexer;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionLexer;
|
||||||
import io.onedev.server.ci.job.retrycondition.RetryConditionParser;
|
import io.onedev.server.buildspec.job.retrycondition.RetryConditionParser;
|
||||||
import io.onedev.server.util.BuildConstants;
|
import io.onedev.server.util.BuildConstants;
|
||||||
import io.onedev.server.web.behavior.inputassist.ANTLRAssistBehavior;
|
import io.onedev.server.web.behavior.inputassist.ANTLRAssistBehavior;
|
||||||
import io.onedev.server.web.util.SuggestionUtils;
|
import io.onedev.server.web.util.SuggestionUtils;
|
||||||
|
|||||||
@ -1,9 +1,12 @@
|
|||||||
package io.onedev.server.web.component.blob;
|
package io.onedev.server.web.component.blob;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import org.apache.wicket.Component;
|
import org.apache.wicket.Component;
|
||||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||||
@ -31,7 +34,7 @@ public abstract class BlobPicker extends Panel {
|
|||||||
|
|
||||||
private final ObjectId commitId;
|
private final ObjectId commitId;
|
||||||
|
|
||||||
public BlobPicker(String id, ObjectId commitId) {
|
public BlobPicker(String id, @Nullable ObjectId commitId) {
|
||||||
super(id);
|
super(id);
|
||||||
|
|
||||||
this.commitId = commitId;
|
this.commitId = commitId;
|
||||||
@ -49,7 +52,10 @@ public abstract class BlobPicker extends Panel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterator<? extends BlobIdent> getRoots() {
|
public Iterator<? extends BlobIdent> getRoots() {
|
||||||
return getChildren(new BlobIdent(commitId.name(), null, FileMode.TYPE_TREE));
|
if (commitId != null)
|
||||||
|
return getChildren(new BlobIdent(commitId.name(), null, FileMode.TYPE_TREE));
|
||||||
|
else
|
||||||
|
return new ArrayList<BlobIdent>().iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -15,9 +15,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
import io.onedev.server.OneDev;
|
import io.onedev.server.OneDev;
|
||||||
import io.onedev.server.ci.job.log.JobLogEntry;
|
import io.onedev.server.buildspec.job.log.JobLogEntry;
|
||||||
import io.onedev.server.ci.job.log.LogManager;
|
import io.onedev.server.buildspec.job.log.LogManager;
|
||||||
import io.onedev.server.ci.job.log.LogSnippet;
|
import io.onedev.server.buildspec.job.log.LogSnippet;
|
||||||
import io.onedev.server.model.Build;
|
import io.onedev.server.model.Build;
|
||||||
import io.onedev.server.web.behavior.WebSocketObserver;
|
import io.onedev.server.web.behavior.WebSocketObserver;
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user