summaryrefslogtreecommitdiff
path: root/eclipse/java/makedist.py
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2011-12-10 01:57:19 +0100
committerJose <jose@zeroc.com>2011-12-10 01:57:19 +0100
commit42e31f18dc2f34c6b0c427ca0a976ac795349864 (patch)
tree91f81872e55f06c5d6b859039e3c2a633c70c684 /eclipse/java/makedist.py
parentICE-4705 voip glacier2 configuration (diff)
downloadice-42e31f18dc2f34c6b0c427ca0a976ac795349864.tar.bz2
ice-42e31f18dc2f34c6b0c427ca0a976ac795349864.tar.xz
ice-42e31f18dc2f34c6b0c427ca0a976ac795349864.zip
Eclipse plug-in updates for release 3.4.2.20111024
Diffstat (limited to 'eclipse/java/makedist.py')
-rwxr-xr-xeclipse/java/makedist.py154
1 files changed, 154 insertions, 0 deletions
diff --git a/eclipse/java/makedist.py b/eclipse/java/makedist.py
new file mode 100755
index 00000000000..ace06a3ba5a
--- /dev/null
+++ b/eclipse/java/makedist.py
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+# **********************************************************************
+#
+# Copyright (c) 2003-2011 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, fnmatch, re, getopt, xml.dom.minidom, time
+
+sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "distribution", "lib"))
+from DistUtils import *
+
+#
+# Subdirectories to keep in the source distributions.
+#
+includeSubDirs = [ \
+ "Slice2Java", \
+ "Slice2javaPlugin", \
+]
+
+#
+# Files to not include in the source distributions.
+#
+filesToRemove = [ \
+ "makedist.py", \
+]
+
+#
+# Get the plug-in version.
+#
+dom = xml.dom.minidom.parse(os.path.join("Slice2Java", "feature.xml"))
+defaultVersion = str(dom.documentElement.getAttribute("version"))
+idx = defaultVersion.find(".qualifier") # Version may be of the form "X.Y.Z.qualifier"
+if idx != -1:
+ defaultVersion = defaultVersion[0:idx] + "." + time.strftime("%Y%m%d")
+
+#
+# Program usage.
+#
+def usage():
+ print "Usage: " + sys.argv[0] + " [options] [version [tag]]"
+ print
+ print "Where version defaults to " + defaultVersion
+ print
+ print "Options:"
+ print "-h Show this message."
+ print "-v Be verbose."
+
+#
+# Check arguments
+#
+try:
+ opts, args = getopt.getopt(sys.argv[1:], "hv")
+except getopt.GetoptError:
+ print sys.argv[0] + ": unknown option"
+ print
+ usage()
+ sys.exit(1)
+
+version = defaultVersion
+tag = "HEAD"
+if len(args) > 2:
+ usage()
+ sys.exit(1)
+elif len(args) == 1:
+ version = args[0]
+elif len(args) == 2:
+ version = args[0]
+ tag = args[1]
+
+verbose = 0
+for (o, a) in opts:
+ if o == "-h":
+ usage()
+ sys.exit(0)
+ elif o == "-v":
+ verbose = 1
+
+cwd = os.getcwd()
+os.chdir(os.path.dirname(__file__))
+repoDir = os.getcwd()
+
+#
+# Remove any existing "dist-" directory and create a new one
+# and sub-directories for the each source distribution.
+#
+distDir = os.path.abspath(os.path.join(os.path.dirname(__file__), "disteclipse-" + tag.replace('/', '-')))
+if os.path.exists(distDir):
+ remove(distDir)
+os.mkdir(distDir)
+srcDir = "Slice2JavaPlugin-" + version
+
+print "Creating " + version + " source distributions in " + distDir
+
+#
+# Extract the sources with git archive using the given tag.
+#
+print "Creating git archive using " + tag + "...",
+sys.stdout.flush()
+os.system("git archive --prefix=" + srcDir + "/ " + tag + " | ( cd " + distDir + " && tar xfm - )")
+print "ok"
+
+os.chdir(os.path.join(distDir, srcDir))
+
+#
+# Remove or move non-public files out of source distribution.
+#
+print "Removing directories and files...",
+sys.stdout.flush()
+for x in filesToRemove:
+ remove(x)
+for d in os.listdir('.'):
+ if os.path.isdir(d) and not d in includeSubDirs:
+ remove(d)
+print "ok"
+
+for root, dirnames, filenames in os.walk('.'):
+
+ for f in filenames:
+ filepath = os.path.join(root, f)
+ if f == ".gitignore":
+ remove(filepath)
+
+ for d in dirnames:
+ os.chmod(os.path.join(root, d), S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) # rwxr-xr-x
+
+print "ok"
+
+#
+# Copy CHANGES
+#
+copy(os.path.join(repoDir, "CHANGES"), os.path.join(distDir, "CHANGES"))
+
+#
+# Everything should be clean now, we can create the source distributions archives
+#
+print "Archiving..."
+sys.stdout.flush()
+os.chdir(distDir)
+tarArchive(os.path.join(distDir, srcDir), verbose)
+zipArchive(os.path.join(distDir, srcDir), verbose)
+
+#
+# Done.
+#
+print "Cleaning up...",
+sys.stdout.flush()
+remove(srcDir)
+print "ok"
+
+os.chdir(cwd)