You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2016/02/05 00:00:40 UTC

[02/42] usergrid git commit: Add Maven assembly for creating a binary release, plus CHANGELOG entry for 2.1.0.

Add Maven assembly for creating a binary release, plus CHANGELOG entry for 2.1.0.


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/8063a5aa
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/8063a5aa
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/8063a5aa

Branch: refs/heads/release
Commit: 8063a5aaaffdf3c5354eb6b9799bb538da1227b1
Parents: 595955d
Author: Dave Johnson <sn...@apache.org>
Authored: Thu Jan 28 10:42:03 2016 -0500
Committer: Dave Johnson <sn...@apache.org>
Committed: Thu Jan 28 10:42:03 2016 -0500

----------------------------------------------------------------------
 CHANGELOG                            | 13 ++++
 README.md                            |  4 +-
 release/README.txt                   |  6 +-
 release/binary-release.sh            | 37 ++++++++++++
 release/pom.xml                      | 95 +++++++++++++++++++++++++++++
 release/release-candidate.sh         | 42 +++++++------
 release/release.sh                   | 32 ++++++----
 release/src/main/assembly/binary.xml | 99 +++++++++++++++++++++++++++++++
 sdks/html5-javascript/Release.md     |  6 --
 9 files changed, 294 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index 47a080a..3e5c736 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,16 @@
 
+Usergrid 2.1.0
+--------------------------------------------------------------------------------
+
+Usergrid 2.1.0 is a major release of Usergrid with a completely rewritten 
+persistence, index and query engine based on Cassandra and ElasticSearch.
+The REST API remains the same as in Usergrid 1.x but with the addition of some
+new system APIs for managing the query index and data migrations.
+ 
+Usergrid 2.1.0 will not work with a Usergrid 1.x database and currently
+there is no migration tool for upgrading a 1.x system to 2.1.
+
+
 Usergrid 1.0.2
 --------------------------------------------------------------------------------
 
@@ -24,6 +36,7 @@ New features
 Here's the full list of JIRA issues resolved:
 https://issues.apache.org/jira/issues/?jql=project%3Dusergrid%20and%20fixVersion%3D1.0.2
 
+
 Usergrid 1.0.1
 --------------------------------------------------------------------------------
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 4f5ba88..07668e4 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,6 @@
 Apache Usergrid
 ===============
 
-__WARNING__: This is the __two-dot-o__ branch and work is underway here on a new persistence system for Usergrid. We refer to the new persistence system as Core Persistence and you can find its modules in the stack/corepersistence directory. 
-
 Overview
 --------
 
@@ -17,7 +15,7 @@ Apache Usergrid provides all code necessary to build and power modern mobile app
 
 Look for much more detailed README files in their corresponding subdirectories, or check out [our website](http://usergrid.apache.org/) for more info.
 
-* The server-side stack, a Java 7 + Cassandra codebase that powers all of the features, is located under [`/stack`](stack). You can install dependencies and compile it with maven. See [stack/README.md](stack#requirements) for instructions.
+* The server-side stack, a Java 8 + Cassandra + ElasticSearch codebase that powers all of the features, is located under [`/stack`](stack). You can install dependencies and compile it with maven. See [stack/README.md](stack#requirements) for instructions.
 
 * The admin portal is a pure HTML5+JavaScript app allowing you to register developers and let them manage their apps in a multi-tenant cluster. Located under [`/portal`](portal)
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/README.txt
----------------------------------------------------------------------
diff --git a/release/README.txt b/release/README.txt
index 08d6006..d4e890f 100644
--- a/release/README.txt
+++ b/release/README.txt
@@ -12,9 +12,13 @@ These are the important files:
   /release/release.sh     - create a release
   /release/changelog.rb   - generate CHANGELOG based on JIRA fixVerison 
 
+NOTE: if you are releasing from a branch other than 'release' then make sure
+the two bash scripts in this directory define RELEASE_BRANCH correctly.
+
 To create a release candidate:
 
-1) Change to the master branch. Set .usergridversion to release version number.
+1) Change to the release branch (usually this is master). 
+   Set .usergridversion to release version number.
 
 2) Make sure that all JIRA issues that you want in the CHANGELOG have fixVersion
    that matches the release version number in .usergridversion

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/binary-release.sh
----------------------------------------------------------------------
diff --git a/release/binary-release.sh b/release/binary-release.sh
new file mode 100755
index 0000000..9886711
--- /dev/null
+++ b/release/binary-release.sh
@@ -0,0 +1,37 @@
+#!/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.
+#---------------------------------------------------------------------------
+
+# Attempt to build Java SDK, Portal, Stack and Tools
+
+pushd ../sdks/java
+mvn -DskipTests=true clean install
+popd
+
+pushd ../portal
+./build.sh 
+popd
+
+pushd ../stack
+mvn -DskipTests=true clean install
+cd tools
+mvn -DskipTests=true clean install
+popd
+
+# assemble binary release
+#mvn clean install

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/pom.xml
----------------------------------------------------------------------
diff --git a/release/pom.xml b/release/pom.xml
new file mode 100644
index 0000000..c40e8c2
--- /dev/null
+++ b/release/pom.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+ * 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>16</version>
+        <relativePath></relativePath>
+    </parent>
+
+    <groupId>org.apache.usergrid</groupId>
+    <artifactId>apache-usergrid</artifactId>
+    <version>2.1.0</version>
+    <packaging>pom</packaging>
+
+    <name>Apache Usergrid Binary Release</name>
+    
+    <description>
+        Pre-built binary release of Apache Usergrid with Java Webapp, HTML5 Portal, Tools and JavaScript SDK.
+    </description>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptors>
+                        <descriptor>src/main/assembly/binary.xml</descriptor>
+                    </descriptors>
+                    <tarLongFileMode>gnu</tarLongFileMode>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <!-- sign via "mvn clean install -Prelease-sign-artifacts" -->
+        <profile>
+            <id>release-sign-artifacts</id>
+            <activation>
+                <property>
+                    <name>performRelease</name>
+                    <value>true</value>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-gpg-plugin</artifactId>
+                        <version>1.4</version>
+                        <executions>
+                            <execution>
+                                <id>sign-artifacts</id>
+                                <phase>verify</phase>
+                                <goals>
+                                    <goal>sign</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/release-candidate.sh
----------------------------------------------------------------------
diff --git a/release/release-candidate.sh b/release/release-candidate.sh
index 4ed7839..684eef6 100755
--- a/release/release-candidate.sh
+++ b/release/release-candidate.sh
@@ -1,18 +1,22 @@
 #!/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
 #
-# 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
 #
-#     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
+# 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 script is used to create a release candidate. It will update the current
 # .usergridversion as well as creates a branch for the new release candidate and
 # publishes the source distrobution and signatures to be voted on.
@@ -23,6 +27,10 @@
 # A email template will be generated after successfully generating a release
 # candidate which will need to be sent to the dev@ and private@ mailing lists.
 #
+
+# for the 2.1.0 release, we will release from 'release' instead of the usual 'master'
+export RELEASE_BRANCH=release
+
 set -o errexit
 set -o nounset
 
@@ -92,8 +100,8 @@ base_dir=$(git rev-parse --show-toplevel)
 if [[ -n "`git status --porcelain`" ]]; then
   echo "ERROR: Please run from a clean git repository."
   exit 1
-elif [[ "`git rev-parse --abbrev-ref HEAD`" != "master" ]]; then
-  echo "ERROR: This script must be run from master."
+elif [[ "`git rev-parse --abbrev-ref HEAD`" != "$RELEASE_BRANCH" ]]; then
+  echo "ERROR: This script must be run from $RELEASE_BRANCH"
   exit 1
 fi
 
@@ -143,7 +151,7 @@ function print_reset_instructions {
 cat <<EOF
 To roll back your local repo you will need to run:
 
-  git checkout master
+  git checkout $RELEASE_BRANCH
   git reset --hard ${current_git_rev}
   git branch -D ${current_version_tag}
 EOF
@@ -203,9 +211,9 @@ if [[ $publish == 1 ]]; then
   echo "Pushing new branch ${current_version_tag} to origin"
   cd ${base_dir}
   git push origin ${current_version_tag}
-  echo "Pushing updated .usergridversion to master"
-  git checkout master
-  git push origin master
+  echo "Pushing updated .usergridversion to $RELEASE_BRANCH"
+  git checkout $RELEASE_BRANCH
+  git push origin $RELEASE_BRANCH
 fi
 
 cd ${base_dir}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/release.sh
----------------------------------------------------------------------
diff --git a/release/release.sh b/release/release.sh
index 102e4d7..acc3b1a 100755
--- a/release/release.sh
+++ b/release/release.sh
@@ -1,21 +1,27 @@
 #!/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
 #
-# 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
 #
-#     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
+# 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 script is used to publish the official release after a successful
 # vote of a release-candidate.
 
+# for the 2.1.0 release, we will release from 'release' instead of the usual 'master'
+export RELEASE_BRANCH=release
+
 set -e
 set -o nounset
 
@@ -86,9 +92,9 @@ fi
 base_dir=$(git rev-parse --show-toplevel)
 # Verify that this is a clean repository
 if [[ -n "`git status --porcelain`" ]]; then
-  echo "ERROR: Please run from a clean master."
+  echo "ERROR: Please run from a clean $RELEASE_BRANCH"
   exit 1
-elif [[ "`git rev-parse --abbrev-ref HEAD`" == "master" ]]; then
+elif [[ "`git rev-parse --abbrev-ref HEAD`" == "$RELEASE_BRANCH" ]]; then
   echo "ERROR: This script must be run from the released branch."
   exit 1
 fi

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/release/src/main/assembly/binary.xml
----------------------------------------------------------------------
diff --git a/release/src/main/assembly/binary.xml b/release/src/main/assembly/binary.xml
new file mode 100644
index 0000000..bf37d8a
--- /dev/null
+++ b/release/src/main/assembly/binary.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+
+<assembly>
+    <id>binary</id>
+    <formats>
+        <format>zip</format>
+        <format>tar.gz</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <files>
+        
+        <!-- Legal and Documentation -->
+        <file>
+            <source>../CHANGELOG</source>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}</outputDirectory>
+        </file> 
+        <file>
+            <source>../LICENSE</source>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}</outputDirectory>
+        </file> 
+        <file>
+            <source>../NOTICE</source>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}</outputDirectory>
+        </file> 
+        
+        <!-- Stack -->
+        <file>
+            <source>../stack/rest/target/ROOT.war</source>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}/stack</outputDirectory>
+        </file>
+        
+        <!-- Tools -->
+        <file>
+            <source>../stack/tools/target/usergrid-tools-2.1.0-SNAPSHOT.jar</source>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}/tools</outputDirectory>
+        </file>
+        
+    </files>
+
+    <fileSets>
+
+        <!-- Portal and source (HTML5/JavaScript and Angular) -->
+        <fileSet>
+            <directory>../portal</directory>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}/portal</outputDirectory>
+            <excludes>
+                <exclude>%ant[**/.idea/**]</exclude>
+                <exclude>%ant[**/node_modules/**]</exclude>
+                <exclude>%ant[**/bower_components/**]</exclude>
+                <exclude>%ant[**/dist/usergrid-portal/**]</exclude>
+                <exclude>%ant[**/dist-cov/**]</exclude>
+            </excludes>
+        </fileSet>
+
+        <!-- HTML5/JavaScript SDK and source -->
+        <fileSet>
+            <directory>../sdks/html5-javascript</directory> 
+            <outputDirectory>${artifact.artifactId}-${artifact.version}/sdks/html5-javascript</outputDirectory>
+            <excludes>
+                <exclude>%ant[**/.idea/**]</exclude>
+            </excludes>
+        </fileSet>
+
+        <!-- Java SDK and source -->
+        <fileSet>
+            <directory>../sdks/java</directory>
+            <outputDirectory>${artifact.artifactId}-${artifact.version}/sdks/java</outputDirectory>
+            <excludes>
+                <exclude>%ant[**/.idea/**]</exclude>
+                <exclude>%ant[**/target/classes/**]</exclude>
+                <exclude>%ant[**/target/generated-sources/**]</exclude>
+                <exclude>%ant[**/target/maven-archiver/**]</exclude>
+                <exclude>%ant[**/target/maven-status/**]</exclude>
+            </excludes>
+        </fileSet>
+        
+    </fileSets>
+
+</assembly>
+

http://git-wip-us.apache.org/repos/asf/usergrid/blob/8063a5aa/sdks/html5-javascript/Release.md
----------------------------------------------------------------------
diff --git a/sdks/html5-javascript/Release.md b/sdks/html5-javascript/Release.md
deleted file mode 100644
index b388a45..0000000
--- a/sdks/html5-javascript/Release.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Usergrid javascript SDK 0.10.08
- * Added support for Events and Counters
- * Added support for Folders and Assets
- * Improved asynchronous call support
- * Improved callback handling
- * Numerous bug fixes