You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/03/13 00:18:11 UTC

[royale-asjs] 01/01: First iteration of separation of MXRoyale in 4 libraries (for now): MXCore, MXRoyale, MXCollections and RPC

This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch mx-swc-separation
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 28a68a24a36346cb1bb02e447d0d3f184cfc8e6e
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Mar 13 01:17:59 2019 +0100

    First iteration of separation of MXRoyale in 4 libraries (for now): MXCore, MXRoyale, MXCollections and RPC
---
 frameworks/projects/MXCollections/asconfig.json    |  40 ++++++
 frameworks/projects/MXCollections/build.xml        | 153 +++++++++++++++++++++
 .../projects/{MXRoyale => MXCollections}/pom.xml   |  42 +++---
 .../src/main/config/compile-swf-config.xml         | 115 ++++++++++++++++
 .../src/main/resources/mx-royale-as-manifest.xml   |  26 ++++
 .../src/main/resources/mx-royale-manifest.xml      |  34 +++++
 .../src/main/royale/MXCollectionsClasses.as}       |  34 +++--
 .../main/royale/mx/collections/ArrayCollection.as  |   0
 .../src/main/royale/mx/collections/ArrayList.as    |   0
 .../mx/collections/ComplexFieldChangeWatcher.as    |   0
 .../main/royale/mx/collections/CursorBookmark.as   |   0
 .../mx/collections/DefaultSummaryCalculator.as     |   0
 .../src/main/royale/mx/collections/Grouping.as     |   0
 .../royale/mx/collections/GroupingCollection.as    |   0
 .../royale/mx/collections/GroupingCollection2.as   |   0
 .../main/royale/mx/collections/GroupingField.as    |   0
 .../mx/collections/HierarchicalCollectionView.as   |   0
 .../HierarchicalCollectionViewCursor.as            |   0
 .../main/royale/mx/collections/HierarchicalData.as |   0
 .../main/royale/mx/collections/ICollectionView.as  |   0
 .../royale/mx/collections/IComplexSortField.as     |   0
 .../royale/mx/collections/IGroupingCollection.as   |   0
 .../royale/mx/collections/IGroupingCollection2.as  |   0
 .../mx/collections/IHierarchicalCollectionView.as  |   0
 .../IHierarchicalCollectionViewCursor.as           |   0
 .../royale/mx/collections/IHierarchicalData.as     |   0
 .../src/main/royale/mx/collections/IList.as        |   0
 .../src/main/royale/mx/collections/ISort.as        |   0
 .../src/main/royale/mx/collections/ISortField.as   |   0
 .../royale/mx/collections/ISummaryCalculator.as    |   0
 .../src/main/royale/mx/collections/IViewCursor.as  |   0
 .../main/royale/mx/collections/LeafNodeCursor.as   |   0
 .../royale/mx/collections/ListCollectionView.as    |   0
 .../src/main/royale/mx/collections/Sort.as         |   0
 .../src/main/royale/mx/collections/SortField.as    |   0
 .../royale/mx/collections/SortFieldCompareTypes.as |   0
 .../src/main/royale/mx/collections/SummaryField.as |   0
 .../main/royale/mx/collections/SummaryField2.as    |   0
 .../main/royale/mx/collections/SummaryObject.as    |   0
 .../src/main/royale/mx/collections/SummaryRow.as   |   0
 .../main/royale/mx/collections/XMLListAdapter.as   |   0
 .../royale/mx/collections/XMLListCollection.as     |   0
 .../royale/mx/collections/errors/CursorError.as    |   0
 .../main/royale/mx/collections/errors/SortError.as |   0
 .../src/main/royale/mx/events/CollectionEvent.as   |   0
 .../main/royale/mx/events/CollectionEventKind.as   |   0
 frameworks/projects/MXCore/asconfig.json           |  40 ++++++
 frameworks/projects/MXCore/build.xml               | 153 +++++++++++++++++++++
 frameworks/projects/{MXRoyale => MXCore}/pom.xml   |  28 +---
 .../MXCore/src/main/config/compile-swf-config.xml  | 115 ++++++++++++++++
 .../src/main/resources/mx-royale-as-manifest.xml   |  26 ++++
 .../src/main/resources/mx-royale-manifest.xml      |  32 +++++
 .../MXCore/src/main/royale/MXCoreClasses.as        |  73 ++++++++++
 .../src/main/royale/mx/binding/BindabilityInfo.as  |   0
 .../main/royale/mx/binding/utils/ChangeWatcher.as  |   0
 .../src/main/royale/mx/core/EventPriority.as       |   0
 .../src/main/royale/mx/core/FlexVersion.as         |   0
 .../src/main/royale/mx/core/IChildList.as          |   0
 .../src/main/royale/mx/core/IFlexDisplayObject.as  |   0
 .../src/main/royale/mx/core/IFlexModuleFactory.as  |   0
 .../src/main/royale/mx/core/IUIComponent.as        |   0
 .../src/main/royale/mx/core/UIComponent.as         |   0
 .../src/main/royale/mx/core/mx_internal.as         |   0
 .../src/main/royale/mx/events/FlexEvent.as         |   0
 .../src/main/royale/mx/events/ModuleEvent.as       |   0
 .../src/main/royale/mx/events/ProgressEvent.as     |   0
 .../main/royale/mx/events/PropertyChangeEvent.as   |   0
 .../royale/mx/events/PropertyChangeEventKind.as    |   0
 .../src/main/royale/mx/events/ResourceEvent.as     |   0
 .../src/main/royale/mx/managers/ISystemManager.as  |   0
 .../royale/mx/managers/SystemManagerGlobals.as     |   0
 .../src/main/royale/mx/modules/IModule.as          |   0
 .../src/main/royale/mx/modules/IModuleInfo.as      |   0
 .../src/main/royale/mx/modules/Module.as           |   0
 .../src/main/royale/mx/modules/ModuleLoader.as     |   0
 .../src/main/royale/mx/modules/ModuleManager.as    |   0
 .../main/royale/mx/resources/IResourceBundle.as    |   0
 .../main/royale/mx/resources/IResourceManager.as   |   0
 .../src/main/royale/mx/resources/Locale.as         |   0
 .../src/main/royale/mx/resources/LocaleSorter.as   |   0
 .../src/main/royale/mx/resources/ResourceBundle.as |   0
 .../main/royale/mx/resources/ResourceManager.as    |   0
 .../royale/mx/resources/ResourceManagerImpl.as     |   0
 .../src/main/royale/mx/system/ApplicationDomain.as |   0
 .../src/main/royale/mx/utils/StringUtil.as         |   0
 frameworks/projects/MXRoyale/pom.xml               |  29 ++++
 .../src/main/resources/mx-royale-manifest.xml      |  54 +++-----
 .../MXRoyale/src/main/royale/MXRoyaleClasses.as    |  39 ------
 frameworks/projects/RPC/asconfig.json              |  40 ++++++
 frameworks/projects/RPC/build.xml                  | 153 +++++++++++++++++++++
 frameworks/projects/{MXRoyale => RPC}/pom.xml      |  57 ++++----
 .../RPC/src/main/config/compile-swf-config.xml     | 115 ++++++++++++++++
 .../src/main/resources/mx-royale-as-manifest.xml   |  26 ++++
 .../RPC/src/main/resources/mx-royale-manifest.xml  |  32 +++++
 .../projects/RPC/src/main/royale/RpcClasses.as     |  66 +++++++++
 .../src/main/royale/mx/errors/EOFError.as}         |  41 +++---
 .../royale/mx/errors/IllegalOperationError.as}     |  41 +++---
 .../main/royale/mx/messaging/AbstractConsumer.as   |   0
 .../main/royale/mx/messaging/AbstractProducer.as   |   0
 .../src/main/royale/mx/messaging/Channel.as        |   0
 .../src/main/royale/mx/messaging/ChannelSet.as     |   0
 .../src/main/royale/mx/messaging/Consumer.as       |   0
 .../mx/messaging/ConsumerMessageDispatcher.as      |   0
 .../src/main/royale/mx/messaging/MessageAgent.as   |   0
 .../main/royale/mx/messaging/MessageResponder.as   |   0
 .../src/main/royale/mx/messaging/Producer.as       |   0
 .../src/main/royale/mx/messaging/RoyaleClient.as   |   0
 .../royale/mx/messaging/channels/AMFChannel.as     |   0
 .../mx/messaging/channels/DirectHTTPChannel.as     |   0
 .../mx/messaging/channels/NetConnectionChannel.as  |   0
 .../royale/mx/messaging/channels/PollingChannel.as |   0
 .../mx/messaging/channels/SecureAMFChannel.as      |   0
 .../royale/mx/messaging/channels/URLVariables.as   |   0
 .../main/royale/mx/messaging/config/ConfigMap.as   |   0
 .../royale/mx/messaging/config/LoaderConfig.as     |   0
 .../royale/mx/messaging/config/ServerConfig.as     |   0
 .../royale/mx/messaging/errors/ArgumentError.as    |   0
 .../royale/mx/messaging/errors/ChannelError.as     |   0
 .../mx/messaging/errors/InvalidChannelError.as     |   0
 .../mx/messaging/errors/InvalidDestinationError.as |   0
 .../messaging/errors/MessageSerializationError.as  |   0
 .../royale/mx/messaging/errors/MessagingError.as   |   0
 .../mx/messaging/errors/NoChannelAvailableError.as |   0
 .../royale/mx/messaging/events/ChannelEvent.as     |   0
 .../mx/messaging/events/ChannelFaultEvent.as       |   0
 .../royale/mx/messaging/events/MessageAckEvent.as  |   0
 .../royale/mx/messaging/events/MessageEvent.as     |   0
 .../mx/messaging/events/MessageFaultEvent.as       |   0
 .../mx/messaging/messages/AbstractMessage.as       |   0
 .../mx/messaging/messages/AcknowledgeMessage.as    |   0
 .../mx/messaging/messages/AcknowledgeMessageExt.as |   0
 .../royale/mx/messaging/messages/AsyncMessage.as   |   0
 .../mx/messaging/messages/AsyncMessageExt.as       |   0
 .../royale/mx/messaging/messages/CommandMessage.as |   0
 .../mx/messaging/messages/CommandMessageExt.as     |   0
 .../royale/mx/messaging/messages/ErrorMessage.as   |   0
 .../mx/messaging/messages/HTTPRequestMessage.as    |   0
 .../main/royale/mx/messaging/messages/IMessage.as  |   0
 .../royale/mx/messaging/messages/ISmallMessage.as  |   0
 .../messaging/messages/MessagePerformanceInfo.as   |   0
 .../messaging/messages/MessagePerformanceUtils.as  |   0
 .../mx/messaging/messages/RemotingMessage.as       |   0
 .../src/main/royale/mx/rpc/AbstractInvoker.as      |   0
 .../src/main/royale/mx/rpc/AbstractOperation.as    |   0
 .../src/main/royale/mx/rpc/AbstractService.as      |   0
 .../src/main/royale/mx/rpc/ActiveCalls.as          |   0
 .../src/main/royale/mx/rpc/AsyncDispatcher.as      |   0
 .../src/main/royale/mx/rpc/AsyncRequest.as         |   0
 .../src/main/royale/mx/rpc/AsyncResponder.as       |   0
 .../src/main/royale/mx/rpc/AsyncToken.as           |   0
 .../src/main/royale/mx/rpc/CallResponder.as        |   0
 .../src/main/royale/mx/rpc/Fault.as                |   0
 .../src/main/royale/mx/rpc/IResponder.as           |   0
 .../src/main/royale/mx/rpc/Responder.as            |   0
 .../src/main/royale/mx/rpc/events/AbstractEvent.as |   0
 .../src/main/royale/mx/rpc/events/FaultEvent.as    |   0
 .../src/main/royale/mx/rpc/events/InvokeEvent.as   |   0
 .../src/main/royale/mx/rpc/events/ResultEvent.as   |   0
 .../main/royale/mx/rpc/http/AbstractOperation.as   |   0
 .../main/royale/mx/rpc/http/HTTPMultiService.as    |   0
 .../src/main/royale/mx/rpc/http/HTTPService.as     |   0
 .../src/main/royale/mx/rpc/http/Operation.as       |   0
 .../main/royale/mx/rpc/http/SerializationFilter.as |   0
 .../main/royale/mx/rpc/http/mxml/HTTPService.as    |   0
 .../src/main/royale/mx/rpc/mxml/Concurrency.as     |   0
 .../src/main/royale/mx/rpc/mxml/IMXMLSupport.as    |   0
 .../mx/rpc/remoting/CompressedRemoteObject.as      |   0
 .../src/main/royale/mx/rpc/remoting/Operation.as   |   0
 .../main/royale/mx/rpc/remoting/RemoteObject.as    |   0
 .../mx/rpc/remoting/mxml/CompressedRemoteObject.as |   0
 .../main/royale/mx/rpc/remoting/mxml/Operation.as  |   0
 .../royale/mx/rpc/remoting/mxml/RemoteObject.as    |   0
 .../src/main/royale/mx/rpc/soap/WebService.as      |   0
 173 files changed, 1405 insertions(+), 199 deletions(-)

diff --git a/frameworks/projects/MXCollections/asconfig.json b/frameworks/projects/MXCollections/asconfig.json
new file mode 100644
index 0000000..e6ef3e5
--- /dev/null
+++ b/frameworks/projects/MXCollections/asconfig.json
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+ {
+    "config": "royale",
+    "type": "lib",
+    "compilerOptions": {
+        "debug": true,
+        "targets": [
+            "JSRoyale",
+            "SWF"
+        ],
+        "include-classes": [
+            "MXCollectionsClasses"
+        ],
+        "include-sources": [
+            "src/main/royale"
+        ],
+        "source-path": [
+            "src/main/royale"
+        ],
+        "external-library-path": [
+            "../../../../frameworks/libs/air/airglobal.swc"
+        ],
+        "output": "target/MXCollections.swc"
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/MXCollections/build.xml b/frameworks/projects/MXCollections/build.xml
new file mode 100644
index 0000000..2a6228a
--- /dev/null
+++ b/frameworks/projects/MXCollections/build.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<!--
+
+  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 name="MXRoyale" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <!-- use antcall so that resultproperty can be used in other projects and
+             they don't collide when being run one after the other -->
+        <antcall target="compile-swf" />
+    </target>
+    
+    <target name="compile-swf">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true"
+            resultproperty="compcoutput">
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-compiler.define+=GOOG::DEBUG,true" />
+            <arg value="-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent" />
+            <arg value="-js-compiler-define+=GOOG::DEBUG,goog.DEBUG" />
+            <arg value="-js-compiler-define+=COMPILE::SWF,false" />
+            <arg value="-js-compiler-define+=COMPILE::JS,true" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+        <fail>
+            <condition>
+                <not>
+                    <or>
+                        <equals arg1="${compcoutput}" arg2="0" />
+                        <equals arg1="${compcoutput}" arg2="2" />
+                    </or>
+                </not>
+            </condition>
+        </fail>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/MXCollections/pom.xml
similarity index 85%
copy from frameworks/projects/MXRoyale/pom.xml
copy to frameworks/projects/MXCollections/pom.xml
index 79cdb0a..373ac2c 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/MXCollections/pom.xml
@@ -26,11 +26,11 @@
     <version>0.9.6-SNAPSHOT</version>
   </parent>
 
-  <artifactId>MXRoyale</artifactId>
+  <artifactId>MXCollections</artifactId>
   <version>0.9.6-SNAPSHOT</version>
   <packaging>swc</packaging>
 
-  <name>Apache Royale: Framework: Libs: MXRoyale</name>
+  <name>Apache Royale: Framework: Libs: MXCollections</name>
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
@@ -48,31 +48,11 @@
             </namespace>
           </namespaces>
           <includeClasses>
-            <includeClass>MXRoyaleClasses</includeClass>
+            <includeClass>MXCollectionsClasses</includeClass>
           </includeClasses>
-          <includeFiles>
-              <include-file>
-                  <name>defaults.css</name>
-                  <path>../src/main/resources/defaults.css</path>
-              </include-file>
-          </includeFiles>
           <skipExtern>true</skipExtern>
-          <defines>
-              <define>
-                  <name>GOOG::DEBUG</name>
-                  <value>true</value>
-              </define>
-              <define>
-                  <name>ROYALE::DISPLAYOBJECT</name>
-                  <value>IUIComponent</value>
-              </define>
-              <define>
-                  <name>ROYALE::PROXYVISIBILITY</name>
-                  <value>flash_proxy</value>
-              </define>
-          </defines>
           <allowSubclassOverrides>true</allowSubclassOverrides>
-          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-js-compiler-define=GOOG::DEBUG,goog.DEBUG;-js-compiler-define=ROYALE::DISPLAYOBJECT,IUIComponent;-js-compiler-define=ROYALE::PROXYVISIBILITY,public;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler. [...]
+          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${project.basedir}/src/main/resources/mx-royale-manifest.xml</additionalCompilerOptions>
         </configuration>
       </plugin>
     </plugins>
@@ -240,6 +220,20 @@
         <type>swc</type>
         <classifier>js</classifier>
     </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/frameworks/projects/MXCollections/src/main/config/compile-swf-config.xml b/frameworks/projects/MXCollections/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..57f3dfb
--- /dev/null
+++ b/frameworks/projects/MXCollections/src/main/config/compile-swf-config.xml
@@ -0,0 +1,115 @@
+<!--
+
+  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.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>SWF</target>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Binding.swc</path-element>
+            <path-element>../../../../../libs/Core.swc</path-element>
+            <path-element>../../../../../libs/Graphics.swc</path-element>
+            <path-element>../../../../../libs/Collections.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
+            <path-element>../../../../../libs/DragDrop.swc</path-element>
+            <path-element>../../../../../libs/Effects.swc</path-element>
+            <path-element>../../../../../libs/Express.swc</path-element>
+            <path-element>../../../../../libs/Charts.swc</path-element>
+	          <path-element>../../../../../libs/Network.swc</path-element>
+            <path-element>../../../../../libs/Reflection.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+		<mxml>
+			<children-as-data>true</children-as-data>
+		</mxml>
+		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+        </keep-as3-metadata>
+	  
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>http://ns.adobe.com/mxml/2009</uri>
+                <manifest>../../../../../mxml-2009-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-as-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+
+    <include-lookup-only>true</include-lookup-only>
+
+    <include-classes>
+        <class>MXRoyaleClasses</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/mx</uri>
+    </include-namespaces>
+        
+    <target-player>${playerglobal.version}</target-player>
+	
+
+</royale-config>
diff --git a/frameworks/projects/MXCollections/src/main/resources/mx-royale-as-manifest.xml b/frameworks/projects/MXCollections/src/main/resources/mx-royale-as-manifest.xml
new file mode 100644
index 0000000..629cc54
--- /dev/null
+++ b/frameworks/projects/MXCollections/src/main/resources/mx-royale-as-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+
+    
+
+</componentPackage>
diff --git a/frameworks/projects/MXCollections/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXCollections/src/main/resources/mx-royale-manifest.xml
new file mode 100644
index 0000000..856517a
--- /dev/null
+++ b/frameworks/projects/MXCollections/src/main/resources/mx-royale-manifest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+    <component id="ArrayList" class="mx.collections.ArrayList"/>
+	<component id="SortField" class="mx.collections.SortField"/>
+	<component id="Sort" class="mx.collections.Sort"/>
+	<component id="Grouping" class="mx.collections.Grouping" />
+	<component id="GroupingField" class="mx.collections.GroupingField" />
+	<component id="XMLListCollection" class="mx.collections.XMLListCollection"/>
+	<component id="GroupingCollection2" class="mx.collections.GroupingCollection2" />
+	<component id="ListCollectionView" class="mx.collections.ListCollectionView"/>
+	<component id="ArrayCollection" class="mx.collections.ArrayCollection"/>
+	<component id="GroupingCollection" class="mx.collections.GroupingCollection"/>
+    <component id="GroupingCollection2" class="mx.collections.GroupingCollection2"/>
+</componentPackage>
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as b/frameworks/projects/MXCollections/src/main/royale/MXCollectionsClasses.as
similarity index 57%
copy from frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as
copy to frameworks/projects/MXCollections/src/main/royale/MXCollectionsClasses.as
index e70b0a5..cc83908 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as
+++ b/frameworks/projects/MXCollections/src/main/royale/MXCollectionsClasses.as
@@ -16,22 +16,28 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-
-package mx.core
+package
 {
 
 /**
- *  This namespace is used for undocumented APIs -- usually implementation
- *  details -- which can't be private because they need to visible
- *  to other classes.
- *  APIs in this namespace are completely unsupported and are likely to
- *  change in future versions of Flex.
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
+ *  @private
+ *  This class is used to link additional classes into rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
  */
-public namespace mx_internal =
-	"http://www.adobe.com/2006/flex/mx/internal";
+internal class MXCollectionsClasses
+{
+	import mx.collections.IList; IList;
+	import mx.events.CollectionEvent; CollectionEvent;
+	import mx.events.CollectionEventKind; CollectionEventKind;
+	import mx.collections.CursorBookmark; CursorBookmark;
+	import mx.collections.ICollectionView; ICollectionView;
+	import mx.collections.IViewCursor; IViewCursor;
+	import mx.collections.ISort; ISort;
+	import mx.collections.IComplexSortField; IComplexSortField;
+	import mx.collections.ComplexFieldChangeWatcher; ComplexFieldChangeWatcher;
+    
 }
+
+}
+
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayCollection.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ArrayCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayCollection.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ArrayCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayList.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ArrayList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayList.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ArrayList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/CursorBookmark.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/CursorBookmark.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/CursorBookmark.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/CursorBookmark.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/DefaultSummaryCalculator.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/DefaultSummaryCalculator.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/DefaultSummaryCalculator.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/DefaultSummaryCalculator.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/Grouping.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/Grouping.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/Grouping.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/Grouping.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection2.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingCollection2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection2.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingCollection2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingField.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingField.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/GroupingField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionView.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionView.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalData.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalData.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalData.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/HierarchicalData.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ICollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ICollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IComplexSortField.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IComplexSortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IComplexSortField.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IComplexSortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IGroupingCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IGroupingCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection2.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IGroupingCollection2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection2.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IGroupingCollection2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionView.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionView.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalData.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalData.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalData.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IHierarchicalData.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IList.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IList.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISort.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ISort.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISort.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ISort.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISortField.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ISortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISortField.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ISortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISummaryCalculator.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ISummaryCalculator.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISummaryCalculator.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ISummaryCalculator.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IViewCursor.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/IViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IViewCursor.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/IViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/LeafNodeCursor.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/LeafNodeCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/LeafNodeCursor.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/LeafNodeCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ListCollectionView.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/ListCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ListCollectionView.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/ListCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/Sort.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/Sort.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/Sort.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/Sort.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortField.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortField.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortFieldCompareTypes.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SortFieldCompareTypes.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortFieldCompareTypes.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SortFieldCompareTypes.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField2.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryField2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField2.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryField2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryObject.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryObject.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryRow.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryRow.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryRow.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/SummaryRow.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListAdapter.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/XMLListAdapter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListAdapter.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/XMLListAdapter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListCollection.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/XMLListCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListCollection.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/XMLListCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/CursorError.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/errors/CursorError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/CursorError.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/errors/CursorError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/SortError.as b/frameworks/projects/MXCollections/src/main/royale/mx/collections/errors/SortError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/SortError.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/collections/errors/SortError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEvent.as b/frameworks/projects/MXCollections/src/main/royale/mx/events/CollectionEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEvent.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/events/CollectionEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEventKind.as b/frameworks/projects/MXCollections/src/main/royale/mx/events/CollectionEventKind.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEventKind.as
rename to frameworks/projects/MXCollections/src/main/royale/mx/events/CollectionEventKind.as
diff --git a/frameworks/projects/MXCore/asconfig.json b/frameworks/projects/MXCore/asconfig.json
new file mode 100644
index 0000000..229282a
--- /dev/null
+++ b/frameworks/projects/MXCore/asconfig.json
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+ {
+    "config": "royale",
+    "type": "lib",
+    "compilerOptions": {
+        "debug": true,
+        "targets": [
+            "JSRoyale",
+            "SWF"
+        ],
+        "include-classes": [
+            "MXCoreClasses"
+        ],
+        "include-sources": [
+            "src/main/royale"
+        ],
+        "source-path": [
+            "src/main/royale"
+        ],
+        "external-library-path": [
+            "../../../../frameworks/libs/air/airglobal.swc"
+        ],
+        "output": "target/MXCore.swc"
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/MXCore/build.xml b/frameworks/projects/MXCore/build.xml
new file mode 100644
index 0000000..2a6228a
--- /dev/null
+++ b/frameworks/projects/MXCore/build.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<!--
+
+  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 name="MXRoyale" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <!-- use antcall so that resultproperty can be used in other projects and
+             they don't collide when being run one after the other -->
+        <antcall target="compile-swf" />
+    </target>
+    
+    <target name="compile-swf">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true"
+            resultproperty="compcoutput">
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-compiler.define+=GOOG::DEBUG,true" />
+            <arg value="-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent" />
+            <arg value="-js-compiler-define+=GOOG::DEBUG,goog.DEBUG" />
+            <arg value="-js-compiler-define+=COMPILE::SWF,false" />
+            <arg value="-js-compiler-define+=COMPILE::JS,true" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+        <fail>
+            <condition>
+                <not>
+                    <or>
+                        <equals arg1="${compcoutput}" arg2="0" />
+                        <equals arg1="${compcoutput}" arg2="2" />
+                    </or>
+                </not>
+            </condition>
+        </fail>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/MXCore/pom.xml
similarity index 85%
copy from frameworks/projects/MXRoyale/pom.xml
copy to frameworks/projects/MXCore/pom.xml
index 79cdb0a..d775b39 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/MXCore/pom.xml
@@ -26,11 +26,11 @@
     <version>0.9.6-SNAPSHOT</version>
   </parent>
 
-  <artifactId>MXRoyale</artifactId>
+  <artifactId>MXCore</artifactId>
   <version>0.9.6-SNAPSHOT</version>
   <packaging>swc</packaging>
 
-  <name>Apache Royale: Framework: Libs: MXRoyale</name>
+  <name>Apache Royale: Framework: Libs: MXCore</name>
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
@@ -48,31 +48,11 @@
             </namespace>
           </namespaces>
           <includeClasses>
-            <includeClass>MXRoyaleClasses</includeClass>
+            <includeClass>MXCoreClasses</includeClass>
           </includeClasses>
-          <includeFiles>
-              <include-file>
-                  <name>defaults.css</name>
-                  <path>../src/main/resources/defaults.css</path>
-              </include-file>
-          </includeFiles>
           <skipExtern>true</skipExtern>
-          <defines>
-              <define>
-                  <name>GOOG::DEBUG</name>
-                  <value>true</value>
-              </define>
-              <define>
-                  <name>ROYALE::DISPLAYOBJECT</name>
-                  <value>IUIComponent</value>
-              </define>
-              <define>
-                  <name>ROYALE::PROXYVISIBILITY</name>
-                  <value>flash_proxy</value>
-              </define>
-          </defines>
           <allowSubclassOverrides>true</allowSubclassOverrides>
-          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-js-compiler-define=GOOG::DEBUG,goog.DEBUG;-js-compiler-define=ROYALE::DISPLAYOBJECT,IUIComponent;-js-compiler-define=ROYALE::PROXYVISIBILITY,public;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler. [...]
+          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${project.basedir}/src/main/resources/mx-royale-manifest.xml</additionalCompilerOptions>
         </configuration>
       </plugin>
     </plugins>
diff --git a/frameworks/projects/MXCore/src/main/config/compile-swf-config.xml b/frameworks/projects/MXCore/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..57f3dfb
--- /dev/null
+++ b/frameworks/projects/MXCore/src/main/config/compile-swf-config.xml
@@ -0,0 +1,115 @@
+<!--
+
+  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.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>SWF</target>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Binding.swc</path-element>
+            <path-element>../../../../../libs/Core.swc</path-element>
+            <path-element>../../../../../libs/Graphics.swc</path-element>
+            <path-element>../../../../../libs/Collections.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
+            <path-element>../../../../../libs/DragDrop.swc</path-element>
+            <path-element>../../../../../libs/Effects.swc</path-element>
+            <path-element>../../../../../libs/Express.swc</path-element>
+            <path-element>../../../../../libs/Charts.swc</path-element>
+	          <path-element>../../../../../libs/Network.swc</path-element>
+            <path-element>../../../../../libs/Reflection.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+		<mxml>
+			<children-as-data>true</children-as-data>
+		</mxml>
+		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+        </keep-as3-metadata>
+	  
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>http://ns.adobe.com/mxml/2009</uri>
+                <manifest>../../../../../mxml-2009-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-as-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+
+    <include-lookup-only>true</include-lookup-only>
+
+    <include-classes>
+        <class>MXRoyaleClasses</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/mx</uri>
+    </include-namespaces>
+        
+    <target-player>${playerglobal.version}</target-player>
+	
+
+</royale-config>
diff --git a/frameworks/projects/MXCore/src/main/resources/mx-royale-as-manifest.xml b/frameworks/projects/MXCore/src/main/resources/mx-royale-as-manifest.xml
new file mode 100644
index 0000000..629cc54
--- /dev/null
+++ b/frameworks/projects/MXCore/src/main/resources/mx-royale-as-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+
+    
+
+</componentPackage>
diff --git a/frameworks/projects/MXCore/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXCore/src/main/resources/mx-royale-manifest.xml
new file mode 100644
index 0000000..5a69b16
--- /dev/null
+++ b/frameworks/projects/MXCore/src/main/resources/mx-royale-manifest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+
+  <!-- <component id="CompressedRemoteObject" class="mx.rpc.remoting.mxml.CompressedRemoteObject" />
+	<component id="RemoteObject" class="mx.rpc.remoting.mxml.RemoteObject" />
+  <component id="RemoteObjectOperation" class="mx.rpc.remoting.mxml.Operation"/>
+	<component id="HTTPService" class="mx.rpc.http.mxml.HTTPService" />
+	<component id="AsyncToken" class="mx.rpc.AsyncToken" />
+	<component id="AMFChannel" class="mx.messaging.channels.AMFChannel" />
+	<component id="ChannelSet" class="mx.messaging.ChannelSet" /> -->
+
+</componentPackage>
diff --git a/frameworks/projects/MXCore/src/main/royale/MXCoreClasses.as b/frameworks/projects/MXCore/src/main/royale/MXCoreClasses.as
new file mode 100644
index 0000000..376759b
--- /dev/null
+++ b/frameworks/projects/MXCore/src/main/royale/MXCoreClasses.as
@@ -0,0 +1,73 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class MXCoreClasses
+{
+	import mx.binding.BindabilityInfo; BindabilityInfo;
+	import mx.binding.utils.ChangeWatcher; ChangeWatcher;
+	
+	import mx.core.EventPriority; EventPriority;
+	import mx.core.FlexVersion; FlexVersion;
+	import mx.core.IChildList; IChildList;
+	import mx.core.IFlexDisplayObject; IFlexDisplayObject;
+	import mx.core.IFlexModuleFactory; IFlexModuleFactory;
+	import mx.core.IUIComponent; IUIComponent;
+	import mx.core.mx_internal; mx_internal;
+	import mx.core.UIComponent; UIComponent;
+	
+	import mx.events.FlexEvent; FlexEvent;
+	import mx.events.ModuleEvent; ModuleEvent;
+	import mx.events.ProgressEvent; ProgressEvent;
+	import mx.events.PropertyChangeEvent; PropertyChangeEvent;
+	import mx.events.PropertyChangeEventKind; PropertyChangeEventKind;
+	import mx.events.ResourceEvent; ResourceEvent;
+
+	import mx.managers.ISystemManager; ISystemManager;
+	import mx.managers.SystemManagerGlobals; SystemManagerGlobals;
+	
+	import mx.modules.IModule; IModule;
+	import mx.modules.IModuleInfo; IModuleInfo;
+	import mx.modules.Module; Module;
+	import mx.modules.ModuleLoader; ModuleLoader;
+	import mx.modules.ModuleManager; ModuleManager;
+	
+	import mx.resources.IResourceBundle; IResourceBundle;
+	import mx.resources.IResourceManager; IResourceManager;
+	import mx.resources.Locale; Locale;
+	import mx.resources.LocaleSorter; LocaleSorter;
+	import mx.resources.ResourceBundle; ResourceBundle;
+	import mx.resources.ResourceManager; ResourceManager;
+	import mx.resources.ResourceManagerImpl; ResourceManagerImpl;
+	
+	import mx.system.ApplicationDomain; ApplicationDomain;
+
+	import mx.utils.StringUtil; StringUtil;
+    
+}
+
+}
+
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindabilityInfo.as b/frameworks/projects/MXCore/src/main/royale/mx/binding/BindabilityInfo.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindabilityInfo.as
rename to frameworks/projects/MXCore/src/main/royale/mx/binding/BindabilityInfo.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/ChangeWatcher.as b/frameworks/projects/MXCore/src/main/royale/mx/binding/utils/ChangeWatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/ChangeWatcher.as
rename to frameworks/projects/MXCore/src/main/royale/mx/binding/utils/ChangeWatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/EventPriority.as b/frameworks/projects/MXCore/src/main/royale/mx/core/EventPriority.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/EventPriority.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/EventPriority.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexVersion.as b/frameworks/projects/MXCore/src/main/royale/mx/core/FlexVersion.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexVersion.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/FlexVersion.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IChildList.as b/frameworks/projects/MXCore/src/main/royale/mx/core/IChildList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IChildList.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/IChildList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexDisplayObject.as b/frameworks/projects/MXCore/src/main/royale/mx/core/IFlexDisplayObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexDisplayObject.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/IFlexDisplayObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModuleFactory.as b/frameworks/projects/MXCore/src/main/royale/mx/core/IFlexModuleFactory.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModuleFactory.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/IFlexModuleFactory.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IUIComponent.as b/frameworks/projects/MXCore/src/main/royale/mx/core/IUIComponent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IUIComponent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/IUIComponent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as b/frameworks/projects/MXCore/src/main/royale/mx/core/UIComponent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/UIComponent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/UIComponent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as b/frameworks/projects/MXCore/src/main/royale/mx/core/mx_internal.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as
rename to frameworks/projects/MXCore/src/main/royale/mx/core/mx_internal.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/FlexEvent.as b/frameworks/projects/MXCore/src/main/royale/mx/events/FlexEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/FlexEvent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/FlexEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ModuleEvent.as b/frameworks/projects/MXCore/src/main/royale/mx/events/ModuleEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ModuleEvent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/ModuleEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ProgressEvent.as b/frameworks/projects/MXCore/src/main/royale/mx/events/ProgressEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ProgressEvent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/ProgressEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEvent.as b/frameworks/projects/MXCore/src/main/royale/mx/events/PropertyChangeEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEvent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/PropertyChangeEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEventKind.as b/frameworks/projects/MXCore/src/main/royale/mx/events/PropertyChangeEventKind.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEventKind.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/PropertyChangeEventKind.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ResourceEvent.as b/frameworks/projects/MXCore/src/main/royale/mx/events/ResourceEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ResourceEvent.as
rename to frameworks/projects/MXCore/src/main/royale/mx/events/ResourceEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as b/frameworks/projects/MXCore/src/main/royale/mx/managers/ISystemManager.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as
rename to frameworks/projects/MXCore/src/main/royale/mx/managers/ISystemManager.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManagerGlobals.as b/frameworks/projects/MXCore/src/main/royale/mx/managers/SystemManagerGlobals.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/managers/SystemManagerGlobals.as
rename to frameworks/projects/MXCore/src/main/royale/mx/managers/SystemManagerGlobals.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/modules/IModule.as b/frameworks/projects/MXCore/src/main/royale/mx/modules/IModule.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/modules/IModule.as
rename to frameworks/projects/MXCore/src/main/royale/mx/modules/IModule.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/modules/IModuleInfo.as b/frameworks/projects/MXCore/src/main/royale/mx/modules/IModuleInfo.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/modules/IModuleInfo.as
rename to frameworks/projects/MXCore/src/main/royale/mx/modules/IModuleInfo.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/modules/Module.as b/frameworks/projects/MXCore/src/main/royale/mx/modules/Module.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/modules/Module.as
rename to frameworks/projects/MXCore/src/main/royale/mx/modules/Module.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/modules/ModuleLoader.as b/frameworks/projects/MXCore/src/main/royale/mx/modules/ModuleLoader.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/modules/ModuleLoader.as
rename to frameworks/projects/MXCore/src/main/royale/mx/modules/ModuleLoader.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/modules/ModuleManager.as b/frameworks/projects/MXCore/src/main/royale/mx/modules/ModuleManager.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/modules/ModuleManager.as
rename to frameworks/projects/MXCore/src/main/royale/mx/modules/ModuleManager.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/IResourceBundle.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/IResourceBundle.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/IResourceBundle.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/IResourceBundle.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/IResourceManager.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/IResourceManager.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/IResourceManager.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/IResourceManager.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/Locale.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/Locale.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/Locale.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/Locale.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/LocaleSorter.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/LocaleSorter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/LocaleSorter.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/LocaleSorter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceBundle.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceBundle.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceBundle.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceBundle.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceManager.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceManager.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as b/frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceManagerImpl.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as
rename to frameworks/projects/MXCore/src/main/royale/mx/resources/ResourceManagerImpl.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/system/ApplicationDomain.as b/frameworks/projects/MXCore/src/main/royale/mx/system/ApplicationDomain.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/system/ApplicationDomain.as
rename to frameworks/projects/MXCore/src/main/royale/mx/system/ApplicationDomain.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/StringUtil.as b/frameworks/projects/MXCore/src/main/royale/mx/utils/StringUtil.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/utils/StringUtil.as
rename to frameworks/projects/MXCore/src/main/royale/mx/utils/StringUtil.as
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/MXRoyale/pom.xml
index 79cdb0a..94ae96b 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/MXRoyale/pom.xml
@@ -240,6 +240,35 @@
         <type>swc</type>
         <classifier>js</classifier>
     </dependency>
+    
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCollections</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCollections</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
index 405ac2a..cd3bc5c 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
+++ b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
@@ -21,17 +21,17 @@
 
 <componentPackage>
 
-  <component id="Application" class="mx.core.Application" />
-  <component id="Button" class="mx.controls.Button" />
-  <component id="CheckBox" class="mx.controls.CheckBox" />
-  <component id="ComboBox" class="mx.controls.ComboBox" />
-  <component id="DataGrid" class="mx.controls.DataGrid" />
-  <component id="DataGridColumn" class="mx.controls.dataGridClasses.DataGridColumn" />
+	<component id="Application" class="mx.core.Application" />
+	<component id="Button" class="mx.controls.Button" />
+	<component id="CheckBox" class="mx.controls.CheckBox" />
+	<component id="ComboBox" class="mx.controls.ComboBox" />
+	<component id="DataGrid" class="mx.controls.DataGrid" />
+	<component id="DataGridColumn" class="mx.controls.dataGridClasses.DataGridColumn" />
 	<component id="DateChooser" class="mx.controls.DateChooser" />
 	<component id="Image" class="mx.controls.Image" />
 	<component id="Label" class="mx.controls.Label" />
 	<component id="LinkButton" class="mx.controls.LinkButton" />
-  <component id="List" class="mx.controls.List" />
+	<component id="List" class="mx.controls.List" />
 	<component id="NumericStepper" class="mx.controls.NumericStepper" />
 	<component id="ProgressBar" class="mx.controls.ProgressBar" />
 	<component id="RadioButton" class="mx.controls.RadioButton" />
@@ -45,21 +45,17 @@
 	<component id="Container" class="mx.core.Container" />
 	<component id="HBox" class="mx.containers.HBox" />
 	<component id="HDividedBox" class="mx.containers.HDividedBox" />
-    <component id="Panel" class="mx.containers.Panel" />
+  	<component id="Panel" class="mx.containers.Panel" />
 	<component id="VBox" class="mx.containers.VBox" />
 	<component id="VDividedBox" class="mx.containers.VDividedBox" />
-  <component id="Panel" class="mx.containers.Panel" />
+  	<component id="Panel" class="mx.containers.Panel" />
 	<component id="ViewStack" class="mx.containers.ViewStack" />
-    <component id="TabNavigator" class="mx.containers.TabNavigator" />
+  	<component id="TabNavigator" class="mx.containers.TabNavigator" />
 	<component id="ApplicationLayout" class="mx.containers.beads.ApplicationLayout" />
 	<component id="BoxLayout" class="mx.containers.beads.BoxLayout" />
 	<component id="CanvasLayout" class="mx.containers.beads.CanvasLayout" />
 	<component id="TitleWindow" class="mx.containers.TitleWindow"/>
 	<component id="ColorPicker" class="mx.controls.ColorPicker"/>
-	<component id="CompressedRemoteObject" class="mx.rpc.remoting.mxml.CompressedRemoteObject" />
-	<component id="RemoteObject" class="mx.rpc.remoting.mxml.RemoteObject" />
-    <component id="RemoteObjectOperation" class="mx.rpc.remoting.mxml.Operation"/>
-	<component id="HTTPService" class="mx.rpc.http.mxml.HTTPService" />
 	<component id="NumberValidator" class="mx.validators.NumberValidator"/>
 	<component id="PhoneNumberValidator" class="mx.validators.PhoneNumberValidator"/>
 	<component id="DateValidator" class="mx.validators.DateValidator"/>
@@ -67,16 +63,13 @@
 	<component id="Module" class="mx.modules.Module"/>
 	<component id="ModuleLoader" class="mx.modules.ModuleLoader"/>
 	<component id="State" class="mx.states.State" />
-    <component id="Transition" class="mx.states.Transition" />
+  <component id="Transition" class="mx.states.Transition" />
 	<component id="ListItemRenderer" class="mx.controls.listClasses.ListItemRenderer" />
-	<component id="ArrayList" class="mx.collections.ArrayList"/>
 	<component id="UIComponent" class="mx.core.UIComponent"/>
 	<component id="Container" class="mx.core.Container"/>
 	<component id="ControlBar" class="mx.containers.ControlBar"/>
 	<component id="Panel" class="mx.containers.Panel"/>
 	<component id="ToolTip" class="mx.controls.ToolTip" />
-	<component id="SortField" class="mx.collections.SortField"/>
-	<component id="Sort" class="mx.collections.Sort"/>
 	<component id="Stroke" class="mx.graphics.Stroke"/>
 	<component id="SolidColor" class="mx.graphics.SolidColor"/>
 	<component id="SolidColorStroke" class="mx.graphics.SolidColorStroke"/>
@@ -91,21 +84,16 @@
 	<component id="Move" class="mx.effects.Move"/>
 	<component id="LinearGradient" class="mx.graphics.LinearGradient"/>
 	<component id="ListBase" class="mx.controls.listClasses.ListBase" />
-	<component id="Grouping" class="mx.collections.Grouping" />
-	<component id="GroupingField" class="mx.collections.GroupingField" />
 	<component id="MenuBar" class="mx.controls.MenuBar"/>
 	<component id="NumberFormatter" class="mx.formatters.NumberFormatter"/>
-    <component id="Form" class="mx.containers.Form" />
+  	<component id="Form" class="mx.containers.Form" />
 	<component id="FormHeading" class="mx.containers.FormHeading"/>
-    <component id="FormItem" class="mx.containers.FormItem" />
-	<component id="XMLListCollection" class="mx.collections.XMLListCollection"/>
+  	<component id="FormItem" class="mx.containers.FormItem" />
 	<component id="TreeItemRenderer" class="mx.controls.treeClasses.TreeItemRenderer" />
 	<component id="ToggleButtonBar" class="mx.controls.ToggleButtonBar"/>
 	<component id="DragManager" class="mx.managers.DragManager" />
 	<component id="TraceTarget" class="mx.logging.targets.TraceTarget"/>
-	<component id="GroupingCollection2" class="mx.collections.GroupingCollection2" />
 	<component id="AdvancedListBase" class="mx.controls.listClasses.AdvancedListBase" />
-	<component id="AsyncToken" class="mx.rpc.AsyncToken" />
 	<component id="VScrollBar" class="mx.controls.VScrollBar"/>
 	<component id="LinearGradientStroke" class="mx.graphics.LinearGradientStroke"/>
 	<component id="CursorManager" class="mx.managers.CursorManager" />
@@ -127,22 +115,15 @@
 	<component id="AdvancedDataGridItemRenderer" class="mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer" />
 	<component id="Tree" class="mx.controls.Tree"/>
 	<component id="LinkBar" class="mx.controls.LinkBar"/>
-
-	<component id="AMFChannel" class="mx.messaging.channels.AMFChannel" />
-	<component id="ChannelSet" class="mx.messaging.ChannelSet" />
-
-	<component id="ListCollectionView" class="mx.collections.ListCollectionView"/>
-	<component id="ArrayCollection" class="mx.collections.ArrayCollection"/>
 	<component id="Alert" class="mx.controls.Alert" />
 	<component id="ToolBar" class="mx.controls.richTextEditorClasses.ToolBar"/>
 	<component id="AdvancedDataGrid" class="mx.controls.AdvancedDataGrid" />
-        <component id="MenuBarMouseController" class="mx.controls.beads.controllers.MenuBarMouseController" />
+  	<component id="MenuBarMouseController" class="mx.controls.beads.controllers.MenuBarMouseController" />
 	<component id="RichTextEditor" class="mx.controls.RichTextEditor" />
-        <component id="PanelTitleBar" class="mx.containers.PanelTitleBar" />
-        <component id="MXAdvancedDataGridItemRenderer" class="mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer"/>
+    <component id="PanelTitleBar" class="mx.containers.PanelTitleBar" />
+    <component id="MXAdvancedDataGridItemRenderer" class="mx.controls.advancedDataGridClasses.MXAdvancedDataGridItemRenderer"/>
 	<component id="PhoneFormatter" class="mx.formatters.PhoneFormatter"/>
 
-
     <component id="WipeLeft" class="mx.effects.WipeLeft" />
     <component id="WipeRight" class="mx.effects.WipeRight" />
     <component id="WipeUp" class="mx.effects.WipeUp" />
@@ -204,7 +185,4 @@
     <component id="CartesianDataCanvas" class="mx.charts.chartClasses.CartesianDataCanvas"/>
     <component id="PolarDataCanvas" class="mx.charts.chartClasses.PolarDataCanvas"/>
 
-    <component id="GroupingCollection" class="mx.collections.GroupingCollection"/>
-    <component id="GroupingCollection2" class="mx.collections.GroupingCollection2"/>
-
 </componentPackage>
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index ec68e1a..2fe25a9 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -27,7 +27,6 @@ package
  */
 internal class MXRoyaleClasses
 {
-	import mx.core.mx_internal; mx_internal;
 	import mx.core.ScrollPolicy; ScrollPolicy;
 	import mx.containers.beads.ApplicationLayout; ApplicationLayout;
 	import mx.containers.beads.BoxLayout; BoxLayout;
@@ -36,12 +35,8 @@ internal class MXRoyaleClasses
 	import mx.events.EffectEvent; EffectEvent;
 	import mx.graphics.IStroke; IStroke;
 	import mx.graphics.IFill; IFill;
-	import mx.core.EventPriority; EventPriority;
 	import mx.core.IFactory; IFactory;
 	import mx.core.ILayoutElement; ILayoutElement;
-	import mx.collections.CursorBookmark; CursorBookmark;
-	import mx.collections.ICollectionView; ICollectionView;
-	import mx.collections.IViewCursor; IViewCursor;
 	import mx.events.SandboxMouseEvent; SandboxMouseEvent;
 	import mx.events.ResizeEvent; ResizeEvent;
 	import mx.utils.StringUtil; StringUtil;
@@ -67,9 +62,6 @@ internal class MXRoyaleClasses
 	import mx.core.ClassFactory; ClassFactory;
 	import mx.effects.Tween; Tween;
 	import mx.system.ApplicationDomain; ApplicationDomain;
-	import mx.rpc.http.HTTPService; mx.rpc.http.HTTPService;
-	import mx.rpc.remoting.RemoteObject; mx.rpc.remoting.RemoteObject;
-	import mx.rpc.remoting.CompressedRemoteObject; mx.rpc.remoting.CompressedRemoteObject;
 	import mx.controls.treeClasses.ITreeDataDescriptor; ITreeDataDescriptor;
 	import mx.controls.treeClasses.TreeListData; TreeListData;
 	import mx.controls.listClasses.DataItemRendererFactoryForICollectionViewData; DataItemRendererFactoryForICollectionViewData;
@@ -111,11 +103,6 @@ internal class MXRoyaleClasses
 	import mx.effects.easing.Exponential; Exponential;
 	import mx.effects.effectClasses.TweenEffectInstance; TweenEffectInstance;
 	import mx.effects.TweenEffect; TweenEffect; 
-	import mx.rpc.Fault; Fault;
-	import mx.rpc.events.InvokeEvent; InvokeEvent;
-	import mx.rpc.events.ResultEvent; ResultEvent;
-	import mx.rpc.AsyncResponder; AsyncResponder;
-	import mx.rpc.Responder; Responder;
 	import mx.printing.FlexPrintJobScaleType; FlexPrintJobScaleType; 
 	import mx.skins.RectangularBorder; RectangularBorder;
 	import mx.styles.IStyleClient; IStyleClient; 
@@ -128,11 +115,8 @@ internal class MXRoyaleClasses
 	import mx.utils.URLUtil; URLUtil;
 	import mx.core.UITextField; UITextField;
 	import mx.effects.Parallel; Parallel; 
-	import mx.rpc.events.FaultEvent; FaultEvent;
 	import mx.events.AdvancedDataGridEvent; AdvancedDataGridEvent;
 	import mx.skins.ProgrammaticSkin; ProgrammaticSkin;
-	import mx.rpc.soap.WebService; WebService;
-	import mx.collections.ISort; ISort;
 	import mx.utils.Base64Encoder; Base64Encoder;
 	import mx.utils.Base64Decoder; Base64Decoder;
 	import mx.events.IndexChangedEvent; IndexChangedEvent;
@@ -176,12 +160,8 @@ internal class MXRoyaleClasses
 	import mx.managers.ILayoutManagerClient; ILayoutManagerClient;
 	import mx.core.LayoutDirection; LayoutDirection;
 	import mx.styles.IAdvancedStyleClient; IAdvancedStyleClient;
-	import mx.collections.IComplexSortField; IComplexSortField;
 	import mx.core.IIMESupport; IIMESupport;
 	import mx.core.InteractionMode; InteractionMode;
-	import mx.collections.ComplexFieldChangeWatcher; ComplexFieldChangeWatcher;
-	import mx.binding.BindabilityInfo; BindabilityInfo;
-	import mx.binding.utils.ChangeWatcher; ChangeWatcher;
 	import mx.validators.IValidatorListener; IValidatorListener;
 	import mx.managers.IToolTipManagerClient; IToolTipManagerClient;
 	import mx.events.ToolTipEvent; ToolTipEvent;
@@ -190,17 +170,8 @@ internal class MXRoyaleClasses
 	import mx.managers.ToolTipManager; ToolTipManager;
 	import mx.managers.IToolTipManager2; IToolTipManager2;
 	import mx.utils.PopUpUtil; PopUpUtil;
-	import mx.rpc.http.HTTPMultiService; HTTPMultiService;
-	import mx.messaging.messages.HTTPRequestMessage; HTTPRequestMessage;
-	import mx.messaging.channels.DirectHTTPChannel; DirectHTTPChannel;
-	import mx.messaging.errors.MessageSerializationError; MessageSerializationError;
-	import mx.rpc.http.SerializationFilter; SerializationFilter;
-	import mx.rpc.http.AbstractOperation; AbstractOperation;
 	import mx.events.MenuEvent; MenuEvent;
-	import mx.rpc.CallResponder; CallResponder;
-	import mx.rpc.http.Operation; Operation;
 	import mx.events.TreeEvent; TreeEvent;
-	import mx.messaging.channels.URLVariables; URLVariables;
 	import mx.controls.Menu; Menu;
 	import mx.events.NumericStepperEvent; NumericStepperEvent;
 	
@@ -240,16 +211,6 @@ internal class MXRoyaleClasses
 
     import mx.containers.beads.FormItemView; FormItemView;
     import mx.containers.beads.FormItemContainer; FormItemContainer;
-
-
-	import org.apache.royale.reflection.registerClassAlias;
-	import mx.messaging.messages.AcknowledgeMessageExt;
-	import mx.messaging.messages.AsyncMessageExt;
-	import mx.messaging.messages.CommandMessageExt;
-	//RpcClassAliasInitializer
-	registerClassAlias("DSK", AcknowledgeMessageExt);
-	registerClassAlias("DSA", AsyncMessageExt);
-	registerClassAlias("DSC", CommandMessageExt);
     
 }
 
diff --git a/frameworks/projects/RPC/asconfig.json b/frameworks/projects/RPC/asconfig.json
new file mode 100644
index 0000000..5f72586
--- /dev/null
+++ b/frameworks/projects/RPC/asconfig.json
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+ {
+    "config": "royale",
+    "type": "lib",
+    "compilerOptions": {
+        "debug": true,
+        "targets": [
+            "JSRoyale",
+            "SWF"
+        ],
+        "include-classes": [
+            "RpcClasses"
+        ],
+        "include-sources": [
+            "src/main/royale"
+        ],
+        "source-path": [
+            "src/main/royale"
+        ],
+        "external-library-path": [
+            "../../../../frameworks/libs/air/airglobal.swc"
+        ],
+        "output": "target/Rpc.swc"
+    }
+}
\ No newline at end of file
diff --git a/frameworks/projects/RPC/build.xml b/frameworks/projects/RPC/build.xml
new file mode 100644
index 0000000..2a6228a
--- /dev/null
+++ b/frameworks/projects/RPC/build.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<!--
+
+  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 name="MXRoyale" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <!-- use antcall so that resultproperty can be used in other projects and
+             they don't collide when being run one after the other -->
+        <antcall target="compile-swf" />
+    </target>
+    
+    <target name="compile-swf">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true"
+            resultproperty="compcoutput">
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-compiler.define+=GOOG::DEBUG,true" />
+            <arg value="-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent" />
+            <arg value="-js-compiler-define+=GOOG::DEBUG,goog.DEBUG" />
+            <arg value="-js-compiler-define+=COMPILE::SWF,false" />
+            <arg value="-js-compiler-define+=COMPILE::JS,true" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+        <fail>
+            <condition>
+                <not>
+                    <or>
+                        <equals arg1="${compcoutput}" arg2="0" />
+                        <equals arg1="${compcoutput}" arg2="2" />
+                    </or>
+                </not>
+            </condition>
+        </fail>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/RPC/pom.xml
similarity index 84%
copy from frameworks/projects/MXRoyale/pom.xml
copy to frameworks/projects/RPC/pom.xml
index 79cdb0a..c18aa29 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/RPC/pom.xml
@@ -26,11 +26,11 @@
     <version>0.9.6-SNAPSHOT</version>
   </parent>
 
-  <artifactId>MXRoyale</artifactId>
+  <artifactId>RPC</artifactId>
   <version>0.9.6-SNAPSHOT</version>
   <packaging>swc</packaging>
 
-  <name>Apache Royale: Framework: Libs: MXRoyale</name>
+  <name>Apache Royale: Framework: Libs: RPC</name>
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
@@ -48,31 +48,11 @@
             </namespace>
           </namespaces>
           <includeClasses>
-            <includeClass>MXRoyaleClasses</includeClass>
+            <includeClass>RpcClasses</includeClass>
           </includeClasses>
-          <includeFiles>
-              <include-file>
-                  <name>defaults.css</name>
-                  <path>../src/main/resources/defaults.css</path>
-              </include-file>
-          </includeFiles>
           <skipExtern>true</skipExtern>
-          <defines>
-              <define>
-                  <name>GOOG::DEBUG</name>
-                  <value>true</value>
-              </define>
-              <define>
-                  <name>ROYALE::DISPLAYOBJECT</name>
-                  <value>IUIComponent</value>
-              </define>
-              <define>
-                  <name>ROYALE::PROXYVISIBILITY</name>
-                  <value>flash_proxy</value>
-              </define>
-          </defines>
           <allowSubclassOverrides>true</allowSubclassOverrides>
-          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-js-compiler-define=GOOG::DEBUG,goog.DEBUG;-js-compiler-define=ROYALE::DISPLAYOBJECT,IUIComponent;-js-compiler-define=ROYALE::PROXYVISIBILITY,public;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler. [...]
+          <additionalCompilerOptions>-source-map=true;-js-compiler-define=COMPILE::JS,true;-js-compiler-define=COMPILE::SWF,false;-namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;-compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${project.basedir}/src/main/resources/mx-royale-manifest.xml</additionalCompilerOptions>
         </configuration>
       </plugin>
     </plugins>
@@ -240,6 +220,35 @@
         <type>swc</type>
         <classifier>js</classifier>
     </dependency>
+
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCore</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCollections</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>swf</classifier>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.royale.framework</groupId>
+        <artifactId>MXCollections</artifactId>
+        <version>0.9.6-SNAPSHOT</version>
+        <type>swc</type>
+        <classifier>js</classifier>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/frameworks/projects/RPC/src/main/config/compile-swf-config.xml b/frameworks/projects/RPC/src/main/config/compile-swf-config.xml
new file mode 100644
index 0000000..57f3dfb
--- /dev/null
+++ b/frameworks/projects/RPC/src/main/config/compile-swf-config.xml
@@ -0,0 +1,115 @@
+<!--
+
+  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.
+
+-->
+<royale-config>
+
+    <compiler>
+        <accessible>false</accessible>
+        
+        <!-- build both SWF and JS. -->
+        <targets>
+            <target>SWF</target>
+            <target>JSRoyale</target>
+        </targets>
+        <strict-xml>true</strict-xml>
+
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../../../../libs/Binding.swc</path-element>
+            <path-element>../../../../../libs/Core.swc</path-element>
+            <path-element>../../../../../libs/Graphics.swc</path-element>
+            <path-element>../../../../../libs/Collections.swc</path-element>
+            <path-element>../../../../../libs/Basic.swc</path-element>
+            <path-element>../../../../../libs/DragDrop.swc</path-element>
+            <path-element>../../../../../libs/Effects.swc</path-element>
+            <path-element>../../../../../libs/Express.swc</path-element>
+            <path-element>../../../../../libs/Charts.swc</path-element>
+	          <path-element>../../../../../libs/Network.swc</path-element>
+            <path-element>../../../../../libs/Reflection.swc</path-element>
+        </external-library-path>
+        
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+		<mxml>
+			<children-as-data>true</children-as-data>
+		</mxml>
+		<binding-value-change-event>org.apache.royale.events.ValueChangeEvent</binding-value-change-event>
+		<binding-value-change-event-kind>org.apache.royale.events.ValueChangeEvent</binding-value-change-event-kind>
+		<binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+        <define>
+            <name>COMPILE::SWF</name>
+            <value>true</value>
+        </define>
+        <define>
+            <name>COMPILE::JS</name>
+            <value>false</value>
+        </define>
+
+        <keep-as3-metadata>
+          <name>Bindable</name>
+          <name>Managed</name>
+          <name>ChangeEvent</name>
+          <name>NonCommittingChangeEvent</name>
+          <name>Transient</name>
+        </keep-as3-metadata>
+	  
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>http://ns.adobe.com/mxml/2009</uri>
+                <manifest>../../../../../mxml-2009-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../resources/mx-royale-as-manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>../royale</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>../resources/defaults.css</path>
+    </include-file>
+
+    <include-lookup-only>true</include-lookup-only>
+
+    <include-classes>
+        <class>MXRoyaleClasses</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.apache.org/royale/mx</uri>
+    </include-namespaces>
+        
+    <target-player>${playerglobal.version}</target-player>
+	
+
+</royale-config>
diff --git a/frameworks/projects/RPC/src/main/resources/mx-royale-as-manifest.xml b/frameworks/projects/RPC/src/main/resources/mx-royale-as-manifest.xml
new file mode 100644
index 0000000..629cc54
--- /dev/null
+++ b/frameworks/projects/RPC/src/main/resources/mx-royale-as-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+
+    
+
+</componentPackage>
diff --git a/frameworks/projects/RPC/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/RPC/src/main/resources/mx-royale-manifest.xml
new file mode 100644
index 0000000..d855aad
--- /dev/null
+++ b/frameworks/projects/RPC/src/main/resources/mx-royale-manifest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<componentPackage>
+
+  <component id="CompressedRemoteObject" class="mx.rpc.remoting.mxml.CompressedRemoteObject" />
+	<component id="RemoteObject" class="mx.rpc.remoting.mxml.RemoteObject" />
+  <component id="RemoteObjectOperation" class="mx.rpc.remoting.mxml.Operation"/>
+	<component id="HTTPService" class="mx.rpc.http.mxml.HTTPService" />
+	<component id="AsyncToken" class="mx.rpc.AsyncToken" />
+	<component id="AMFChannel" class="mx.messaging.channels.AMFChannel" />
+	<component id="ChannelSet" class="mx.messaging.ChannelSet" />
+
+</componentPackage>
diff --git a/frameworks/projects/RPC/src/main/royale/RpcClasses.as b/frameworks/projects/RPC/src/main/royale/RpcClasses.as
new file mode 100644
index 0000000..5ac1397
--- /dev/null
+++ b/frameworks/projects/RPC/src/main/royale/RpcClasses.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class RpcClasses
+{
+	import mx.rpc.http.HTTPService; mx.rpc.http.HTTPService;
+	import mx.rpc.remoting.RemoteObject; mx.rpc.remoting.RemoteObject;
+	import mx.rpc.remoting.CompressedRemoteObject; mx.rpc.remoting.CompressedRemoteObject;
+	import mx.rpc.Fault; Fault;
+	import mx.rpc.events.InvokeEvent; InvokeEvent;
+	import mx.rpc.events.ResultEvent; ResultEvent;
+	import mx.rpc.AsyncResponder; AsyncResponder;
+	import mx.rpc.Responder; Responder;
+	import mx.rpc.events.FaultEvent; FaultEvent;
+	import mx.rpc.soap.WebService; WebService;
+	import mx.errors.EOFError; EOFError;
+	
+	import mx.rpc.http.HTTPMultiService; HTTPMultiService;
+	import mx.messaging.messages.HTTPRequestMessage; HTTPRequestMessage;
+	import mx.messaging.channels.DirectHTTPChannel; DirectHTTPChannel;
+	import mx.messaging.errors.MessageSerializationError; MessageSerializationError;
+	import mx.rpc.http.SerializationFilter; SerializationFilter;
+	import mx.rpc.http.AbstractOperation; AbstractOperation;
+	import mx.rpc.CallResponder; CallResponder;
+	import mx.rpc.http.Operation; Operation;
+	import mx.messaging.channels.URLVariables; URLVariables;
+	
+
+
+	import org.apache.royale.reflection.registerClassAlias;
+	import mx.messaging.messages.AcknowledgeMessageExt;
+	import mx.messaging.messages.AsyncMessageExt;
+	import mx.messaging.messages.CommandMessageExt;
+	//RpcClassAliasInitializer
+	registerClassAlias("DSK", AcknowledgeMessageExt);
+	registerClassAlias("DSA", AsyncMessageExt);
+	registerClassAlias("DSC", CommandMessageExt);
+    
+}
+
+}
+
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as b/frameworks/projects/RPC/src/main/royale/mx/errors/EOFError.as
similarity index 75%
copy from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
copy to frameworks/projects/RPC/src/main/royale/mx/errors/EOFError.as
index 1b7c405..59593d5 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
+++ b/frameworks/projects/RPC/src/main/royale/mx/errors/EOFError.as
@@ -17,20 +17,23 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 
-package mx.messaging.channels
+package mx.errors
 {
+COMPILE::SWF{
+import flash.errors.EOFError;
+}
 
-/**
- *  The SecureAMFChannel class is identical to the AMFChannel class except that it uses a
- *  secure protocol, HTTPS, to send messages to an AMF endpoint.
- *  
+/* 
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion BlazeDS 4
  *  @productversion LCDS 3 
+ * 
+ *  @royalesuppresspublicvarwarning
  */
-public class SecureAMFChannel extends AMFChannel
+COMPILE::SWF
+public class EOFError extends flash.errors.EOFError
 {
     //--------------------------------------------------------------------------
     //
@@ -39,11 +42,6 @@ public class SecureAMFChannel extends AMFChannel
     //--------------------------------------------------------------------------
     
     /**
-     *  Constructor.
-     *
-     *  @param id The id of this Channel.
-     *  
-     *  @param uri The uri for this Channel.
      *  
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -51,19 +49,24 @@ public class SecureAMFChannel extends AMFChannel
      *  @productversion BlazeDS 4
      *  @productversion LCDS 3 
      */
-    public function SecureAMFChannel(id:String = null, uri:String = null)
+    public function EOFError(message:String = "")
     {
-        super(id, uri);
+        super(message);
     }
+    
 
+}
+
+COMPILE::JS
+public class EOFError
+{
     //--------------------------------------------------------------------------
     //
-    // Properties
+    // Constructor
     // 
     //--------------------------------------------------------------------------
-
+    
     /**
-     *  Returns the protocol for this channel (https).
      *  
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -71,10 +74,12 @@ public class SecureAMFChannel extends AMFChannel
      *  @productversion BlazeDS 4
      *  @productversion LCDS 3 
      */
-    override public function get protocol():String
+    public function EOFError(message:String = "")
     {
-        return "https";
+        super();
     }
+    
+
 }
 
 }
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as b/frameworks/projects/RPC/src/main/royale/mx/errors/IllegalOperationError.as
similarity index 75%
copy from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
copy to frameworks/projects/RPC/src/main/royale/mx/errors/IllegalOperationError.as
index 1b7c405..b0b6529 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
+++ b/frameworks/projects/RPC/src/main/royale/mx/errors/IllegalOperationError.as
@@ -17,20 +17,23 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 
-package mx.messaging.channels
+package mx.errors
 {
+COMPILE::SWF{
+import flash.errors.IllegalOperationError;
+}
 
-/**
- *  The SecureAMFChannel class is identical to the AMFChannel class except that it uses a
- *  secure protocol, HTTPS, to send messages to an AMF endpoint.
- *  
+/* 
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion BlazeDS 4
  *  @productversion LCDS 3 
+ * 
+ *  @royalesuppresspublicvarwarning
  */
-public class SecureAMFChannel extends AMFChannel
+COMPILE::SWF
+public class IllegalOperationError extends flash.errors.IllegalOperationError
 {
     //--------------------------------------------------------------------------
     //
@@ -39,11 +42,6 @@ public class SecureAMFChannel extends AMFChannel
     //--------------------------------------------------------------------------
     
     /**
-     *  Constructor.
-     *
-     *  @param id The id of this Channel.
-     *  
-     *  @param uri The uri for this Channel.
      *  
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -51,19 +49,24 @@ public class SecureAMFChannel extends AMFChannel
      *  @productversion BlazeDS 4
      *  @productversion LCDS 3 
      */
-    public function SecureAMFChannel(id:String = null, uri:String = null)
+    public function IllegalOperationError(message:String = "")
     {
-        super(id, uri);
+        super(message);
     }
+    
 
+}
+
+COMPILE::JS
+public class IllegalOperationError
+{
     //--------------------------------------------------------------------------
     //
-    // Properties
+    // Constructor
     // 
     //--------------------------------------------------------------------------
-
+    
     /**
-     *  Returns the protocol for this channel (https).
      *  
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -71,10 +74,12 @@ public class SecureAMFChannel extends AMFChannel
      *  @productversion BlazeDS 4
      *  @productversion LCDS 3 
      */
-    override public function get protocol():String
+    public function IllegalOperationError(message:String = "")
     {
-        return "https";
+        super();
     }
+    
+
 }
 
 }
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/AbstractConsumer.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/AbstractConsumer.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/AbstractConsumer.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/AbstractConsumer.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/AbstractProducer.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/AbstractProducer.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/AbstractProducer.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/AbstractProducer.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Channel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/Channel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Channel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/Channel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/ChannelSet.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/ChannelSet.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/ChannelSet.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/ChannelSet.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Consumer.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/Consumer.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Consumer.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/Consumer.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/ConsumerMessageDispatcher.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/ConsumerMessageDispatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/ConsumerMessageDispatcher.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/ConsumerMessageDispatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/MessageAgent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/MessageAgent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/MessageAgent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/MessageAgent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/MessageResponder.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/MessageResponder.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/MessageResponder.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/MessageResponder.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Producer.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/Producer.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/Producer.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/Producer.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/RoyaleClient.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/RoyaleClient.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/RoyaleClient.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/RoyaleClient.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/AMFChannel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/AMFChannel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/AMFChannel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/AMFChannel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/DirectHTTPChannel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/DirectHTTPChannel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/DirectHTTPChannel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/DirectHTTPChannel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/NetConnectionChannel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/NetConnectionChannel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/NetConnectionChannel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/NetConnectionChannel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/PollingChannel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/PollingChannel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/PollingChannel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/PollingChannel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/SecureAMFChannel.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/URLVariables.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/channels/URLVariables.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/channels/URLVariables.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/channels/URLVariables.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/ConfigMap.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/config/ConfigMap.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/ConfigMap.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/config/ConfigMap.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/LoaderConfig.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/config/LoaderConfig.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/LoaderConfig.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/config/LoaderConfig.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/ServerConfig.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/config/ServerConfig.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/config/ServerConfig.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/config/ServerConfig.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/ArgumentError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/ArgumentError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/ArgumentError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/ArgumentError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/ChannelError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/ChannelError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/ChannelError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/ChannelError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/InvalidChannelError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/InvalidChannelError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/InvalidChannelError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/InvalidChannelError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/InvalidDestinationError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/InvalidDestinationError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/InvalidDestinationError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/InvalidDestinationError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/MessageSerializationError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/MessageSerializationError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/MessageSerializationError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/MessageSerializationError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/MessagingError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/MessagingError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/MessagingError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/MessagingError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/NoChannelAvailableError.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/errors/NoChannelAvailableError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/errors/NoChannelAvailableError.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/errors/NoChannelAvailableError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/events/ChannelEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/events/ChannelEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelFaultEvent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/events/ChannelFaultEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelFaultEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/events/ChannelFaultEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageAckEvent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageAckEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageAckEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageAckEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageFaultEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/events/MessageFaultEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AbstractMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AbstractMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AbstractMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AbstractMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AcknowledgeMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AcknowledgeMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AcknowledgeMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AcknowledgeMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AcknowledgeMessageExt.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AcknowledgeMessageExt.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AcknowledgeMessageExt.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AcknowledgeMessageExt.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AsyncMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AsyncMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AsyncMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AsyncMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AsyncMessageExt.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AsyncMessageExt.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/AsyncMessageExt.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/AsyncMessageExt.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/CommandMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/CommandMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/CommandMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/CommandMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/CommandMessageExt.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/CommandMessageExt.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/CommandMessageExt.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/CommandMessageExt.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/ErrorMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/ErrorMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/ErrorMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/ErrorMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/HTTPRequestMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/HTTPRequestMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/HTTPRequestMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/HTTPRequestMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/IMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/IMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/IMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/IMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/ISmallMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/ISmallMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/ISmallMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/ISmallMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/MessagePerformanceInfo.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/MessagePerformanceInfo.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/MessagePerformanceInfo.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/MessagePerformanceInfo.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/MessagePerformanceUtils.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/MessagePerformanceUtils.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/MessagePerformanceUtils.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/MessagePerformanceUtils.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/RemotingMessage.as b/frameworks/projects/RPC/src/main/royale/mx/messaging/messages/RemotingMessage.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/messaging/messages/RemotingMessage.as
rename to frameworks/projects/RPC/src/main/royale/mx/messaging/messages/RemotingMessage.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractInvoker.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractInvoker.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractInvoker.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractInvoker.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractOperation.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractOperation.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractOperation.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractOperation.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractService.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractService.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AbstractService.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AbstractService.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/ActiveCalls.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/ActiveCalls.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/ActiveCalls.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/ActiveCalls.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncDispatcher.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncDispatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncDispatcher.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncDispatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncRequest.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncRequest.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncRequest.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncRequest.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncResponder.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncResponder.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncResponder.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncResponder.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncToken.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncToken.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/AsyncToken.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/AsyncToken.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/CallResponder.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/CallResponder.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/CallResponder.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/CallResponder.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/Fault.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/Fault.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/Fault.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/Fault.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/IResponder.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/IResponder.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/IResponder.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/IResponder.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/Responder.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/Responder.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/Responder.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/Responder.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/AbstractEvent.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/events/AbstractEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/AbstractEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/events/AbstractEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/FaultEvent.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/events/FaultEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/FaultEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/events/FaultEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/InvokeEvent.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/events/InvokeEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/InvokeEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/events/InvokeEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/ResultEvent.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/events/ResultEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/ResultEvent.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/events/ResultEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/AbstractOperation.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/AbstractOperation.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/AbstractOperation.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/AbstractOperation.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/HTTPMultiService.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/HTTPMultiService.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/HTTPMultiService.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/HTTPMultiService.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/HTTPService.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/HTTPService.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/HTTPService.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/HTTPService.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/Operation.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/Operation.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/Operation.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/Operation.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/SerializationFilter.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/SerializationFilter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/SerializationFilter.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/SerializationFilter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/mxml/HTTPService.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/http/mxml/HTTPService.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/http/mxml/HTTPService.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/http/mxml/HTTPService.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/mxml/Concurrency.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/mxml/Concurrency.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/mxml/Concurrency.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/mxml/Concurrency.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/mxml/IMXMLSupport.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/mxml/IMXMLSupport.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/mxml/IMXMLSupport.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/mxml/IMXMLSupport.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/CompressedRemoteObject.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/CompressedRemoteObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/CompressedRemoteObject.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/CompressedRemoteObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/Operation.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/Operation.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/Operation.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/Operation.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/RemoteObject.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/RemoteObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/RemoteObject.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/RemoteObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/CompressedRemoteObject.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/CompressedRemoteObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/CompressedRemoteObject.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/CompressedRemoteObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/Operation.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/Operation.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/Operation.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/Operation.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/RemoteObject.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/RemoteObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/remoting/mxml/RemoteObject.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/remoting/mxml/RemoteObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/WebService.as b/frameworks/projects/RPC/src/main/royale/mx/rpc/soap/WebService.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/WebService.as
rename to frameworks/projects/RPC/src/main/royale/mx/rpc/soap/WebService.as