You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2015/03/24 21:36:02 UTC
incubator-ranger git commit: RANGER-319 : Replace setVersion.sh bash
script with platform independent python script
Repository: incubator-ranger
Updated Branches:
refs/heads/master 8e786fa68 -> 4dd804138
RANGER-319 : Replace setVersion.sh bash script with platform independent python script
Signed-off-by: sneethiraj <sn...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/4dd80413
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/4dd80413
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/4dd80413
Branch: refs/heads/master
Commit: 4dd804138a772ccfb30e66bd3e8672ab09642272
Parents: 8e786fa
Author: Gautam Borad <gb...@gmail.com>
Authored: Thu Mar 19 23:35:43 2015 +0530
Committer: sneethiraj <sn...@apache.org>
Committed: Tue Mar 24 16:29:34 2015 -0400
----------------------------------------------------------------------
pom.xml | 1 +
ranger-util/pom.xml | 8 +-
ranger-util/src/scripts/saveVersion.py | 141 ++++++++++++++++++++++++++++
ranger-util/src/scripts/saveVersion.sh | 109 ---------------------
4 files changed, 146 insertions(+), 113 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4dd80413/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0f9ccfb..00c63e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,6 +93,7 @@
<module>ugsync</module>
<module>unixauthclient</module>
<module>unixauthservice</module>
+ <module>ranger-util</module>
</modules>
<properties>
<javac.source.version>1.7</javac.source.version>
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4dd80413/ranger-util/pom.xml
----------------------------------------------------------------------
diff --git a/ranger-util/pom.xml b/ranger-util/pom.xml
index bc9ec58..e09253b 100644
--- a/ranger-util/pom.xml
+++ b/ranger-util/pom.xml
@@ -26,7 +26,7 @@
<version>0.5.0</version>
</parent>
<artifactId>ranger-util</artifactId>
- <name>ranger-util</name>
+ <name>Ranger Util</name>
<description>Common Utilities of Ranger</description>
<dependencies>
<dependency>
@@ -96,11 +96,11 @@
<phase>generate-sources</phase>
<configuration>
<target>
- <exec executable="bash" failonerror="true">
- <arg value="${project.basedir}/src/scripts/saveVersion.sh" />
+ <exec executable="python" failonerror="true">
+ <arg value="${project.basedir}/src/scripts/saveVersion.py" />
<arg value="${project.version}" />
<arg value="${ranger.version.shortname}" />
- <arg value="${project.basedir}/src" />
+ <arg value="${project.basedir}" />
</exec>
</target>
</configuration>
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4dd80413/ranger-util/src/scripts/saveVersion.py
----------------------------------------------------------------------
diff --git a/ranger-util/src/scripts/saveVersion.py b/ranger-util/src/scripts/saveVersion.py
new file mode 100644
index 0000000..fd8df94
--- /dev/null
+++ b/ranger-util/src/scripts/saveVersion.py
@@ -0,0 +1,141 @@
+# 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.
+
+
+# This file is used to generate the package-info.java class that
+# records the version, revision, branch, user, timestamp, and url
+
+import os
+import re
+import sys
+import errno
+import shlex
+import hashlib
+from os import listdir
+import locale
+import datetime
+import getpass
+import socket
+import subprocess
+from subprocess import Popen,PIPE
+from time import gmtime, strftime
+
+def check_output(query):
+ p = subprocess.Popen(query, stdout=subprocess.PIPE)
+ output = p.communicate ()[0]
+ return output
+
+def hashfile(afile, hasher, blocksize=65536):
+ buf = afile.read(blocksize)
+ while len(buf) > 0:
+ hasher.update(buf)
+ buf = afile.read(blocksize)
+ return hasher.hexdigest()
+
+def main():
+ LANG=None
+ LC_CTYPE=None
+ LC_TIME=None
+ version = sys.argv[1]
+ shortversion = sys.argv[2]
+ src_dir = os.path.join(sys.argv[3])
+ revision = ""
+ user = getpass.getuser()
+ date = datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
+ dir = os.getcwd()
+ cwd = dir.strip('scripts')
+ cwd = os.path.join(cwd, "src")
+ if revision == "" :
+ query = (["git","rev-parse","HEAD"])
+ output = check_output(query)
+ if output != "" :
+ revision = output
+ hostname = socket.gethostname()
+ arr = (["git","rev-parse", "--abbrev-ref", "HEAD"])
+ branch = check_output(arr)
+ branch = branch.strip("* ")
+ url = "git://%s/%s" % (hostname,cwd)
+ else:
+ revision="Unknown"
+ branch="Unknown"
+ url="file://cwd"
+
+ if branch == "":
+ branch="Unknown"
+ if url == "":
+ url="file://cwd"
+
+ c = []
+ fileList = []
+ sortedList = []
+ for (dir, _, files) in os.walk(src_dir):
+ for f in files:
+ path = os.path.join(dir, f)
+ if path.endswith(".java"):
+ if os.path.exists(path):
+ fileList.append(path)
+ else:
+ pass
+
+ sortedList = sorted(fileList, key = lambda x: x[:-4])
+ for i, val in enumerate(sortedList):
+ m = hashfile(open(val,'rb'), hashlib.md5())
+ f = m +" "+ val + "\n"
+ c.append(f);
+
+ srcChecksum = hashlib.md5(''.join(c)).hexdigest()
+
+ dir = os.path.join(src_dir,"gen","org","apache","ranger","common")
+ if not os.path.exists(dir):
+ os.makedirs(dir)
+
+ # In Windows, all the following string ends with \r, need to get rid of them
+ branch = branch.strip('\n\r')
+ user = user.strip('\n\r')
+ date = date.strip('\n\r')
+ url = url.strip('\n\r')
+ revision = revision.strip('\n\r')
+ srcChecksum = srcChecksum.strip('\n\r')
+
+ content = """/*
+ * 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.
+ */
+ /*
+ * Generated by saveVersion.py
+ */
+ @RangerVersionAnnotation(version="{VERSION}", shortVersion="{SHORTVERSION}",revision="{REV}",branch="{BRANCH}", user="{USER}",date="{DATE}", url="{URL}",srcChecksum="{SRCCHECKSUM}")
+ package org.apache.ranger.common;"""
+
+ content = content.format(VERSION=version,SHORTVERSION=shortversion,USER=user,DATE=date,URL=url,REV=revision,BRANCH=branch,SRCCHECKSUM=srcChecksum)
+ des = os.path.join(dir, "package-info.java")
+ f = open(des , 'wb')
+ f.write(content)
+ f.close()
+
+main()
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/4dd80413/ranger-util/src/scripts/saveVersion.sh
----------------------------------------------------------------------
diff --git a/ranger-util/src/scripts/saveVersion.sh b/ranger-util/src/scripts/saveVersion.sh
deleted file mode 100755
index 33c8820..0000000
--- a/ranger-util/src/scripts/saveVersion.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env bash
-
-# 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.
-
-
-# This file is used to generate the package-info.java class that
-# records the version, revision, branch, user, timestamp, and url
-unset LANG
-unset LC_CTYPE
-unset LC_TIME
-version=$1
-shortversion=$2
-src_dir=$3
-revision=$4
-branch=$5
-url=$6
-user=`whoami`
-date=`date`
-dir=`pwd`
-cwd=`dirname $dir`
-if [ "$revision" = "" ]; then
- if git rev-parse HEAD 2>/dev/null > /dev/null ; then
- revision=`git log -1 --pretty=format:"%H"`
- hostname=`hostname`
- branch=`git branch | sed -n -e 's/^* //p'`
- url="git://${hostname}${cwd}"
- elif [ -d .svn ]; then
- revision=`svn info ../ | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
- url=`svn info ../ | sed -n -e 's/^URL: \(.*\)/\1/p'`
- # Get canonical branch (branches/X, tags/X, or trunk)
- branch=`echo $url | sed -n -e 's,.*\(branches/.*\)$,\1,p' \
- -e 's,.*\(tags/.*\)$,\1,p' \
- -e 's,.*trunk$,trunk,p'`
- else
- revision="Unknown"
- branch="Unknown"
- url="file://$cwd"
- fi
-fi
-if [ "$branch" = "" ]; then
- branch="Unknown"
-fi
-if [ "$url" = "" ]; then
- url="file://$cwd"
-fi
-
-if [ -x /sbin/md5 ]; then
- md5="/sbin/md5"
-else
- md5="md5sum"
-fi
-
-srcChecksum=`find ../ -name '*.java' | grep -v generated-sources | LC_ALL=C sort | xargs $md5 | $md5 | cut -d ' ' -f 1`
-
-mkdir -p $src_dir/gen/org/apache/ranger/common
-
-# In Windows, all the following string ends with \r, need to get rid of them
-branch=`echo $branch | tr -d '\r'`
-user=`echo $user | tr -d '\r'`
-date=`echo $date | tr -d '\r'`
-url=`echo $url | tr -d '\r'`
-srcChecksum=`echo $srcChecksum | tr -d '\r'`
-
-cat << EOF | \
- sed -e "s/VERSION/$version/" -e "s/SHORTVERSION/$shortversion/" \
- -e "s/USER/$user/" -e "s/DATE/$date/" \
- -e "s|URL|$url|" -e "s/REV/$revision/" \
- -e "s|BRANCH|$branch|" -e "s/SRCCHECKSUM/$srcChecksum/" \
- > $src_dir/gen/org/apache/ranger/common/package-info.java
-/*
- * 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.
- */
-
-/*
- * Generated by saveVersion.sh
- */
-@RangerVersionAnnotation(version="VERSION", shortVersion="SHORTVERSION",
- revision="REV", branch="BRANCH",
- user="USER", date="DATE", url="URL",
- srcChecksum="SRCCHECKSUM")
-package org.apache.ranger.common;
-EOF