grunt-as3

Compile AS3 projects

Usage no npm install needed!

<script type="module">
  import gruntAs3 from 'https://cdn.skypack.dev/grunt-as3';
</script>

README

grunt-as3

Built with Grunt

This is an awesome plugin for who have been working with Grunt.js and now have to implement few AS3 modules in the same environment. You don't need to download an exclusive flex sdk plugin for it works. You should take advantage of the Flex SDK already installed in your environment, you have just to create a link into Gruntfile.js file. Also the MXMLC remains the same arguments, thus you can read all the documentation about it on the adobe's website.

Requirements

This plugin requires:

  • grunt-shell

Getting Started

This plugin requires Grunt ~0.4.4

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-as3 --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks("grunt-as3");

The "grunt-as3" task

Overview

In your project's Gruntfile, add a section named grunt-as3 to the data object passed into grunt.initConfig().

grunt.initConfig({
    
    sdk : "<%= SDK_PATH %>",

    as3: {

        mxmlc : {
            test1 : {
                args : [
                    "-debug=true",
                    "-target-player=<%= FLASHPLAYER_VERSION %>",
                    "-use-network=true",
                    "-static-link-runtime-shared-libraries=true",
                    "-source-path=<%= SOURCE_PATH %>",
                    "-compiler.include-libraries+=<%= LIB_PATH %>",
                    "-output <%= SWF %> <%= AS %>"
                ]
            },

            test2 : {
                args : [
                    "-default-size 500 500",
                    "-default-frame-rate=24",

                    "-debug=true",
                    "-target-player=<%= FLASHPLAYER_VERSION %>",
                    "-use-network=true",
                    "-static-link-runtime-shared-libraries=true",
                    "-source-path=<%= SOURCE_PATH %>",
                    "-compiler.include-libraries+=<%= LIB_PATH %>",
                    "-output <%= SWF %> <%= AS %>"
                ]
            }
        },

        asdoc : {
            main : {
                args : [
                    "-source-path <%= SOURCE_PATH %>",
                    "-doc-sources <%= SOURCE_PATH %>", 
                    "-library-path <%= LIBRARY_PATH %>",
                    "-output <%= OUTPUT_PATH %>"
                ]
            }
        },

        adt : {
            android : {
                args : []
            },
            
            ios : {
                args : []
            },

            air : {
                args : []
            }
        },

        compc : {
            lib1 : {
                args : []
            },

            lib2 : {
                args : []
            }

        }
    },
});

Options

sdk

Type: String

Full path to Flex SDK.

mxmlc

Type: Object

Run command mxmlc from Flex SDK.

asdoc

Type: Object

Run command asdoc from Flex SDK.

compc

Type: Object

Run command compc from Flex SDK.

adt

Type: Object

Run command adt from Flex SDK.

args

Type: Array

The args is always inside of a Flex SDK command object as you saw in the example. You can check the documentation for:

License

MIT © Victor Potasso