Merge branch 'develop' into CollectionData

* develop: (29 commits)
  more fixes to script
  try to fix spaces in path issue
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare branch release/0.9.0
  This should fix it
  Revert "[maven-release-plugin] prepare branch release/0.9.0"
  Revert "[maven-release-plugin] prepare for next development iteration"
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare branch release/0.9.0
  Revert "[maven-release-plugin] prepare branch release/0.9.0"
  Revert "[maven-release-plugin] prepare for next development iteration"
  more fixes for rc script
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare branch release/0.9.0
  more debugging
  Revert "[maven-release-plugin] prepare branch release/0.9.0"
  Revert "[maven-release-plugin] prepare for next development iteration"
  Revert "[maven-release-plugin] prepare branch release/0.9.0"
  Revert "[maven-release-plugin] prepare for next development iteration"
  [maven-release-plugin] prepare for next development iteration
  ...
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index 1e4b8bd..ce92c97 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.1-SNAPSHOT</version>
   </parent>
 
diff --git a/build.xml b/build.xml
index 6077bff..1a55b3c 100644
--- a/build.xml
+++ b/build.xml
@@ -1466,7 +1466,7 @@
             <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
         </mxmlc>
         <mkdir dir="${basedir}/mustella/tests/basicTests/fonts" />
-        <copy todir="${basedir}/mustella/tests/basicTests/fonts" >
+        <copy todir="${basedir}/mustella/tests/basicTests/fonts" failonerror="false">
             <fileset dir="${ROYALE_HOME}/frameworks/fonts">
                 <include name="**/*.swf" />
             </fileset>
@@ -1628,6 +1628,24 @@
         <checksum algorithm="md5" file="${basedir}/out/apache-royale-jsonly-${release.version}-bin.zip" forceOverwrite="yes"/>
     </target>
 
+    <target name="sign-jsonly" if="env.AIR_HOME" >
+        <exec executable="gpg">
+            <arg value="--armor" />
+            <arg value="--output" />
+            <arg value="${basedir}/out/apache-royale-jsonly-${release.version}-bin.zip.asc" />
+            <arg value="--detach-sig" />
+            <arg value="${basedir}/out/apache-royale-jsonly-${release.version}-bin.zip" />
+        </exec>
+        
+        <exec executable="gpg">
+            <arg value="--armor" />
+            <arg value="--output" />
+            <arg value="${basedir}/out/apache-royale-jsonly-${release.version}-bin.tar.gz.asc" />
+            <arg value="--detach-sig" />
+            <arg value="${basedir}/out/apache-royale-jsonly-${release.version}-bin.tar.gz" />
+        </exec>
+    </target>
+
     <target name="sign" >
         <exec executable="gpg">
             <arg value="--armor" />
diff --git a/distribution/jars/compc/pom.xml b/distribution/jars/compc/pom.xml
index 8ee6d4b..0b26bd9 100644
--- a/distribution/jars/compc/pom.xml
+++ b/distribution/jars/compc/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/compiler-asc/pom.xml b/distribution/jars/compiler-asc/pom.xml
index 72ed495..a9898e9 100644
--- a/distribution/jars/compiler-asc/pom.xml
+++ b/distribution/jars/compiler-asc/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/compiler-compc/pom.xml b/distribution/jars/compiler-compc/pom.xml
index 9cdb2b1..bf0b711 100644
--- a/distribution/jars/compiler-compc/pom.xml
+++ b/distribution/jars/compiler-compc/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/compiler-mxmlc/pom.xml b/distribution/jars/compiler-mxmlc/pom.xml
index 239a7e2..0c5f181 100644
--- a/distribution/jars/compiler-mxmlc/pom.xml
+++ b/distribution/jars/compiler-mxmlc/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/compiler-optimizer/pom.xml b/distribution/jars/compiler-optimizer/pom.xml
index d348a16..a0f8408 100644
--- a/distribution/jars/compiler-optimizer/pom.xml
+++ b/distribution/jars/compiler-optimizer/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/compiler-swfdump/pom.xml b/distribution/jars/compiler-swfdump/pom.xml
index a65225b..3cea5cf 100644
--- a/distribution/jars/compiler-swfdump/pom.xml
+++ b/distribution/jars/compiler-swfdump/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/jars/mxmlc/pom.xml b/distribution/jars/mxmlc/pom.xml
index da9d99c..dd2a80d 100644
--- a/distribution/jars/mxmlc/pom.xml
+++ b/distribution/jars/mxmlc/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
     <relativePath>../../../pom.xml</relativePath>
   </parent>
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 2d703eb..db37c52 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
   </parent>
 
diff --git a/examples/pom.xml b/examples/pom.xml
index 07962aa..270ce20 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
   </parent>
 
diff --git a/examples/royale/ASDoc/build.xml b/examples/royale/ASDoc/build.xml
index 7a71999..5b30ed1 100644
--- a/examples/royale/ASDoc/build.xml
+++ b/examples/royale/ASDoc/build.xml
@@ -54,7 +54,7 @@
         <java jar="${ROYALE_COMPILER_HOME}/lib/asdoc.jar" resultProperty="errorCode"
             fork="true">
             <jvmarg line="${mxmlc.jvm.args}"/>
-            <jvmarg line="-Droyalelib=${ROYALE_HOME}/frameworks}"/>
+            <jvmarg line="-Droyalelib='${ROYALE_HOME}/frameworks'"/>
             <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
             <arg value="-external-library-path=${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" />
             <arg value="-external-library-path+=${ROYALE_HOME}/js/libs/google_maps.swc" />
diff --git a/frameworks/pom.xml b/frameworks/pom.xml
index 67b5d13..3d3a50f 100644
--- a/frameworks/pom.xml
+++ b/frameworks/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.1-SNAPSHOT</version>
   </parent>
 
diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as b/frameworks/projects/Core/src/main/royale/CoreClasses.as
index a74ad70..963d0c0 100644
--- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
+++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
@@ -232,6 +232,13 @@
 	import org.apache.royale.utils.loadBeadFromValuesManager; loadBeadFromValuesManager;
 
 	import org.apache.royale.utils.array.rangeCheck; rangeCheck;
+
+	import org.apache.royale.utils.string.contains; contains;
+	import org.apache.royale.utils.string.isWhitespace; isWhitespace;
+	import org.apache.royale.utils.string.trim; trim;
+	import org.apache.royale.utils.string.trimRight; trimRight;
+	import org.apache.royale.utils.string.trimLeft; trimLeft;
+
 	import org.apache.royale.utils.date.addDays; addDays;
 	import org.apache.royale.utils.date.addHours; addHours;
 	import org.apache.royale.utils.date.addMinutes; addMinutes;
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/contains.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/contains.as
new file mode 100644
index 0000000..2e16d52
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/contains.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 "Licens"); 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.string
+{
+    import org.apache.royale.debugging.assert;
+	/**
+	 *  Checks whether a string contains the specified substring.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9
+	 */
+    public function contains(string:String,value:String):Boolean
+    {
+        assert(string != null,"contains() cannot be called with a null string");
+        assert(string != null,"contains() cannot be called with a null substring");
+        return string.indexOf(value) != -1;
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/isWhitespace.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/isWhitespace.as
new file mode 100644
index 0000000..0fd7bd7
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/isWhitespace.as
@@ -0,0 +1,56 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 "Licens"); 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.string
+{
+            /**
+         *  Returns <code>true</code> if the specified string is
+         *  a single space, tab, carriage return, newline, or formfeed character.
+         *
+         *  @return <code>true</code> if the specified string is
+         *  a single space, tab, carriage return, newline, or formfeed character.
+         *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9
+         */
+        public function isWhitespace(character:String):Boolean
+        {
+            switch (character)
+            {
+                case " ":
+                case "\t":
+                case "\r":
+                case "\n":
+                case "\f":
+                    // non breaking space
+                case "\u00A0":
+                    // line seperator
+                case "\u2028":
+                    // paragraph seperator
+                case "\u2029":
+                    // ideographic space
+                case "\u3000":
+                    return true;
+                    
+                default:
+                    return false;
+            }
+        }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trim.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trim.as
new file mode 100644
index 0000000..2d93f90
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trim.as
@@ -0,0 +1,54 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 "Licens"); 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.string
+{
+    import org.apache.royale.debugging.assert;
+	/**
+	 *  Trims all whitespace off the beginning and end of a string.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9
+	 */
+    public function trim(str:String):String
+    {
+        assert(str != null,"trim() cannot be called on null");
+
+        COMPILE::SWF
+        {
+            var startIndex:int = 0;
+            while (isWhitespace(str.charAt(startIndex)))
+                ++startIndex;
+            
+            var endIndex:int = str.length - 1;
+            while (isWhitespace(str.charAt(endIndex)))
+                --endIndex;
+            
+            if (endIndex >= startIndex)
+                return str.slice(startIndex, endIndex + 1);
+            else
+                return "";
+        }
+
+        COMPILE::JS
+        {
+            return str.trim();
+        }
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimLeft.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimLeft.as
new file mode 100644
index 0000000..0842830
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimLeft.as
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 "Licens"); 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.string
+{
+    import org.apache.royale.debugging.assert;
+	/**
+	 *  Checks that an index falls within the allowable range of an array.
+	 *  Returns true if it's valid, false if not.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9
+	 */
+    public function trimLeft(str:String):String
+    {
+        assert(str != null,"trim() cannot be called on null");
+
+        COMPILE::SWF{
+            var startIndex:int = 0;
+            while (isWhitespace(str.charAt(startIndex)))
+                ++startIndex;
+            
+            return str.slice(startIndex);
+        }
+
+        COMPILE::JS{
+            return str.trimLeft();
+        }
+    }   
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimRight.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimRight.as
new file mode 100644
index 0000000..3370286
--- /dev/null
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/string/trimRight.as
@@ -0,0 +1,50 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 "Licens"); 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.utils.string
+{
+    import org.apache.royale.debugging.assert;
+	/**
+	 *  Trims all whitespace off the end of a string.
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9
+	 */
+    public function trimRight(str:String):String
+    {
+        assert(str != null,"trim() cannot be called on null");
+
+        COMPILE::SWF{
+            var startIndex:int = 0;
+            
+            var endIndex:int = str.length - 1;
+            while (isWhitespace(str.charAt(endIndex)))
+                --endIndex;
+            
+            if (endIndex >= startIndex)
+                return str.slice(startIndex, endIndex + 1);
+            else
+                return "";
+        }
+
+        COMPILE::JS{
+            return str.trimRight();
+        }
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as b/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
index 3c9c5bf..2f99400 100644
--- a/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
+++ b/frameworks/projects/Core/src/test/royale/flexUnitTests/CoreTester.as
@@ -28,5 +28,6 @@
 		public var dateUtilsTest:DateUtilsTest;
         public var keyConverterTest:KeyConverterTest;
         public var keyboardEventConverterTest:KeyboardEventConverterTest;
+        public var stringUtilsTest:StringUtilsTest;
     }
 }
diff --git a/frameworks/projects/Core/src/test/royale/flexUnitTests/StringUtilsTest.as b/frameworks/projects/Core/src/test/royale/flexUnitTests/StringUtilsTest.as
new file mode 100644
index 0000000..5390817
--- /dev/null
+++ b/frameworks/projects/Core/src/test/royale/flexUnitTests/StringUtilsTest.as
@@ -0,0 +1,74 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package flexUnitTests
+{
+    import org.apache.royale.utils.string.*;
+    import org.apache.royale.test.asserts.*;
+    
+    public class StringUtilsTest
+    {		
+        [Before]
+        public function setUp():void
+        {
+        }
+        
+        [After]
+        public function tearDown():void
+        {
+        }
+        
+        [BeforeClass]
+        public static function setUpBeforeClass():void
+        {
+        }
+        
+        [AfterClass]
+        public static function tearDownAfterClass():void
+        {
+        }
+        
+        [Test]
+        public function testContains():void
+        {
+            assertTrue(contains("food","foo"),"food contains foo");
+            assertTrue(!contains("foo","food"),"foo does not contain food");
+            assertTrue(!contains("food","baz"),"food does not contain baz");
+        }
+
+        [Test]
+        public function testTrim():void
+        {
+            assertTrue(trim("  foo  ") == "foo","Should be 'foo'");
+        }
+
+        [Test]
+        public function testTrimLeft():void
+        {
+            assertTrue(trimLeft("  foo  ") == "foo  ","Should be 'foo  ' (with spaces after)");
+        }
+
+        [Test]
+        public function testTrimRight():void
+        {
+            assertTrue(trimRight("  foo  ") == "  foo","Should be '  foo' (with spaces before)");
+        }
+
+
+    }
+}
diff --git a/manualtests/pom.xml b/manualtests/pom.xml
index 853fe90..6463dde 100644
--- a/manualtests/pom.xml
+++ b/manualtests/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
 	<relativePath />
   </parent>
diff --git a/pom.xml b/pom.xml
index f59c7b5..4dfe5b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   </parent>
 
   <groupId>org.apache.royale.framework</groupId>
-  <artifactId>royale.framework-parent</artifactId>
+  <artifactId>royale-framework-parent</artifactId>
   <version>0.9.1-SNAPSHOT</version>
   <packaging>pom</packaging>
 
diff --git a/releasecandidate.xml b/releasecandidate.xml
index d2c5a36..406fe7a 100644
--- a/releasecandidate.xml
+++ b/releasecandidate.xml
@@ -335,31 +335,21 @@
         <echo>changed to branch ${branch.name}</echo>
     </target>
 
-    <target name="get-maven-compiler-folder" unless="maven.compiler.folder">
-        <input
-        message="Enter Maven Compiler Staging Repo folder name"
-        addproperty="maven.compiler.folder"/>
-    </target>
-    <target name="get-maven-typedefs-folder" unless="maven.typedefs.folder">
-        <input
-        message="Enter Maven Typedefs Staging Repo folder name"
-        addproperty="maven.typedefs.folder"/>
-    </target>
-    <target name="get-maven-asjs-folder" unless="maven.asjs.folder">
-        <input
-        message="Enter Maven ASJS Staging Repo folder name"
-        addproperty="maven.asjs.folder"/>
-    </target>
     <target name="verify-task">
         <input
-        message="This task will build a release candidate.  It expects that the make_branches and maven targets ahve been run first.  Press any &lt;enter&gt; to enter the location of the Maven source artifacts."
+        message="This task will build a release candidate.  It expects that the make_branches and maven targets have been run first.  Press any &lt;enter&gt; to enter the location of the Maven source artifacts."
         />
     </target>
     
-    <target name="get-maven-folders" depends="get-maven-compiler-folder, get-maven-typedefs-folder,get-maven-asjs-folder" />
+    <target name="get-maven-folders">
+        <input
+        message="Enter Maven Staging Repo folder number"
+        addproperty="maven.staging.folder.number"/>
+    </target>
     
-    <target name="main" depends="check-empty-folder,check-no-repos,verify-task,check-name-and-svn,install-rat,credentials,get-maven-folders,get-maven-source-artifacts" description="Perform packaging steps">
+    <target name="main" depends="check-empty-folder,check-no-repos,verify-task,check-name-and-svn,install-rat,credentials,get-maven-folders,get-maven-source-artifacts,check-royale-asjs" description="Perform packaging steps">
 		<antcall target="check-new-version" />
+        <antcall target="ant-artifacts" />
 		<antcall target="stage.rc" />
 		<antcall target="push.rc" />
 	</target>
@@ -479,6 +469,7 @@
     </target>
     
     <target name="git-commit-and-push-typedefs-if-modified" if="typedefs.modification.exists">
+        <echo>calling git add</echo>
         <exec executable="${git}" dir="${typedefs}" failonerror="true" >
             <arg value="add" />
             <arg value="pom.xml" />
@@ -491,11 +482,16 @@
     </target>
     
     <target name="git-commit-and-push-typedefs">
-        <exec executable="${git}" dir="${typedefs}" failonerror="true" outputproperty="git.status.typedefs">
+        <exec executable="${git}" dir="${typedefs}" failonerror="true">
+            <arg value="remote" />
+            <arg value="-v" />
+        </exec>
+        <exec executable="${git}" dir="${typedefs}" failonerror="true" outputproperty="git.push.status.typedefs">
             <arg value="status" />
         </exec>
+        <echo>${git.push.status.typedefs}</echo>
         <condition property="typedefs.modification.exists">
-            <contains string="${git.status.typedefs}" substring="modified:" />
+            <contains string="${git.push.status.typedefs}" substring="modified:" />
         </condition>
         <antcall target="git-commit-and-push-typedefs-if-modified" />
     </target>
@@ -513,11 +509,11 @@
     </target>
     
     <target name="git-commit-and-push-asjs">
-        <exec executable="${git}" dir="${asjs}" failonerror="true" outputproperty="git.status.asjs">
+        <exec executable="${git}" dir="${asjs}" failonerror="true" outputproperty="git.push.status.asjs">
             <arg value="status" />
         </exec>
         <condition property="asjs.modification.exists">
-            <contains string="${git.status.asjs}" substring="modified:" />
+            <contains string="${git.push.status.asjs}" substring="modified:" />
         </condition>
         <antcall target="git-commit-and-push-asjs-if-modified" />
     </target>
@@ -578,7 +574,7 @@
             <arg value="main" />
             <!--<arg value="-DpushChanges=false" />-->
         </exec>
-        <!--<delete file="${compiler}/copyofrelease.properties" failonerror="false" />-->
+        <delete file="${compiler}/copyofrelease.properties" failonerror="false" />
     </target>
     
     <target name="royale.compiler" depends="clone-compiler,checkout-release-branch-compiler,maven.prepare.compiler,maven.perform.compiler" />
@@ -675,9 +671,6 @@
         <exec executable="${browser}" spawn="true">
             <arg value="http://repository.apache.org/" />
         </exec>
-        <exec executable="${browser}">
-            <arg value="http://central.sonatype.org/pages/releasing-the-deployment.html#locate-and-examine-your-staging-repository" />
-        </exec>
     </target>
     
 	<target name="maven" depends="check-empty-folder, use_release_branch, royale.compiler, royale.typedefs, royale.framework, close.maven.staging.repo">
@@ -697,21 +690,35 @@
         <mkdir dir="${basedir}/temp/royale-asjs" />
         <mkdir dir="${basedir}/temp/royale-typedefs" />
         <mkdir dir="${basedir}/temp/royale-compiler" />
-        <get src="http://repository.apache.org/staging/royale/${maven.folder.name}/royale-asjs" dest="${basedir}/temp" />
+        <get src="https://repository.apache.org/content/repositories/orgapacheroyale-${maven.staging.folder.number}/org/apache/royale/framework/royale-framework-parent/${release.version}/royale-framework-parent-${release.version}-source-release.zip" dest="${basedir}/temp/royale-asjs.zip" />
         <unzip src="${basedir}/temp/royale-asjs.zip"
-        dest="${basedir}/royale-asjs"/>
-        <get src="http://repository.apache.org/staging/royale/${maven.folder.name}/royale-typedefs" dest="${basedir}/temp" />
+            dest="${basedir}/royale-asjs">
+          <cutdirsmapper dirs="1"/>
+        </unzip>
+        <get src="https://repository.apache.org/content/repositories/orgapacheroyale-${maven.staging.folder.number}/org/apache/royale/typedefs/royale-typedefs-parent/${release.version}/royale-typedefs-parent-${release.version}-source-release.zip" dest="${basedir}/temp/royale-typedefs.zip" />
         <unzip src="${basedir}/temp/royale-typedefs.zip"
-        dest="${basedir}/royale-typedefs"/>
-        <get src="http://repository.apache.org/staging/royale/${maven.folder.name}/royale-compiler" dest="${basedir}/temp" />
+            dest="${basedir}/royale-typedefs">
+          <cutdirsmapper dirs="1"/>
+        </unzip>
+        <get src="https://repository.apache.org/content/repositories/orgapacheroyale-${maven.staging.folder.number}/org/apache/royale/compiler/royale-compiler-parent/${release.version}/royale-compiler-parent-${release.version}-source-release.zip" dest="${basedir}/temp/royale-compiler.zip" />
         <unzip src="${basedir}/temp/royale-compiler.zip"
-        dest="${basedir}/royale-compiler"/>
+            dest="${basedir}/royale-compiler">
+          <cutdirsmapper dirs="1"/>
+        </unzip>
 
+    </target>
+    
+    <target name="ant-artifacts">
 		<ant dir="${basedir}/royale-asjs" target="release" />
 		<ant dir="${basedir}/royale-asjs" target="create-md5" />
+        <ant dir="${basedir}/royale-asjs" target="create-md5-jsonly" />
 		<ant dir="${basedir}/royale-asjs" target="sign" />
+        <ant dir="${basedir}/royale-asjs" target="sign-jsonly" />
 		<!--<ant antfile="build.xml" target="doc-create-md5" />-->
 		<!--<ant antfile="build.xml" target="doc-sign" />-->
+    </target>
+    
+    <target name="stage.rc">
 		<mkdir dir="${dist.dev}/royale/${release.version}/rc${rc}/binaries" />
 		<!--<mkdir dir="${dist.dev}/royale/${release.version}/rc${rc}/doc" />-->
 		<copy todir="${dist.dev}/royale/${release.version}/rc${rc}" >
@@ -724,6 +731,11 @@
 				<include name="apache-royale-${release.version}-bin*" />
 			</fileset>
 		</copy>
+        <copy todir="${dist.dev}/royale/${release.version}/rc${rc}/binaries" >
+            <fileset dir="${asjs}/out" >
+                <include name="apache-royale-jsonly-${release.version}-bin*" />
+            </fileset>
+        </copy>
 		<!--<copy todir="${dist.dev}/royale/${release.version}/rc${rc}/doc" >
 			<fileset dir="${basedir}/out" >
 				<include name="apache-royale-${release.version}-asdoc*" />
diff --git a/testsuite/pom.xml b/testsuite/pom.xml
index bb1f110..b3f4f54 100644
--- a/testsuite/pom.xml
+++ b/testsuite/pom.xml
@@ -22,7 +22,7 @@
 
   <parent>
     <groupId>org.apache.royale.framework</groupId>
-    <artifactId>royale.framework-parent</artifactId>
+    <artifactId>royale-framework-parent</artifactId>
     <version>0.9.0-SNAPSHOT</version>
   </parent>