public class oadd.org.apache.zookeeper.version.util.VerGen extends java.lang.Object
{
private static final java.lang.String PACKAGE_NAME;
private static final java.lang.String TYPE_NAME;
public void <init>()
{
oadd.org.apache.zookeeper.version.util.VerGen v;
v := @this: oadd.org.apache.zookeeper.version.util.VerGen;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static void printUsage()
{
java.io.PrintStream v;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void print(java.lang.String)>("Usage:\tjava  -cp <classpath> org.apache.zookeeper.version.util.VerGen maj.min.micro[-qualifier] rev buildDate");
staticinvoke <java.lang.System: void exit(int)>(1);
return;
}
public static void generateFile(java.io.File, oadd.org.apache.zookeeper.version.util.VerGen$Version, java.lang.String, java.lang.String)
{
boolean v, v, v, v;
oadd.org.apache.zookeeper.version.util.VerGen$Version v;
java.lang.Throwable v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.PrintStream v, v, v, v;
java.io.FileWriter v;
java.io.IOException v;
java.io.File v, v, v;
v := @parameter: java.io.File;
v := @parameter: oadd.org.apache.zookeeper.version.util.VerGen$Version;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = "oadd.org.apache.zookeeper.version";
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\.", "/");
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannnot create directory: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
staticinvoke <java.lang.System: void exit(int)>(1);
goto label;
label:
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v != 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u is not a directory.");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
staticinvoke <java.lang.System: void exit(int)>(1);
label:
v = new java.io.FileWriter;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "Info.java");
specialinvoke v.<java.io.FileWriter: void <init>(java.io.File)>(v);
label:
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("// Do not edit!\n// File generated by org.apache.zookeeper.version.util.VerGen.\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("/**\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* Licensed to the Apache Software Foundation (ASF) under one\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* or more contributor license agreements.  See the NOTICE file\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* distributed with this work for additional information\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* regarding copyright ownership.  The ASF licenses this file\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* to you under the Apache License, Version 2.0 (the\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* \"License\"); you may not use this file except in compliance\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* with the License.  You may obtain a copy of the License at\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("*\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("*     http://www.apache.org/licenses/LICENSE-2.0\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("*\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* Unless required by applicable law or agreed to in writing, software\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* distributed under the License is distributed on an \"AS IS\" BASIS,\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* See the License for the specific language governing permissions and\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("* limitations under the License.\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("*/\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("package org.apache.zookeeper.version;\n\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("public interface Info {\n");
v = v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int maj>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    int MAJOR=\u;\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int min>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    int MINOR=\u;\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int micro>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    int MICRO=\u;\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
v = v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: java.lang.String qualifier>;
if v != null goto label;
v = null;
goto label;
label:
v = v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: java.lang.String qualifier>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\"\u0001\"");
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    String QUALIFIER=\u;\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("-1");
if v == 0 goto label;
v = <java.lang.System: java.io.PrintStream out>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unknown REVISION number, using \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    String REVISION_HASH=\"\u0001\";\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("    String BUILD_DATE=\"\u0001\";\n");
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>(v);
virtualinvoke v.<java.io.FileWriter: void write(java.lang.String)>("}\n");
label:
virtualinvoke v.<java.io.FileWriter: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<java.io.IOException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to generate version.Info file: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
staticinvoke <java.lang.System: void exit(int)>(1);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
public static oadd.org.apache.zookeeper.version.util.VerGen$Version parseVersionString(java.lang.String)
{
java.util.regex.Matcher v;
int v, v, v, v;
java.lang.String v, v, v, v, v;
java.util.regex.Pattern v;
oadd.org.apache.zookeeper.version.util.VerGen$Version v;
boolean v;
v := @parameter: java.lang.String;
v = new oadd.org.apache.zookeeper.version.util.VerGen$Version;
specialinvoke v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: void <init>()>();
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^(\\d+)\\.(\\d+)\\.(\\d+)((\\.\\d+)*)(-(.+))?$");
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int maj> = v;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(2);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int min> = v;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(3);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: int micro> = v;
v = virtualinvoke v.<java.util.regex.Matcher: int groupCount()>();
if v != 7 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(7);
v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: java.lang.String qualifier> = v;
goto label;
label:
v.<oadd.org.apache.zookeeper.version.util.VerGen$Version: java.lang.String qualifier> = null;
label:
return v;
}
public static void main(java.lang.String[])
{
java.io.PrintStream v, v;
java.lang.NumberFormatException v;
java.lang.String[] v;
java.io.File v;
int v;
java.lang.String v, v, v, v, v;
oadd.org.apache.zookeeper.version.util.VerGen$Version v;
boolean v;
v := @parameter: java.lang.String[];
v = lengthof v;
if v == 3 goto label;
staticinvoke <oadd.org.apache.zookeeper.version.util.VerGen: void printUsage()>();
label:
v = v[0];
v = staticinvoke <oadd.org.apache.zookeeper.version.util.VerGen: oadd.org.apache.zookeeper.version.util.VerGen$Version parseVersionString(java.lang.String)>(v);
if v != null goto label;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Invalid version number format, must be \"x.y.z(-.*)?\"");
staticinvoke <java.lang.System: void exit(int)>(1);
label:
v = v[1];
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = "-1";
goto label;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(".");
v = v[2];
staticinvoke <oadd.org.apache.zookeeper.version.util.VerGen: void generateFile(java.io.File,oadd.org.apache.zookeeper.version.util.VerGen$Version,java.lang.String,java.lang.String)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream err>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("All version-related parameters must be valid integers!");
throw v;
label:
return;
catch java.lang.NumberFormatException from label to label with label;
}
}