davestewart / xjsfl

Rapid development framework for extending Adobe Flash
https://xjsfl.vercel.app
139 stars 46 forks source link

xJSFL does not run in Adobe Flash CC and Adobe Animate #13

Open haysclark opened 7 years ago

haysclark commented 7 years ago

Running the installer with Adobe Animate will result in this error when processing the xml.js file.

screenshot 2016-12-16 23 59 06

When you press OK, the script will continue to run generating this log:

=================================================================

           ██  █████ ██████ ██
           ██ ██     ██     ██
  ██ ██    ██  ████  █████  ██
   ███     ██     ██ ██     ██
  ██ ██ ████  █████  ██     █████

=================================================================

  The Rapid-Development Framework for Extending Adobe Flash

  @see licence at http://www.xjsfl.com/license

> xjsfl: INSTALLING xJSFL...
> xjsfl: loading proxy classes...
> xjsfl: loading xjsfl...

> xjsfl: LOADING CORE CLASSES...
> xjsfl: loading library: Globals
> xjsfl: loading library: Utils
> xjsfl: loading library: URI
> xjsfl: loading library: URIList

> xjsfl: LOADING SUPPORTING CLASSES...
> xjsfl: added 27 search paths for "c:/xxx/xxx/xJSFL/core/"
> xjsfl: loading library: JSFLInterface
> xjsfl: loading library: XUL
> xjsfl: loading library: File
> xjsfl: loading library: Class
> xjsfl: loading library: FileSystemObject
> xjsfl: loading library: Folder
> xjsfl: loading library: XML
> xjsfl: loading library: String
> xjsfl: loading library: SimpleTemplate
> xjsfl: loading library: XULControl
> xjsfl: loading library: XULEvent
> xjsfl: loading library: Output
> xjsfl: loading library: Table
> xjsfl: loading library: PropertyResolver

> xjsfl: REMOVING OLD FILES...
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/About.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Configuration.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Reload.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Update User Info.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Folder.jsfl"
> xjsfl: removing "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Log.jsfl"

> xjsfl: COPYING NEW FILES...
> xjsfl: creating folder "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/About.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Configuration.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Reload.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/Update User Info.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Folder.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Commands/xJSFL/View Log.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/External Libraries/xjsfl.dll"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Tools/xJSFL Loader.jsfl"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/Tools/xJSFL.ini"
> xjsfl: copying file to "c:/xxx/xxx/AppData/Local/Adobe/Animate CC 2015.2/en_US/Configuration/xJSFL/readme.txt"

> xjsfl: REGISTERING MODULE "SAMPLE MODULE"
> xjsfl: added 6 search paths for "c:/xxx/xxx/xJSFL/modules/Sample Module/"
> xjsfl: assets are already up to date

> xjsfl: REGISTERING MODULE "SNIPPETS"
> xjsfl: added 10 search paths for "c:/xxx/xxx/xJSFL/modules/Snippets/"
> xjsfl: assets are already up to date

> xjsfl: FINALIZING INSTALL...
> xjsfl: writing xjsfl.uri file
> xjsfl: copying user config file
> xjsfl: copying file to "c:/xxx/xxx/xJSFL/user/config/xjsfl.xml"

> xjsfl: INSTALLATION COMPLETE!

> xjsfl: Restart Flash to start using xJSFL
> xjsfl: loading library: Folder
> xjsfl: loading library: JSON
> xjsfl: loading library: SimpleTemplate
> xjsfl: loading library: URI
> xjsfl: loading library: XML
> xjsfl: loading library: Class
> xjsfl: loading library: URI
> xjsfl: loading library: Class
> xjsfl: loading library: FileSystemObject
> xjsfl: loading library: Folder
> xjsfl: loading library: URI
> xjsfl: loading library: Utils
> xjsfl: loading library: Table
> xjsfl: loading library: Utils
> xjsfl: loading library: File
> xjsfl: loading library: URI
> xjsfl: loading library: Utils
> xjsfl: loading library: PropertyResolver
> xjsfl: loading library: Utils

> xjsfl: WARNING - File load error:

    TypeError: xml.get is not a function
    ----------------------------------------------------------------------------------------------------

        0 > ([object XML])

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 491

        1 > ([object XML])

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 1266

        2 > ("//core/ui/install.xul")

            path: c:/xxx/xxx/xJSFL/core/jsfl/libraries/ui/
            file: XUL.jsfl
            line: 1580

        3 > install([object Window])

            path: c:/xxx/xxx/xJSFL/core/install/jsfl/
            file: install.jsfl
            line: 220

        4 > 

            path: c:/xxx/xxx/xJSFL/core/install/jsfl/
            file: install.jsfl
            line: 227
haysclark commented 7 years ago

This issue was resolved by pull request #12 and the fixed version is now located in the 1.02 branch.

Verified functionality in Adobe Animate.

screenshot 2016-12-17 02 15 20
davestewart commented 7 years ago

It's great to know that this still works (mainly) with the latest version of Adobe Flash/Animate.

At some point I really must find some time to finish off those last few things that need fixing.

haysclark commented 7 years ago

Re-opening issue. Sorry I overlooked this, I was so happy that the installer worked that I failed to check if xJSFL booted. The installer script IS working now, but opening Adobe Animate does not bootstrap xJSFL. Adobe Animate output this error after rebooting the software after installation.

> ReferenceError: xjsfl is not defined. Check your Flash "Configuration/External Libraries" folder for the xJSFL extension

I am currently investigating the issue.

haysclark commented 7 years ago

@davestewart So, I have been digging into this issue, and I can not find where Flash or Animate bootstraps the project, so based on the error I am going to hazard a guess that Configuration/External Libraries/xjsfl.bundle is to blame for not bootstrapping xJSFL. It seems like the compilation logic for the xjsfl.bundle and xjsfl.dll files are not included in this repo.

When researching Flash/Animate and .bundle files I ran across @jgranick having issues with his OpenFL plug-in Adobe Flash CC. Here is the OpenFL Flash/Animate plug-in Github project if it is any help.

Currently when you startup Adobe Animate you do NOT see this output in the console log:

=================================================================

           ██  █████ ██████ ██
           ██ ██     ██     ██
  ██ ██    ██  ████  █████  ██
   ███     ██     ██ ██     ██
  ██ ██ ████  █████  ██     █████

=================================================================

  The Rapid-Development Framework for Extending Adobe Flash

  @see licence at http://www.xjsfl.com/license

> xjsfl: RUNNING CORE BOOTSTRAP...

...

The first error message in console is this:

> ReferenceError: xjsfl is not defined. Check your Flash "Configuration/External Libraries" folder for the xJSFL extension

This was pretty easy to hunt down in Configuration/Tools/xJSFL Loader.jsfl, and naturally the xjsfl object does not exist because xJSFL was never bootstrapped.

Hopefully that information is helpful on some level. I think this issue can only be assigned to @davestewart due to the .bundle code.

davestewart commented 7 years ago

OK, thanks for the info. I'll take a look at this over the Christmas break :)