summaryrefslogtreecommitdiff
path: root/distribution/bin/fixVersion.py
diff options
context:
space:
mode:
Diffstat (limited to 'distribution/bin/fixVersion.py')
-rwxr-xr-xdistribution/bin/fixVersion.py207
1 files changed, 207 insertions, 0 deletions
diff --git a/distribution/bin/fixVersion.py b/distribution/bin/fixVersion.py
new file mode 100755
index 00000000000..6f53912df27
--- /dev/null
+++ b/distribution/bin/fixVersion.py
@@ -0,0 +1,207 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
+#
+# This copy of Ice is licensed to you under the terms described in the
+# ICE_LICENSE file included in this distribution.
+#
+# **********************************************************************
+
+import os, sys, getopt
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "lib"))
+import FixUtil
+
+def usage():
+ print "Usage: " + sys.argv[0] + " version"
+ print
+ print "Options:"
+ print "-h, --help Show this message."
+ print
+
+if len(sys.argv) < 2:
+ usage()
+ sys.exit(0)
+
+try:
+ opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
+except getopt.GetoptError:
+ usage()
+ sys.exit(1)
+for o, a in opts:
+ if o in ("-h", "--help"):
+ usage()
+ sys.exit(0)
+if len(args) != 1:
+ usage()
+ sys.exit(1)
+
+version = args[0]
+ice_dir = os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))
+
+FixUtil.checkVersion(version)
+
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "config", "Make.common.rules"),
+ [("VERSION_MAJOR[\t\s]*= ([0-9]*)", FixUtil.majorVersion(version)),
+ ("VERSION_MINOR[\t\s]*= ([0-9]*b?)", FixUtil.minorVersion(version) + FixUtil.betaVersion(version)),
+ ("SHORT_VERSION[\t\s]*= ([0-9]*\.[0-9]*)", FixUtil.shortVersion(version)),
+ ("VERSION_PATCH[\t\s]*= ([0-9]*)", FixUtil.patchVersion(version)),
+ ("VERSION[\t\s]*= " + FixUtil.vpatMatch, version),
+ ("SOVERSION[\t\s]*= ([0-9]+b?)", FixUtil.soVersion(version))])
+
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "config", "Make.common.rules.mak"),
+ [("^VERSION[\t\s]*= " + FixUtil.vpatMatch, version),
+ ("INTVERSION[\t\s]*= " + FixUtil.vpatMatch, FixUtil.majorVersion(version) + "." + \
+ FixUtil.minorVersion(version) + "." + FixUtil.patchVersion(version)),
+ ("SHORT_VERSION[\t\s]*= ([0-9]*\.[0-9]*)", FixUtil.shortVersion(version)),
+ ("VERSION_PATCH[\t\s]*= ([0-9]*)", FixUtil.patchVersion(version)),
+ ("SOVERSION[\t\s]*= ([0-9]+b?)", FixUtil.soVersion(version))])
+
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "rpm", "ice.spec"),
+ [("Version: " + FixUtil.vpatMatch, version)])
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "rpm", "ice.spec"),
+ [("%define soversion ([0-9]+b?)", FixUtil.soVersion(version))])
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "rpm", "ice.spec"),
+ [("%define dotnetversion ([0-9]*\.[0-9]*\.[0-9]*)",
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ "." + FixUtil.patchVersion(version))])
+
+FixUtil.fileMatchAndReplace(os.path.join(ice_dir, "distribution", "src", "common", "build.properties"),
+ [("ice\.version[\t\s]*= " + FixUtil.vpatMatch, version)])
+
+for f in FixUtil.find(os.path.join(ice_dir, "distribution", "bin"), "*.py"):
+ FixUtil.fileMatchAndReplace(f, [("iceVersion[\t\s]*= '" + FixUtil.vpatMatch, version)])
+#
+# Fix version in C++ sources
+#
+ice_home = os.path.join(ice_dir, "cpp")
+if ice_home:
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "include", "IceUtil", "Config.h"),
+ [("ICE_STRING_VERSION \"" + FixUtil.vpatMatch + "\"", version), \
+ ("ICE_INT_VERSION ([0-9]*)", FixUtil.intVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "src", "ca", "iceca"),
+ [("Ice-" + FixUtil.vpatMatch, version)])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "doc", "swish", "swish.conf"),
+ [("doc/Ice-" + FixUtil.vpatMatch, version)])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "doc", "swish", "swishcgi.conf"),
+ [("ice_version[\t\s]*= '" + FixUtil.vpatMatch, version)])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "clock", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "counter", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "replicated2", "config.ib1"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "replicated2", "config.ib2"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "replicated2", "config.ib3"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "demo", "IceStorm", "replicated", "application.xml"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(ice_home, "config", "templates.xml"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ for f in FixUtil.find(os.path.join(ice_home, "src"), "*.rc"):
+ FixUtil.fileMatchAndReplace(f, [("\"FileVersion\", \"" + FixUtil.vpatMatch, version), \
+ ("\"ProductVersion\", \"" + FixUtil.vpatMatch, version), \
+ ("INTERNALNAME \"[^0-9]*2?([0-9][0-9]b?)d?", FixUtil.soVersion(version)), \
+ ("ORIGINALFILENAME \"[^0-9]*2?([0-9][0-9]b?)d?\.dll", FixUtil.soVersion(version)), \
+ ("FILEVERSION ([0-9]+,[0-9]+,[0-9]+)", FixUtil.commaVersion(version)), \
+ ("PRODUCTVERSION ([0-9]+,[0-9]+,[0-9]+)", FixUtil.commaVersion(version))])
+
+#
+# Fix version in Java sources
+#
+icej_home = os.path.join(ice_dir, "java")
+if icej_home:
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "config", "build.properties"),
+ [("ice\.version[\t\s]*= " + FixUtil.vpatMatch, version)])
+
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "config", "build.properties"),
+ [("C:/Ice-" + FixUtil.vpatMatch, version)])
+
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "src", "IceUtil", "Version.java"),
+ [("ICE_STRING_VERSION = \"" + FixUtil.vpatMatch +"\"", version), \
+ ("ICE_INT_VERSION = ([0-9]*)", FixUtil.intVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "src", "Ice", "Util.java"),
+ [("return \"" + FixUtil.vpatMatch +"\".*A=major", version), \
+ ("return ([0-9]*).*AA=major", FixUtil.intVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(icej_home, "demo", "IceStorm", "clock", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+#
+# Fix version in C# sources
+#
+icecs_home = os.path.join(ice_dir, "cs")
+if icecs_home:
+ for f in FixUtil.find(icecs_home, "AssemblyInfo.cs"):
+ if f.find("generate") < 0 and f.find("ConsoleApplication") < 0:
+ FixUtil.fileMatchAndReplace(f, [("AssemblyVersion\(\"" + FixUtil.vpatMatch + "\"",
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ FixUtil.patchVersion(version))])
+
+ FixUtil.fileMatchAndReplace(os.path.join(icecs_home, "demo", "IceStorm", "clock", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ for f in FixUtil.find(icecs_home, "*.pc"):
+ print "matching " + f
+ FixUtil.fileMatchAndReplace(f, [("[\t\s]*version[\t\s]*=[\t\s]* " + FixUtil.vpatMatch,
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ FixUtil.patchVersion(version))])
+
+ for f in FixUtil.find(icecs_home, "config*"):
+ print "matching " + f
+ FixUtil.fileMatchAndReplace(f,
+ [("Version=*([0-9]*\.[0-9]*\.[0-9]*).0",
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." +
+ FixUtil.patchVersion(version))],
+ False) # Disable warnings as many files might not have SSL configuration
+
+ FixUtil.fileMatchAndReplace(os.path.join(icecs_home, "src", "Ice", "Util.cs"),
+ [("return \"" + FixUtil.vpatMatch +"\".*A=major", version), \
+ ("return ([0-9]*).*AA=major", FixUtil.intVersion(version))])
+
+#
+# Fix version in VB sources
+#
+icevb_home = os.path.join(ice_dir, "vb")
+if icevb_home:
+ FixUtil.fileMatchAndReplace(os.path.join(icevb_home, "demo", "IceStorm", "clock", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+ for f in FixUtil.find(icevb_home, "config*"):
+ print "matching " + f
+ FixUtil.fileMatchAndReplace(f,
+ [("Version=*([0-9]*\.[0-9]*\.[0-9]*).0",
+ FixUtil.majorVersion(version) + "." + FixUtil.minorVersion(version) + "." + \
+ FixUtil.patchVersion(version))],
+ False) # Disable warnings as many files might not have SSL configuration
+
+#
+# Fix version in PHP sources
+#
+#icephp_home = os.path.join(ice_dir, "php")
+#if icephp_home:
+
+#
+# Fix version in IcePy
+#
+icepy_home = os.path.join(ice_dir, "py")
+if icepy_home:
+ FixUtil.fileMatchAndReplace(os.path.join(icepy_home, "demo", "IceStorm", "clock", "config.icebox"),
+ [("IceStormService,([0-9]+b?)", FixUtil.soVersion(version))])
+
+#
+# Fix version in IceRuby
+#
+#icerb_home = os.path.join(ice_dir, "rb")
+#if icerb_home: