You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by mu...@apache.org on 2014/04/23 21:30:16 UTC
git commit: PHOENIX-890 - Script for binary and source RC generation
Repository: incubator-phoenix
Updated Branches:
refs/heads/3.0 a20f2790b -> 4e45a6aac
PHOENIX-890 - Script for binary and source RC generation
Project: http://git-wip-us.apache.org/repos/asf/incubator-phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-phoenix/commit/4e45a6aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-phoenix/tree/4e45a6aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-phoenix/diff/4e45a6aa
Branch: refs/heads/3.0
Commit: 4e45a6aac9ad060841639b3e4df0d0ea57952c83
Parents: a20f279
Author: Mujtaba <mu...@apache.org>
Authored: Wed Apr 23 12:29:10 2014 -0700
Committer: Mujtaba <mu...@apache.org>
Committed: Wed Apr 23 12:29:10 2014 -0700
----------------------------------------------------------------------
bin/performance.py | 17 +--
bin/phoenix_utils.py | 20 ++++
bin/psql.py | 12 +--
bin/readme.txt | 6 +-
bin/sqlline.py | 12 +--
dev/make_rc.sh | 133 ++++++++++++++++++++++++
dev/release_files/LICENSE | 228 +++++++++++++++++++++++++++++++++++++++++
dev/release_files/NOTICE | 49 +++++++++
pom.xml | 1 +
9 files changed, 445 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/bin/performance.py
----------------------------------------------------------------------
diff --git a/bin/performance.py b/bin/performance.py
index 3759fda..a62fd4f 100755
--- a/bin/performance.py
+++ b/bin/performance.py
@@ -60,23 +60,16 @@ data = "data.csv"
qry = "query.sql"
statements = ""
-current_dir = os.path.dirname(os.path.abspath(__file__))
-phoenix_jar_path = os.path.join(current_dir, "..", "phoenix-assembly",
- "target")
-phoenix_client_jar = phoenix_utils.find("phoenix-*-client.jar", phoenix_jar_path)
-phoenix_test_jar_path = os.path.join(current_dir, "..", "phoenix-core",
- "target")
-testjar = phoenix_utils.find("phoenix-*-tests.jar", phoenix_test_jar_path)
-
+phoenix_utils.setPath()
# HBase configuration folder path (where hbase-site.xml reside) for
# HBase/Phoenix client side property override
-hbase_config_path = os.getenv('HBASE_CONF_DIR', current_dir)
+hbase_config_path = os.getenv('HBASE_CONF_DIR', phoenix_utils.current_dir)
execute = ('java -cp "%s%s%s" -Dlog4j.configuration=file:' +
- os.path.join(current_dir, "log4j.properties") +
+ os.path.join(phoenix_utils.current_dir, "log4j.properties") +
' org.apache.phoenix.util.PhoenixRuntime -t %s %s ') % \
- (hbase_config_path, os.pathsep, phoenix_client_jar, table, zookeeper)
+ (hbase_config_path, os.pathsep, phoenix_utils.phoenix_client_jar, table, zookeeper)
# Create Table DDL
createtable = "CREATE TABLE IF NOT EXISTS %s (HOST CHAR(2) NOT NULL,\
@@ -107,7 +100,7 @@ queryex(statements, "5 - Filter + Count", "SELECT COUNT(1) FROM %s WHERE \
CORE<10;" % (table))
print "\nGenerating and upserting data..."
-subprocess.call('java -jar %s %s' % (testjar, rowcount), shell=True)
+subprocess.call('java -jar %s %s' % (phoenix_utils.testjar, rowcount), shell=True)
print "\n"
createFileWithContent(qry, statements)
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/bin/phoenix_utils.py
----------------------------------------------------------------------
diff --git a/bin/phoenix_utils.py b/bin/phoenix_utils.py
index d48c4ff..418e387 100755
--- a/bin/phoenix_utils.py
+++ b/bin/phoenix_utils.py
@@ -39,3 +39,23 @@ def find(pattern, classPaths):
return ""
+
+def setPath():
+ global current_dir
+ current_dir = os.path.dirname(os.path.abspath(__file__))
+ global phoenix_jar_path
+ phoenix_jar_path = os.path.join(current_dir, "..", "phoenix-assembly", "target")
+ global phoenix_client_jar
+ phoenix_client_jar = find("phoenix-*-client.jar", phoenix_jar_path)
+ global phoenix_test_jar_path
+ phoenix_test_jar_path = os.path.join(current_dir, "..", "phoenix-core", "target")
+ global testjar
+ testjar = find("phoenix-*-tests.jar", phoenix_test_jar_path)
+
+ if phoenix_client_jar == "":
+ phoenix_client_jar = find("phoenix-*-client*", os.path.join(current_dir, ".."))
+
+ if testjar == "":
+ testjar = find("phoenix-*-test*", os.path.join(current_dir, ".."))
+
+ return ""
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/bin/psql.py
----------------------------------------------------------------------
diff --git a/bin/psql.py b/bin/psql.py
index 0fb578c..21387e4 100755
--- a/bin/psql.py
+++ b/bin/psql.py
@@ -24,19 +24,13 @@ import subprocess
import sys
import phoenix_utils
-current_dir = os.path.dirname(os.path.abspath(__file__))
-phoenix_jar_path = os.path.join(current_dir, "..", "phoenix-assembly",
- "target")
-phoenix_client_jar = phoenix_utils.find("phoenix-*-client.jar", phoenix_jar_path)
-
-if phoenix_client_jar == "":
- phoenix_client_jar = phoenix_utils.find("phoenix-*-client.jar", os.path.join(current_dir, ".."))
+phoenix_utils.setPath()
# HBase configuration folder path (where hbase-site.xml reside) for
# HBase/Phoenix client side property override
-java_cmd = 'java -cp ".' + os.pathsep + current_dir + os.pathsep + phoenix_client_jar + \
+java_cmd = 'java -cp ".' + os.pathsep + phoenix_utils.current_dir + os.pathsep + phoenix_utils.phoenix_client_jar + \
'" -Dlog4j.configuration=file:' + \
- os.path.join(current_dir, "log4j.properties") + \
+ os.path.join(phoenix_utils.current_dir, "log4j.properties") + \
" org.apache.phoenix.util.PhoenixRuntime " + ' '.join(sys.argv[1:])
subprocess.call(java_cmd, shell=True)
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/bin/readme.txt
----------------------------------------------------------------------
diff --git a/bin/readme.txt b/bin/readme.txt
index cfe63f9..f1d1f0d 100644
--- a/bin/readme.txt
+++ b/bin/readme.txt
@@ -8,7 +8,7 @@ Execute SQL from command line. Sqlline manual is available at http://www.hydroma
$ sqlline.py <zookeeper> <optional_sql_file>
Example:
$ sqlline.py localhost
- $ sqlline.py localhost ../examples/STOCK_SYMBOL.sql
+ $ sqlline.py localhost <examples dir>/STOCK_SYMBOL.sql
psql.py
=======
@@ -16,10 +16,10 @@ psql.py
Usage: psql [-t table-name] [-h comma-separated-column-names | in-line] <zookeeper> <path-to-sql-or-csv-file>...
Example 1. Create table, upsert row and run query using single .sql file
-./psql localhost ../examples/STOCK_SYMBOL.sql
+./psql.py localhost <examples dir>/STOCK_SYMBOL.sql
Example 2. Create table, load CSV data and run queries using .csv and .sql files:
-./psql.py localhost ../examples/WEB_STAT.sql ../examples/WEB_STAT.csv ../examples/WEB_STAT_QUERIES.sql
+./psql.py localhost <examples dir>/WEB_STAT.sql <examples dir>/WEB_STAT.csv <examples dir>/WEB_STAT_QUERIES.sql
Note: Please see comments in WEB_STAT_QUERIES.sql for the sample queries being executed
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/bin/sqlline.py
----------------------------------------------------------------------
diff --git a/bin/sqlline.py b/bin/sqlline.py
index 491bd65..00fccdb 100755
--- a/bin/sqlline.py
+++ b/bin/sqlline.py
@@ -24,13 +24,7 @@ import subprocess
import sys
import phoenix_utils
-current_dir = os.path.dirname(os.path.abspath(__file__))
-phoenix_jar_path = os.path.join(current_dir, "..", "phoenix-assembly",
- "target")
-phoenix_client_jar = phoenix_utils.find("phoenix-*-client.jar", phoenix_jar_path)
-
-if phoenix_client_jar == "":
- phoenix_client_jar = phoenix_utils.find("phoenix-*-client.jar", os.path.join(current_dir, ".."))
+phoenix_utils.setPath()
if len(sys.argv) < 2:
print "Zookeeper not specified. \nUsage: sqlline.py <zookeeper> \
@@ -48,9 +42,9 @@ colorSetting = "true"
if os.name == 'nt':
colorSetting = "false"
-java_cmd = 'java -cp ".' + os.pathsep + phoenix_client_jar + \
+java_cmd = 'java -cp ".' + os.pathsep + phoenix_utils.phoenix_client_jar + \
'" -Dlog4j.configuration=file:' + \
- os.path.join(current_dir, "log4j.properties") + \
+ os.path.join(phoenix_utils.current_dir, "log4j.properties") + \
" sqlline.SqlLine -d org.apache.phoenix.jdbc.PhoenixDriver \
-u jdbc:phoenix:" + sys.argv[1] + \
" -n none -p none --color=" + colorSetting + " --fastConnect=false --verbose=true \
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/dev/make_rc.sh
----------------------------------------------------------------------
diff --git a/dev/make_rc.sh b/dev/make_rc.sh
new file mode 100755
index 0000000..9081f77
--- /dev/null
+++ b/dev/make_rc.sh
@@ -0,0 +1,133 @@
+#!/bin/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.
+#
+############################################################################
+set -e
+
+echo "Script that assembles all you need to make an RC."
+echo "It generates source and binary tar in release directory"
+echo "Presumes that you can sign a release as described at https://www.apache.org/dev/release-signing.html"
+echo "Starting...";sleep 2s
+
+# Set directory variables
+DIR_ROOT="$(cd $(dirname $0);pwd)/.."
+cd $DIR_ROOT
+PHOENIX="$(xpath -q -e '/project/version/text()' pom.xml)"
+DIR_REL_BASE=$DIR_ROOT/release
+DIR_REL_ROOT=$DIR_REL_BASE/phoenix-$PHOENIX
+DIR_REL_BIN=phoenix-$PHOENIX-bin
+DIR_REL_BIN_PATH=$DIR_REL_ROOT/$DIR_REL_BIN
+REL_SRC=phoenix-$PHOENIX-src
+DIR_REL_SRC_TAR_PATH=$DIR_REL_ROOT/src
+DIR_REL_BIN_TAR_PATH=$DIR_REL_ROOT/bin
+DIR_BIN=bin
+DIR_EXAMPLES=$DIR_REL_BIN_PATH/examples
+DIR_COMMON=$DIR_REL_BIN_PATH/common
+DIR_HADOOP=$DIR_REL_BIN_PATH/hadoop
+DIR_DOCS=dev/release_files
+
+# Verify no target exists
+mvn clean; mvn clean -Dhadoop.profile=2; rm -rf $DIR_REL_BASE;
+RESULT=$(find -iname target)
+if [ -z "$RESULT" ]
+then
+ echo "Verified target directory does not exist.";
+else
+ echo "Target directory exists at: $RESULT. Please use a clean repo.";
+ exit -1;
+fi
+
+# Generate src tar
+ln -s . $REL_SRC; tar cvzf $REL_SRC.tar.gz --exclude="$REL_SRC/$REL_SRC" $REL_SRC/*; rm $REL_SRC;
+
+# Generate directory structure
+mkdir $DIR_REL_BASE;
+mkdir $DIR_REL_ROOT;
+mkdir $DIR_REL_BIN_PATH;
+mkdir $DIR_REL_BIN_TAR_PATH;
+mkdir $DIR_REL_SRC_TAR_PATH;
+mkdir $DIR_EXAMPLES;
+mkdir $DIR_COMMON;
+
+# Move src tar
+mv $REL_SRC.tar.gz $DIR_REL_SRC_TAR_PATH;
+
+# Copy common jars
+mvn clean apache-rat:check package -DskipTests;
+cp $(find -iname phoenix-$PHOENIX-client-minimal.jar) $DIR_COMMON;
+cp $(find -iname phoenix-$PHOENIX-client-without-hbase.jar) $DIR_COMMON;
+cp $(find -iname phoenix-core-$PHOENIX.jar) $DIR_COMMON;
+cp $(find -iname phoenix-flume-$PHOENIX.jar) $DIR_COMMON;
+cp $(find -iname phoenix-flume-$PHOENIX-tests.jar) $DIR_COMMON;
+cp $(find -iname phoenix-pig-$PHOENIX.jar) $DIR_COMMON;
+cp $(find -iname phoenix-pig-$PHOENIX-tests.jar) $DIR_COMMON;
+
+# Copy release docs
+cp CHANGES $DIR_REL_BIN_PATH;
+cp DISCLAIMER $DIR_REL_BIN_PATH;
+cp README $DIR_REL_BIN_PATH;
+cp $DIR_DOCS/* $DIR_REL_BIN_PATH;
+
+# Copy examples
+cp -r examples/* $DIR_EXAMPLES
+
+# Copy hadoop specific jars
+function_copy_hadoop_specific_jars() {
+ mkdir $DIR_HADOOP$1;
+ mkdir $DIR_HADOOP$1/$DIR_BIN;
+ cp $DIR_BIN/* $DIR_HADOOP$1/$DIR_BIN;
+ cp $(find -iname phoenix-$PHOENIX-client.jar) $DIR_HADOOP$1/phoenix-$PHOENIX-client-hadoop$1.jar;
+ cp $(find -iname phoenix-core-$PHOENIX-tests.jar) $DIR_HADOOP$1/phoenix-core-$PHOENIX-tests-hadoop$1.jar;
+}
+function_copy_hadoop_specific_jars 1;
+mvn clean package -Dhadoop.profile=2 -DskipTests;
+function_copy_hadoop_specific_jars 2;
+
+# Generate bin tar
+tar cvzf $DIR_REL_BIN_TAR_PATH/$DIR_REL_BIN.tar.gz -C $DIR_REL_ROOT phoenix-$PHOENIX-bin;
+rm -rf $DIR_REL_BIN_PATH;
+
+echo "DONE generating binary and source tars in release directory."
+echo "Now signing source and binary tars"
+
+# Sign
+function_sign() {
+ phoenix_tar=$(find phoenix-*.gz);
+ gpg --armor --output $phoenix_tar.asc --detach-sig $phoenix_tar;
+ md5sum -b $phoenix_tar > $phoenix_tar.md5;
+ sha512sum -b $phoenix_tar > $phoenix_tar.sha;
+ sha256sum -b $phoenix_tar >> $phoenix_tar.sha;
+}
+
+cd $DIR_REL_BIN_TAR_PATH; function_sign;
+cd $DIR_REL_SRC_TAR_PATH; function_sign;
+
+# Tag
+read -p "Do you want add tag for this RC in GIT? (Y for yes or any other key to continue)" prompt
+if [[ $prompt =~ [yY](es)* ]]
+then
+ echo "Tagging..."
+ read -p "Enter tag (Example 5.0.0-incubating-rc0):" prompt
+ echo "Setting tag: $prompt";sleep 5s
+ git tag -a $prompt -m "$prompt"; git push origin $prompt
+ mv $DIR_REL_ROOT $DIR_REL_BASE/phoenix-$prompt
+fi
+
+echo "DONE."
+echo "If all looks good in release directory then commit RC at https://dist.apache.org/repos/dist/dev/incubator/phoenix"
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/dev/release_files/LICENSE
----------------------------------------------------------------------
diff --git a/dev/release_files/LICENSE b/dev/release_files/LICENSE
new file mode 100644
index 0000000..1204afa
--- /dev/null
+++ b/dev/release_files/LICENSE
@@ -0,0 +1,228 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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.
+
+======================================================================
+
+BSD Clause 3/New BSD License, applies to the following bundled libraries:
+LICENSE: http://opensource.org/licenses/BSD-3-Clause
+
+Snappy, version 1.1.0.1, http://code.google.com/p/snappy/
+Protobuf, version 2.4.0, https://code.google.com/p/protobuf/
+SQLLine, version 1.1.2, https://github.com/julianhyde/sqlline/
+
+======================================================================
+
+BSD Clause 2 License, applies to the following bundled libraries:
+LICENSE: http://opensource.org/licenses/BSD-2-Clause
+
+JLine, version 2.11, http://jline.sourceforge.net/
+ANTLR, version 3.5, http://www.antlr.org/
+
+======================================================================
+
+MIT License, applies to the following bundled library:
+LICENSE: http://opensource.org/licenses/MIT
+
+SLF4J, version 1.4.3, http://www.slf4j.org/
+
+----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/dev/release_files/NOTICE
----------------------------------------------------------------------
diff --git a/dev/release_files/NOTICE b/dev/release_files/NOTICE
new file mode 100644
index 0000000..84869a6
--- /dev/null
+++ b/dev/release_files/NOTICE
@@ -0,0 +1,49 @@
+Apache Phoenix (Incubating)
+Copyright 2014 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+--------------------------------------------------------
+This product includes software developed at
+Sqlline, https://github.com/julianhyde/sqlline/
+sqlline - Shell for issuing SQL to relational databases via JDBC
+
+Copyright (c) 2002,2003,2004,2005,2006,2007 Marc Prud'hommeaux
+Copyright (c) 2004-2010 The Eigenbase Project
+Copyright (c) 2013-2014 Julian Hyde
+All rights reserved.
+
+Licensed under the Modified BSD License (the "License"); you may not
+use this file except in compliance with the License. You may obtain a
+copy of the License at:
+
+http://opensource.org/licenses/BSD-3-Clause
+
+Redistribution and use in source and binary forms,
+with or without modification, are permitted provided
+that the following conditions are met:
+
+(1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+(2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the
+ distribution.
+
+(3) The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
http://git-wip-us.apache.org/repos/asf/incubator-phoenix/blob/4e45a6aa/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 86b8f87..c67596e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -172,6 +172,7 @@
<exclude>README.md</exclude>
<exclude>README</exclude>
<exclude>dev/phoenix.importorder</exclude>
+ <exclude>dev/release_files/**</exclude>
<exclude>**/target/**</exclude>
<exclude>**/resources/*.Driver</exclude>
<exclude>**/*.versionsBackup</exclude>