01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: *
17: */
18: /*
19: * Portions of this software are based upon public domain software
20: * originally written at the National Center for Supercomputing Applications,
21: * University of Illinois, Urbana-Champaign.
22: */
23:
24: package org.apache.tools.ant.taskdefs.optional.perforce;
25:
26: import org.apache.tools.ant.BuildException;
27:
28: /**
29: * Reopen Perforce checkout files between changelists.
30: *
31: * @ant.task category="scm"
32: */
33: public class P4Reopen extends P4Base {
34:
35: private String toChange = "";
36:
37: /**
38: * The changelist to move files to; required.
39: * @param toChange new change list number
40: * @throws BuildException if the change parameter is null or empty
41: */
42: public void setToChange(String toChange) throws BuildException {
43: if (toChange == null || toChange.equals("")) {
44: throw new BuildException(
45: "P4Reopen: tochange cannot be null or empty");
46: }
47:
48: this .toChange = toChange;
49: }
50:
51: /**
52: * do the work
53: * @throws BuildException if P4View is null
54: */
55: public void execute() throws BuildException {
56: if (P4View == null) {
57: throw new BuildException("No view specified to reopen");
58: }
59: execP4Command("-s reopen -c " + toChange + " " + P4View,
60: new SimpleP4OutputHandler(this));
61: }
62: }
|