diff options
author | Jose <jose@zeroc.com> | 2011-12-10 01:57:19 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2011-12-10 01:57:19 +0100 |
commit | 42e31f18dc2f34c6b0c427ca0a976ac795349864 (patch) | |
tree | 91f81872e55f06c5d6b859039e3c2a633c70c684 /eclipse/java/makedist.py | |
parent | ICE-4705 voip glacier2 configuration (diff) | |
download | ice-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-x | eclipse/java/makedist.py | 154 |
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) |