|
Ant example source code file (P4Resolve.java)
The P4Resolve.java source code/* * 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. * */ /* * Portions of this software are based upon public domain software * originally written at the National Center for Supercomputing Applications, * University of Illinois, Urbana-Champaign. */ package org.apache.tools.ant.taskdefs.optional.perforce; import org.apache.tools.ant.BuildException; /** * @ant.task category="scm" */ public class P4Resolve extends P4Base { private String resolvemode = null; private boolean redoall; /* -f */ private boolean simulationmode; /* -n */ private boolean forcetextmode; /* -t */ private boolean markersforall; /* -v */ private static final String AUTOMATIC = "automatic"; private static final String FORCE = "force"; private static final String SAFE = "safe"; private static final String THEIRS = "theirs"; private static final String YOURS = "yours"; private static final String[] RESOLVE_MODES = { AUTOMATIC, FORCE, SAFE, THEIRS, YOURS }; /** * returns the resolve mode * @return returns the resolve mode */ public String getResolvemode() { return resolvemode; } /** * values for resolvemode * <ul> * <li> automatic -am * <li> force -af * <li> safe -as * <li> theirs -at * <li> yours -ay * </ul> * @param resolvemode one of automatic, force, safe, theirs, yours */ public void setResolvemode(String resolvemode) { boolean found = false; for (int counter = 0; counter < RESOLVE_MODES.length; counter++) { if (resolvemode.equals(RESOLVE_MODES[counter])) { found = true; break; } } if (!found) { throw new BuildException("Unacceptable value for resolve mode"); } this.resolvemode = resolvemode; } /** * allows previously resolved files to be resolved again * @return flag indicating whether one wants to * allow previously resolved files to be resolved again */ public boolean isRedoall() { return redoall; } /** * set the redoall flag * @param redoall flag indicating whether one want to * allow previously resolved files to be resolved again */ public void setRedoall(boolean redoall) { this.redoall = redoall; } /** * read the simulation mode flag * @return flag indicating whether one wants just to simulate * the p4 resolve operation whithout actually doing it */ public boolean isSimulationmode() { return simulationmode; } /** * sets a flag * @param simulationmode set to true, lists the integrations which would be performed, * without actually doing them. */ public void setSimulationmode(boolean simulationmode) { this.simulationmode = simulationmode; } /** * If set to true, attempts a textual merge, even for binary files * @return flag value */ public boolean isForcetextmode() { return forcetextmode; } /** * If set to true, attempts a textual merge, even for binary files * @param forcetextmode set the flag value */ public void setForcetextmode(boolean forcetextmode) { this.forcetextmode = forcetextmode; } /** * If set to true, puts in markers for all changes, conflicting or not * @return flag markersforall value */ public boolean isMarkersforall() { return markersforall; } /** * If set to true, puts in markers for all changes, conflicting or not * @param markersforall flag true or false */ public void setMarkersforall(boolean markersforall) { this.markersforall = markersforall; } /** * execute the p4 resolve * @throws BuildException if there is a wrong resolve mode specified * or no view specified */ public void execute() throws BuildException { if (this.resolvemode.equals(AUTOMATIC)) { P4CmdOpts = P4CmdOpts + " -am"; } else if (this.resolvemode.equals(FORCE)) { P4CmdOpts = P4CmdOpts + " -af"; } else if (this.resolvemode.equals(SAFE)) { P4CmdOpts = P4CmdOpts + " -as"; } else if (this.resolvemode.equals(THEIRS)) { P4CmdOpts = P4CmdOpts + " -at"; } else if (this.resolvemode.equals(YOURS)) { P4CmdOpts = P4CmdOpts + " -ay"; } else { throw new BuildException("unsupported or absent resolve mode"); } if (P4View == null) { throw new BuildException("please specify a view"); } if (this.isRedoall()) { P4CmdOpts = P4CmdOpts + " -f"; } if (this.isSimulationmode()) { P4CmdOpts = P4CmdOpts + " -n"; } if (this.isForcetextmode()) { P4CmdOpts = P4CmdOpts + " -t"; } if (this.isMarkersforall()) { P4CmdOpts = P4CmdOpts + " -v"; } execP4Command("-s resolve " + P4CmdOpts + " " + P4View, new SimpleP4OutputHandler(this)); } } Other Ant examples (source code examples)Here is a short list of links related to this Ant P4Resolve.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.