/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.ivy.core.publish; import java.util.Date; import org.apache.ivy.core.module.descriptor.Artifact; /** * A set of options used during publish related tasks The publish can update the ivy file to publish * if update is set to true. In this case it will use the given pubrevision, pubdate and status. If * pudate is null it will default to the current date. If status is null it will default to the * current ivy file status (which itself defaults to integration if none is found). If update is * false, then if the revision is not the same in the ivy file than the one expected (given as * parameter), this method will fail with an IllegalArgumentException. pubdate and status are not * used if update is false. extra artifacts can be used to publish more artifacts than actually * declared in the ivy file. This can be useful to publish additional metadata or reports. The extra * artifacts array can be null (= no extra artifacts), and if non null only the name, type, ext url * and extra attributes of the artifacts are really used. Other methods (on the artifacts) can * return null safely. * * @see PublishEngine */ public class PublishOptions { private String srcIvyPattern; private String pubrevision; private String status; private Date pubdate; private Artifact[] extraArtifacts; private boolean validate; private boolean overwrite; private boolean update; private boolean merge = true; private String[] confs; private boolean haltonmissing; private String pubBranch; private boolean warnonmissing; public String[] getConfs() { return confs; } public PublishOptions setConfs(String[] confs) { this.confs = confs; return this; } public Artifact[] getExtraArtifacts() { return extraArtifacts; } public PublishOptions setExtraArtifacts(Artifact[] extraArtifacts) { this.extraArtifacts = extraArtifacts; return this; } public boolean isOverwrite() { return overwrite; } public PublishOptions setOverwrite(boolean overwrite) { this.overwrite = overwrite; return this; } public Date getPubdate() { return pubdate; } public PublishOptions setPubdate(Date pubdate) { this.pubdate = pubdate; return this; } public String getPubrevision() { return pubrevision; } public PublishOptions setPubrevision(String pubrevision) { this.pubrevision = pubrevision; return this; } public String getSrcIvyPattern() { return srcIvyPattern; } public PublishOptions setSrcIvyPattern(String srcIvyPattern) { this.srcIvyPattern = srcIvyPattern; return this; } public String getStatus() { return status; } public PublishOptions setStatus(String status) { this.status = status; return this; } public boolean isUpdate() { return update; } public PublishOptions setUpdate(boolean update) { this.update = update; return this; } public boolean isMerge() { return merge; } public PublishOptions setMerge(boolean merge) { this.merge = merge; return this; } public boolean isValidate() { return validate; } public PublishOptions setValidate(boolean validate) { this.validate = validate; return this; } public boolean isHaltOnMissing() { return haltonmissing; } public PublishOptions setHaltOnMissing(boolean haltonmissing) { this.haltonmissing = haltonmissing; return this; } public String getPubBranch() { return pubBranch; } public PublishOptions setPubbranch(String pubbranch) { this.pubBranch = pubbranch; return this; } public boolean isWarnOnMissing() { return warnonmissing; } public PublishOptions setWarnOnMissing(boolean warnonmissing) { this.warnonmissing = warnonmissing; return this; } }