@ConfigTag("depends") public class DependsConfig { @ConfigAttribute(value = "pipeline", optional = false) private String pipeline; @ConfigAttribute(value = "stage", optional = false) private String stage; public DependsConfig() { } public DependsConfig(String pipeline, String stage) { this.pipeline = pipeline; this.stage = stage; } public String getPipeline() { return pipeline; } public String getStage() { return stage; } public boolean depends(String pipelineName, String stageName) { return StringUtils.equals(this.pipeline, pipelineName) && StringUtils.equals(this.stage, stageName); } }
@ConfigTag("ant") public class AntTask extends BuildTask { public static final String TYPE = "ant";
@ConfigTag("rake") public class RakeTask extends BuildTask { public static final String TYPE = "rake";
@ConfigTag("value") public class VariableValueConfig implements Serializable { @ConfigValue
@ConfigTag("encryptedValue") public class EncryptedVariableValueConfig implements Serializable{ @ConfigValue
@ConfigTag("operate") @ConfigCollection(Admin.class) public class OperationConfig extends AdminsConfig { public OperationConfig() { } public OperationConfig(Admin... admins) { super(admins); } }
@ConfigTag("view") @ConfigCollection(Admin.class) public class ViewConfig extends AdminsConfig { public ViewConfig() { } public ViewConfig(Admin... admins) { super(admins); } }
@ConfigTag("authorization") @ConfigCollection(Admin.class) public class AuthConfig extends AdminsConfig { public AuthConfig() { } public AuthConfig(Admin... admins) { super(admins); } }
@ConfigTag("profiles") @ConfigCollection(ElasticProfile.class) public class ElasticProfiles extends PluginProfiles<ElasticProfile> implements Validatable { private final ConfigErrors errors = new ConfigErrors(); public ElasticProfiles() { } public ElasticProfiles(ElasticProfile... profiles) { super(Arrays.asList(profiles)); } }
@ConfigTag("pipelines") @ConfigCollection(value = PipelineConfig.class) public class PipelineConfigsPartials extends BaseCollection<PipelineConfigs> { }
@ConfigTag("authConfigs") @ConfigCollection(SecurityAuthConfig.class) public class SecurityAuthConfigs extends PluginProfiles<SecurityAuthConfig> implements Validatable { public SecurityAuthConfigs() { } public SecurityAuthConfigs(SecurityAuthConfig... configs) { super(configs); } }
@ConfigTag("example") class ConfigWithConfigTagAnnotation { }
@ConfigTag("artifactStores") @ConfigCollection(ArtifactStore.class) public class ArtifactStores extends PluginProfiles<ArtifactStore> implements Validatable { public ArtifactStores() { } public ArtifactStores(ArtifactStore... artifactStores) { super(artifactStores); } public ArtifactStores getArtifactStores(Set<String> storeIds) { final ArtifactStores artifactStores = new ArtifactStores(); for (ArtifactStore artifactStore : this) { if (storeIds.contains(artifactStore.getId())) { artifactStores.add(artifactStore); } } return artifactStores; } }
@ConfigTag("dependencies") @ConfigCollection(DependsConfig.class) public class DependenciesConfig extends BaseCollection<DependsConfig> { public DependenciesConfig() { } public DependenciesConfig(List<DependsConfig> dependsConfig) { super(dependsConfig); } public DependenciesConfig(DependsConfig... dependencies) { super(dependencies); } public boolean isDependsOn(String pipelineName, String stageName) { for (DependsConfig dependsConfig : this) { if (dependsConfig.depends(pipelineName, stageName)) { return true; } } return false; } }
@ConfigTag("packages") @ConfigCollection(value = PackageDefinition.class) public class Packages extends BaseCollection<PackageDefinition> implements Validatable {
@ConfigTag("users") @ConfigCollection(RoleUser.class) public class Users extends BaseCollection<RoleUser> implements Validatable {
@ConfigTag("properties") @ConfigCollection(ArtifactPropertyConfig.class) public class ArtifactPropertiesConfig extends BaseCollection<ArtifactPropertyConfig> implements Validatable {
@ConfigTag("agents") @ConfigCollection(EnvironmentAgentConfig.class) public class EnvironmentAgentsConfig extends BaseCollection<EnvironmentAgentConfig> implements ParamsAttributeAware, Validatable {
@ConfigTag("artifactStore") @ConfigReferenceCollection(collectionName = "artifactStores", idFieldName = "id") @ConfigCollection(value = ConfigurationProperty.class)
@ConfigTag("elastic") public class ElasticConfig { @ConfigAttribute(value = "jobStarvationTimeout", optional = true, allowNull = false)