aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java169
1 files changed, 0 insertions, 169 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java
deleted file mode 100644
index 618da4ec..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsVersion.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * 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.tools.ant.taskdefs.cvslib;
-
-import java.io.ByteArrayOutputStream;
-import java.util.StringTokenizer;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.taskdefs.AbstractCvsTask;
-
-/**
- * this task allows to find out the client and the server version of a
- * CVS installation
- *
- * example usage :
- * <cvsversion
- * cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
- * passfile="c:/programme/cygwin/home/antoine/.cvspass"
- * clientversionproperty="apacheclient"
- * serverversionproperty="apacheserver" />
- *
- * the task can be used also in the API by calling its execute method,
- * then calling getServerVersion and/or getClientVersion
- *
- * @ant.task category="scm"
- * @since ant 1.6.1
- */
-public class CvsVersion extends AbstractCvsTask {
- static final long VERSION_1_11_2 = 11102;
- static final long MULTIPLY = 100;
- private String clientVersion;
- private String serverVersion;
- private String clientVersionProperty;
- private String serverVersionProperty;
-
- /**
- * Get the CVS client version
- * @return CVS client version
- */
- public String getClientVersion() {
- return clientVersion;
- }
- /**
- * Get the CVS server version
- * @return CVS server version
- */
- public String getServerVersion() {
- return serverVersion;
- }
- /**
- * Set a property where to store the CVS client version
- * @param clientVersionProperty property for CVS client version
- */
- public void setClientVersionProperty(String clientVersionProperty) {
- this.clientVersionProperty = clientVersionProperty;
- }
-
- /**
- * Set a property where to store the CVS server version
- * @param serverVersionProperty property for CVS server version
- */
- public void setServerVersionProperty(String serverVersionProperty) {
- this.serverVersionProperty = serverVersionProperty;
- }
- /**
- * Find out if the server version supports log with S option
- * @return boolean indicating if the server version supports log with S option
- */
- public boolean supportsCvsLogWithSOption() {
- if (serverVersion == null) {
- return false;
- }
- StringTokenizer tokenizer = new StringTokenizer(serverVersion, ".");
- long counter = MULTIPLY * MULTIPLY;
- long version = 0;
- while (tokenizer.hasMoreTokens()) {
- String s = tokenizer.nextToken();
- int i = 0;
- for (i = 0; i < s.length(); i++) {
- if (!Character.isDigit(s.charAt(i))) {
- break;
- }
- }
- String s2 = s.substring(0, i);
- version = version + counter * Long.parseLong(s2);
- if (counter == 1) {
- break;
- }
- counter = counter / MULTIPLY;
- }
- return (version >= VERSION_1_11_2);
- }
- /**
- * the execute method running CvsVersion
- */
- public void execute() {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- this.setOutputStream(bos);
- ByteArrayOutputStream berr = new ByteArrayOutputStream();
- this.setErrorStream(berr);
- setCommand("version");
- super.execute();
- String output = bos.toString();
- log("Received version response \"" + output + "\"",
- Project.MSG_DEBUG);
- StringTokenizer st = new StringTokenizer(output);
- boolean client = false;
- boolean server = false;
- String cvs = null;
- String cachedVersion = null;
- boolean haveReadAhead = false;
- while (haveReadAhead || st.hasMoreTokens()) {
- String currentToken = haveReadAhead ? cachedVersion : st.nextToken();
- haveReadAhead = false;
- if (currentToken.equals("Client:")) {
- client = true;
- } else if (currentToken.equals("Server:")) {
- server = true;
- } else if (currentToken.startsWith("(CVS")
- && currentToken.endsWith(")")) {
- cvs = currentToken.length() == 5 ? "" : " " + currentToken;
- }
- if (!client && !server && cvs != null
- && cachedVersion == null && st.hasMoreTokens()) {
- cachedVersion = st.nextToken();
- haveReadAhead = true;
- } else if (client && cvs != null) {
- if (st.hasMoreTokens()) {
- clientVersion = st.nextToken() + cvs;
- }
- client = false;
- cvs = null;
- } else if (server && cvs != null) {
- if (st.hasMoreTokens()) {
- serverVersion = st.nextToken() + cvs;
- }
- server = false;
- cvs = null;
- } else if (currentToken.equals("(client/server)")
- && cvs != null && cachedVersion != null
- && !client && !server) {
- client = server = true;
- clientVersion = serverVersion = cachedVersion + cvs;
- cachedVersion = cvs = null;
- }
- }
- if (clientVersionProperty != null) {
- getProject().setNewProperty(clientVersionProperty, clientVersion);
- }
- if (serverVersionProperty != null) {
- getProject().setNewProperty(serverVersionProperty, serverVersion);
- }
- }
-}