001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: *
017: */
018: package org.apache.ivy.core.publish;
019:
020: import java.util.Date;
021:
022: import org.apache.ivy.core.module.descriptor.Artifact;
023:
024: /**
025: * A set of options used during publish related tasks The publish can update the ivy file to publish
026: * if update is set to true. In this case it will use the given pubrevision, pubdate and status. If
027: * pudate is null it will default to the current date. If status is null it will default to the
028: * current ivy file status (which itself defaults to integration if none is found). If update is
029: * false, then if the revision is not the same in the ivy file than the one expected (given as
030: * parameter), this method will fail with an IllegalArgumentException. pubdate and status are not
031: * used if update is false. extra artifacts can be used to publish more artifacts than actually
032: * declared in the ivy file. This can be useful to publish additional metadata or reports. The extra
033: * artifacts array can be null (= no extra artifacts), and if non null only the name, type, ext url
034: * and extra attributes of the artifacts are really used. Other methods (on the artifacts) can
035: * return null safely.
036: *
037: * @see PublishEngine
038: */
039: public class PublishOptions {
040: private String srcIvyPattern;
041:
042: private String pubrevision;
043:
044: private String status;
045:
046: private Date pubdate;
047:
048: private Artifact[] extraArtifacts;
049:
050: private boolean validate;
051:
052: private boolean overwrite;
053:
054: private boolean update;
055:
056: private String[] confs;
057:
058: public String[] getConfs() {
059: return confs;
060: }
061:
062: public PublishOptions setConfs(String[] confs) {
063: this .confs = confs;
064: return this ;
065: }
066:
067: public Artifact[] getExtraArtifacts() {
068: return extraArtifacts;
069: }
070:
071: public PublishOptions setExtraArtifacts(Artifact[] extraArtifacts) {
072: this .extraArtifacts = extraArtifacts;
073: return this ;
074: }
075:
076: public boolean isOverwrite() {
077: return overwrite;
078: }
079:
080: public PublishOptions setOverwrite(boolean overwrite) {
081: this .overwrite = overwrite;
082: return this ;
083: }
084:
085: public Date getPubdate() {
086: return pubdate;
087: }
088:
089: public PublishOptions setPubdate(Date pubdate) {
090: this .pubdate = pubdate;
091: return this ;
092: }
093:
094: public String getPubrevision() {
095: return pubrevision;
096: }
097:
098: public PublishOptions setPubrevision(String pubrevision) {
099: this .pubrevision = pubrevision;
100: return this ;
101: }
102:
103: public String getSrcIvyPattern() {
104: return srcIvyPattern;
105: }
106:
107: public PublishOptions setSrcIvyPattern(String srcIvyPattern) {
108: this .srcIvyPattern = srcIvyPattern;
109: return this ;
110: }
111:
112: public String getStatus() {
113: return status;
114: }
115:
116: public PublishOptions setStatus(String status) {
117: this .status = status;
118: return this ;
119: }
120:
121: public boolean isUpdate() {
122: return update;
123: }
124:
125: public PublishOptions setUpdate(boolean update) {
126: this .update = update;
127: return this ;
128: }
129:
130: public boolean isValidate() {
131: return validate;
132: }
133:
134: public PublishOptions setValidate(boolean validate) {
135: this.validate = validate;
136: return this;
137: }
138:
139: }
|