Return-Path: X-Original-To: apmail-incubator-flex-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 305E7E659 for ; Thu, 6 Dec 2012 00:09:51 +0000 (UTC) Received: (qmail 10438 invoked by uid 500); 6 Dec 2012 00:09:50 -0000 Delivered-To: apmail-incubator-flex-commits-archive@incubator.apache.org Received: (qmail 10408 invoked by uid 500); 6 Dec 2012 00:09:50 -0000 Mailing-List: contact flex-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-commits@incubator.apache.org Received: (qmail 10401 invoked by uid 99); 6 Dec 2012 00:09:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Dec 2012 00:09:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Dec 2012 00:09:47 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 9915423888EA; Thu, 6 Dec 2012 00:09:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1417701 - in /incubator/flex/whiteboard/aharui/flexjs/publisher: ./ intermediate/ intermediate/FlexJSTest_dummy/ intermediate/FlexJSTest_dummy/js/ Date: Thu, 06 Dec 2012 00:09:27 -0000 To: flex-commits@incubator.apache.org From: erikdebruin@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121206000927.9915423888EA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: erikdebruin Date: Thu Dec 6 00:09:26 2012 New Revision: 1417701 URL: http://svn.apache.org/viewvc?rev=1417701&view=rev Log: Changing project structure, committing updated FlexJS framework and JS publishing tool set: adding publisher tool and example intermediary JS project. Added: incubator/flex/whiteboard/aharui/flexjs/publisher/ incubator/flex/whiteboard/aharui/flexjs/publisher/README (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/index.html.template incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js (with props) incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/js/ Added: incubator/flex/whiteboard/aharui/flexjs/publisher/README URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/README?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/README (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/README Thu Dec 6 00:09:26 2012 @@ -0,0 +1,20 @@ +1. create a directory 'closure' somewhere +2. get Closure Library and install it in 'closure/library' + - svn checkout http://closure-library.googlecode.com/svn/trunk/ library +3. download Closure Compiler and unzip in 'closure/compiler' + - http://closure-compiler.googlecode.com/files/compiler-latest.zip +4. install Closure Linter into 'closure/linter' + - https://developers.google.com/closure/utilities/docs/linter_howto +5. get Closure Builder and install it in 'closure/builder' + - svn checkout http://closure-library.googlecode.com/svn/trunk/closure/bin/build/ builder +6. edit 'build.properties' to reflect the location of the 'closure' directory +7. build FalconJS (see README) +8. run the publish script with the 'ant -Dapp.name=[your.app.name.here] -Dapp.location=[your.app.location.here]' + +ATTENTION! +As of 2012-12-06, the FalconJS compiler doesn't output JS that can be parsed +by the new tool set. While this is being corrected, you'll have to create your +own 'intermediate' JS project, or modify one of the examples (I've included +'FlexJSTest_dummy' in the repo). Make sure to not include the 'falconJS' +dependency (?) in the build.xml and if you don't want to loose your work, +make sure to set CLEAN_INTERMEDIATE_JS to 'false' in build.properties. Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/README ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties Thu Dec 6 00:09:26 2012 @@ -0,0 +1,46 @@ + + +# Clean out the previous run's intermediate files? Set false if working with a dummy set of JS intermediairies. +CLEAN_INTERMEDIATE_JS=false + +# Location of the Google Closure tool set (EDIT THIS). +DIR_CLOSURE=/Users/erik/Documents/ApacheFlex/dependencies/GoogleClosure +# With a default install there should be no need to edit these: +DIR_CLOSURE_LIBRARY=${DIR_CLOSURE}/library +FILE_CLOSURE_BUILDER=${DIR_CLOSURE}/builder/closurebuilder.py +FILE_CLOSURE_DEPENDENCIES=${DIR_CLOSURE_LIBRARY}/closure/goog/deps.js +FILE_CLOSURE_JAR=${DIR_CLOSURE}/compiler/compiler.jar + +# Location of the FlexJS framework (from SVN, with default working copy structure there is no need to edit this) +DIR_FRAMEWORK=${basedir}/../frameworks/js/src + +# Location of intermediate and release project files +DIR_INTERMEDIATE=${basedir}/intermediate +DIR_RELEASE=${basedir}/release +# Location of the current project's files, with the 'app' property passed in using the '-Dapp.name=[value]' argument. +DIR_INTERMEDIATE_APPLICATION=${DIR_INTERMEDIATE}/${app.name} +DIR_RELEASE_APPLICATION=${DIR_RELEASE}/${app.name} + +# Location of the FalconJS mxmlc script (EDIT THIS). +FILE_FALCONJS_COMPILE_SCRIPT=/Users/erik/Documents/ApacheFlex/repo/falcon/compiler.js/bin/mxmlc + +# No need to edit these. +FILE_HTML_TEMPLATE=${basedir}/index.html.template +FILE_RELEASE=${DIR_RELEASE_APPLICATION}/FlexJS.js Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/build.properties ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml Thu Dec 6 00:09:26 2012 @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Delete 'intermediate' and 'release' directories + + + + + + + + + + + + + + + + + + Create 'intermediate' and 'release' directory structure + + + + + + + Compiling the AS project into intermediate JS + + + + + + + + + + + + + + Creating combined and compiled output JS + + + + + Creating playback HTML file from template + + + + Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/build.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/index.html.template URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/index.html.template?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/index.html.template (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/index.html.template Thu Dec 6 00:09:26 2012 @@ -0,0 +1,11 @@ + + + + + + + + + + + Added: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js Thu Dec 6 00:09:26 2012 @@ -0,0 +1,59 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('FlexJSTest_dummy'); + +goog.require('MyController'); +goog.require('MyInitialView'); +goog.require('MyModel'); +goog.require('MySimpleValuesImpl'); + +goog.require('org.apache.flex.FlexGlobal'); + +goog.require('org.apache.flex.core.Application'); + +/** + * @constructor + * @extends {org.apache.flex.core.Application} + */ +FlexJSTest_dummy = function() { + org.apache.flex.core.Application.call(this); + + this.controller = org.apache.flex.FlexGlobal.newObject( + MyController, [this] + ); + + this.initialView = + /** @type {org.apache.flex.core.ViewBase} */ ( + org.apache.flex.FlexGlobal.newObject(MyInitialView, [this]) + ); + + this.model = + /** @type {flash.events.EventDispatcher} */ ( + org.apache.flex.FlexGlobal.newObject(MyModel, []) + ); + this.model.set_labelText('Say hi!'); + + this.valuesImpl = + /** @type {org.apache.flex.core.SimpleValuesImpl} */ ( + org.apache.flex.FlexGlobal.newObject(MySimpleValuesImpl, [this]) + ); + + // this method of logging survives the Closure Compiler + //window['console']['log'](app); +}; +goog.inherits(FlexJSTest_dummy, org.apache.flex.core.Application); + +// Ensures the symbol will be visible after compiler renaming. +goog.exportSymbol('FlexJSTest_dummy', FlexJSTest_dummy); Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js Thu Dec 6 00:09:26 2012 @@ -0,0 +1,56 @@ +/** + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('MyController'); + +goog.require('flash.events.EventDispatcher'); + +goog.require('org.apache.flex.FlexGlobal'); + +/** + * @constructor + * @param {org.apache.flex.core.Application} app The main application. + */ +MyController = function(app) { + /** + * @type {org.apache.flex.core.Application} + */ + this.app = app || null; + + this.app.addEventListener( + 'viewChanged', org.apache.flex.FlexGlobal.createProxy( + this, this.viewChangeHandler + ) + ); +}; + +/** + * @this {MyController} + * @param {flash.events.Event} event The event. + */ +MyController.prototype.viewChangeHandler = function(event) { + this.app.initialView.addEventListener( + 'buttonClicked', org.apache.flex.FlexGlobal.createProxy( + this, this.buttonClickHandler + ) + ); +}; + +/** + * @this {MyController} + * @param {flash.events.Event} event The event. + */ +MyController.prototype.buttonClickHandler = function(event) { + this.app.model.set_labelText('Hello Universe'); +}; Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyController.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js Thu Dec 6 00:09:26 2012 @@ -0,0 +1,67 @@ +/** + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('MyInitialView'); + +goog.require('org.apache.flex.FlexGlobal'); + +goog.require('org.apache.flex.core.ViewBase'); +goog.require('org.apache.flex.html.staticControls.Label'); +goog.require('org.apache.flex.html.staticControls.TextButton'); + +/** + * @constructor + * @extends {org.apache.flex.core.ViewBase} + */ +MyInitialView = function() { + org.apache.flex.core.ViewBase.call(this); +}; +goog.inherits(MyInitialView, org.apache.flex.core.ViewBase); + +/** + * @override + * @this {org.apache.flex.core.ViewBase} + * @return {Array} The array of UI element descriptors. + */ +MyInitialView.prototype.get_uiDescriptors = function() { + return [ + org.apache.flex.html.staticControls.Label, + null, + 'lbl', + 2, 'x', 100, 'y', 25, + 0, + 0, + 1, 'text', 0, 'model', 'labelText', 'labelTextChanged', + org.apache.flex.html.staticControls.TextButton, + null, + null, + 3, 'text', 'OK', 'x', 100, 'y', 75, + 0, + 1, 'click', this.clickHandler, 0 + ]; +}; + +/** + * @this {MyInitialView} + * @param {flash.events.Event} event The event. + */ +MyInitialView.prototype.clickHandler = function(event) { + this.dispatchEvent( + /** @type {flash.events.Event} */ ( + org.apache.flex.FlexGlobal.newObject( + flash.events.Event, ['buttonClicked'] + ) + ) + ); +}; Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js Thu Dec 6 00:09:26 2012 @@ -0,0 +1,60 @@ +/** + * Licensed under the Apache License, Version 2.0 (the 'License'); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an 'AS IS' BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('MyModel'); + +goog.require('flash.events.EventDispatcher'); + +goog.require('org.apache.flex.FlexGlobal'); + +/** + * @constructor + * @extends {flash.events.EventDispatcher} + */ +MyModel = function() { + flash.events.EventDispatcher.call(this); + + /** + * @private + * @type {string} + */ + this.labelText_; +}; +goog.inherits(MyModel, flash.events.EventDispatcher); + +/** + * @expose + * @this {MyModel} + * @return {string} The labelText getter. + */ +MyModel.prototype.get_labelText = function() { + return this.labelText_; +}; + +/** + * @expose + * @this {MyModel} + * @param {string} value The labelText setter. + */ +MyModel.prototype.set_labelText = function(value) { + if (value != this.labelText_) { + this.labelText_ = value; + + this.dispatchEvent( + org.apache.flex.FlexGlobal.newObject( + flash.events.Event, ['labelTextChanged'] + ) + ); + } +}; Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MyModel.js ------------------------------------------------------------------------------ svn:eol-style = native Added: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js URL: http://svn.apache.org/viewvc/incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js?rev=1417701&view=auto ============================================================================== --- incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js (added) +++ incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js Thu Dec 6 00:09:26 2012 @@ -0,0 +1,41 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +goog.provide('MySimpleValuesImpl'); + +goog.require('org.apache.flex.core.SimpleValuesImpl'); + +/** + * @constructor + * @extends {org.apache.flex.core.SimpleValuesImpl} + */ +MySimpleValuesImpl = function() { + org.apache.flex.core.SimpleValuesImpl.call(this); + + /** + * @private + * @type {Object} + */ + this.values_ = { + /* + ITextButtonBead : + org.apache.flex.html.staticControls.beads.TextButtonBead, + ITextBead : + org.apache.flex.html.staticControls.beads.TextFieldBead, + ITextModel : + org.apache.flex.html.staticControls.beads.models.TextModel + */ + }; +}; +goog.inherits(MySimpleValuesImpl, org.apache.flex.core.SimpleValuesImpl); Propchange: incubator/flex/whiteboard/aharui/flexjs/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js ------------------------------------------------------------------------------ svn:eol-style = native