got fcsh working… I had to modify the fcsh script in $FLEX_HOME/bin
I had to pin it to jdk 7 and add
"-Djava.util.Arrays.useLegacyMergeSort=true"
The last few lines of the file look like:
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
export DEBUG="true"
java $VMARGS $D32 $SETUP_SH_VMARGS "-Dapplication.home=$FLEX_HOME"
"-Djava.util.Arrays.useLegacyMergeSort=true" -jar "$FLEX_HOME/lib/fcsh.jar"
Here's my gulpfile.js at the root of my project…
var gulp = require('gulp');
var fcsh = require('gulp-fcsh');
var FLEX_HOME = process.env.FLEX_HOME;
console.log('FLEX_HOME = ' + FLEX_HOME)
var compileOptions = '';
gulp.task('fcsh', function () {
gulp.src('src/GreenMaps.mxml')
.pipe(fcsh({
compileOptions: compileOptions
}))
});
gulp.task('watch', function () {
var watcher = gulp.watch(['./**/*.mxml', './**/*.as', './**/*.js',
'./**/*.xml'], ['fcsh']);
watcher.on('change', function(event) {
console.log('File ' + event.path + ' was ' + event.type);
});
});
Here's my .vscode/tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"tasks": [
{
"taskName": "fcsh",
"command": "gulp",
"isBuildCommand": true,
"isShellCommand": true,
"isBackground": true,
"args": ["fcsh","watch"],
"showOutput": "always"
}
]
}
My dev dependencies for my npm package.json looks like:
"devDependencies": {
"gulp": "^3.9.1",
"gulp-fcsh": "0.0.6"
}
You can run the build by pressing ctrl + shift + B (cmd + shift + B on mac).
On Sat, Mar 18, 2017 at 8:11 PM, Clint M <[email protected]> wrote:
> ok… I think I've fcsh figured out… here's what I'm planning let me know
> your thoughts… it depends on gulp (should be ok?)
>
> 1. Use this gulp plugin https://github.com/youpy/gulp-fcsh
> 2. Setup node.js + gulp.js to run locally (install node, setup gulp as a
> dev dependency, npm install)
> 3. Add the gulp tasks to tasks.json like says to here https://code.
> visualstudio.com/docs/editor/tasks#_background-watching-tasks
> 4. Add custom problemMatcher(s) to tasks.json to watch the output
>
> The gulpfile.js in the root of the project would probably look like:
> //-------
> var gulp = require('gulp');
> var fcsh = require('gulp-fcsh');
>
> gulp.task('fcsh', function () {
> gulp.src('Main.mxml')
> .pipe(fcsh({
> compileOptions: '-library-path+=./libs'
> }))
> .pipe(gulp.dest('bin-debug'))
> });
> }
>
> gulp.task('watch', function () {
> gulp.watch(['*.mxml', '*.as'], ['fcsh']);
> }
>
>
>
>
> On Sat, Mar 18, 2017 at 10:00 AM, Josh Tynjala <[email protected]>
> wrote:
>
>> I'm not sure that it will be possible to run fcsh from a tasks.json file
>> in
>> VSCode, but I'm not particularly familiar with running it directly from
>> the
>> command line, so maybe I'm wrong. I can look into it.
>>
>> - Josh
>>
>> On Mar 17, 2017 10:52 PM, "Clint M" <[email protected]> wrote:
>>
>> > is fcsh on your radar? I just got it to work with java 7 and
>> > adding -Djava.util.Arrays.useLegacyMergeSort=true|
>> > couldn't get it to work with java 8… getting Error: null on recompile
>> >
>> > On Fri, Mar 17, 2017 at 10:39 PM, Clint M <[email protected]> wrote:
>> >
>> > > Ha… it works!!!
>> > >
>> > > I just checked it again… and this was my launch config (with duplicate
>> > > keys??)
>> > > I'm not sure if this was me or vs code but after I removed the
>> duplicate
>> > > keys (type, request, name, program) it worked just fine.
>> > >
>> > > Thanks Josh :)
>> > >
>> > > {
>> > > // Use IntelliSense to learn about possible SWF debug attributes.
>> > > // Hover to view descriptions of existing attributes.
>> > > // For more information, visit: https://go.microsoft.com/
>> > > fwlink/?linkid=830387
>> > > "version": "0.2.0",
>> > > "preLaunchTask": "asconfigc",
>> > > "configurations": [
>> > > {
>> > > "type": "swf",
>> > > "request": "launch",
>> > > "name": "Launch SWF",
>> > > "program": "bin/GreenMaps-app.xml",
>> > > "type": "swf",
>> > > "request": "launch",
>> > > "name": "Launch SWF",
>> > > "program": "bin/MyProject-app.xml",
>> > > "profile": "mobileDevice",
>> > > "screensize": "iPhoneRetina",
>> > > "screenDPI": 326,
>> > > "versionPlatform": "IOS"
>> > > }
>> > > ]
>> > > }
>> > >
>> > > On Fri, Mar 17, 2017 at 10:32 PM, Josh Tynjala <[email protected]
>> >
>> > > wrote:
>> > >
>> > >> When you debug with AIR, the error code will come from ADL, rather
>> than
>> > >> ADT, so it's meaning is going to be different. Looks like it is:
>> > >>
>> > >> The application descriptor file cannot be found.
>> > >>
>> > >> http://help.adobe.com/en_US/air/build/WSfffb011ac560372f-6fa
>> > >> 6d7e0128cca93d31-8000.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7f62
>> > >>
>> > >> Make sure that you point to your AIR assocation descriptor in the
>> > >> "application" field in asconfig.json. You'll also need an output path
>> > for
>> > >> the SWF under the compilerOptions.
>> > >>
>> > >> In the launch.json, you want the program to be the AIR application
>> > >> descriptor instead of the SWF.
>> > >>
>> > >> - Josh
>> > >>
>> > >> On Mar 17, 2017 9:04 PM, "Clint M" <[email protected]> wrote:
>> > >>
>> > >> got it to build… can't get it to launch the debugger… the error is:
>> > >> Error launching SWF debug session. Process exited with code: 6
>> > >>
>> > >> Which according to this [1] means I can't write to the output dir
>> (but
>> > I'm
>> > >> not specifying it). How do I do that?
>> > >>
>> > >> I wonder if I need to change where I installed the FlexJS sdk?
>> > >>
>> > >> Here's what the launch config looks like in Flash Bungler.
>> > >> https://www.dropbox.com/s/8f6kllihuoc3kol/Screen%20Shot%
>> > >> 202017-03-17%20at%208.55.31%20PM.png?dl=0
>> > >>
>> > >>
>> > >> [1] https://helpx.adobe.com/air/kb/air-developer-tool-adt-error.html
>> > >> Exit codes
>> > >> ADT exits with one of the following exit codes. For error conditions
>> > (code
>> > >> > 1), ADT also prints a diagnostic message to stderr.
>> > >> Exit Code Meaning
>> > >> 0 Successful primary launch [1]
>> > >> 2 Usage error (incorrect arguments)
>> > >> 5 Unknown error
>> > >> 6 Could not write to output directory
>> > >>
>> > >> On Fri, Mar 17, 2017 at 8:25 PM, Clint M <[email protected]> wrote:
>> > >>
>> > >> > ha… got it to compile my flex mobile project with a couple of
>> > >> workarounds…
>> > >> >
>> > >> > - "library-path": [ "libs" ], didn't work… I had to do:
>> > >> "additionalOptions":
>> > >> > "-library-path+=libs/",
>> > >> > - I had to install both the flex sdk and the flexjs sdk… my
>> > >> > ./.vscode/settings.json looks like:
>> > >> > // Place your settings in this file to overwrite default and user
>> > >> settings.
>> > >> > {
>> > >> > "nextgenas.sdk.framework": "/Users/clint/code/Flex/SDK/
>> > >> > flex_sdk_4.15.0_AIR_23",
>> > >> > "nextgenas.sdk.editor": "/usr/local/lib/node_modules/flexjs"
>> > >> > }
>> > >> >
>> > >> >
>> > >> > On Fri, Mar 17, 2017 at 8:03 PM, Clint M <[email protected]>
>> wrote:
>> > >> >
>> > >> >> trying to get it setup… do I need both the flexjs and flexswf
>> sdks?
>> > >> >>
>> > >> >> On Fri, Mar 17, 2017 at 4:36 PM, Josh Tynjala <
>> [email protected]
>> > >
>> > >> >> wrote:
>> > >> >>
>> > >> >>> Hello, Flex community!
>> > >> >>>
>> > >> >>> I hope you don't mind if I take a moment to plug one of my
>> projects
>> > >> that
>> > >> >>> I
>> > >> >>> think many Flex developers here will find useful.
>> > >> >>>
>> > >> >>> As you may recall, I created an ActionScript and MXML extension
>> for
>> > >> >>> Visual
>> > >> >>> Studio Code a while back. Originally, my main focus was on
>> creating
>> > a
>> > >> >>> development environment for FlexJS. Popular IDEs like Flash
>> Builder
>> > >> and
>> > >> >>> IntelliJ IDEA require jumping through some hoops to work with
>> > FlexJS,
>> > >> >>> and I
>> > >> >>> wanted to make sure the community has an editor where FlexJS is
>> > >> >>> considered
>> > >> >>> a first-class citizen.
>> > >> >>>
>> > >> >>> Well, I know many of you who are interested in FlexJS are also
>> still
>> > >> >>> targeting Adobe AIR and Flash Player with the original Apache
>> Flex
>> > >> SDK.
>> > >> >>> With that in mind, I've been working on ensuring that you can
>> build
>> > >> >>> projects for these runtimes in Visual Studio Code too! Earlier
>> this
>> > >> >>> week, I
>> > >> >>> released a big, new update to the extension that adds support for
>> > SWF
>> > >> >>> debugging in AIR and Flash Player.
>> > >> >>>
>> > >> >>> When you debug a SWF project in VSCode you'll be able to add
>> > >> breakpoints,
>> > >> >>> pause and step through your code, see trace() output in the
>> console,
>> > >> >>> navigate the call stack, and inspect variables. It's a debugger
>> with
>> > >> all
>> > >> >>> the bells and whistles that we've come to expect.
>> > >> >>>
>> > >> >>> For more information about the Visual Studio Code extension,
>> please
>> > >> visit
>> > >> >>> the website:
>> > >> >>>
>> > >> >>> https://nextgenactionscript.com/vscode/
>> > >> >>>
>> > >> >>> For instructions about how to create a new project, set up the
>> > >> compiler,
>> > >> >>> and debug any type of Apache Flex app in Adobe AIR and Flash
>> Player,
>> > >> >>> visit
>> > >> >>> the Github wiki:
>> > >> >>>
>> > >> >>> https://github.com/BowlerHatLLC/vscode-nextgenas/wiki
>> > >> >>>
>> > >> >>> With the community's help, I can continue working on useful
>> > developer
>> > >> >>> tools
>> > >> >>> for ActionScript and MXML. Please join my Patreon campaign to
>> lend a
>> > >> >>> hand!
>> > >> >>>
>> > >> >>> https://www.patreon.com/josht
>> > >> >>>
>> > >> >>> Thank you, and happy coding!
>> > >> >>>
>> > >> >>> Josh Tynjala
>> > >> >>> NextGen ActionScript
>> > >> >>>
>> > >> >>> Note: I am an Apache Flex committer and PMC member, but this
>> VSCode
>> > >> >>> extension is not an Apache project. Today, I am simply posting
>> as a
>> > >> >>> member
>> > >> >>> of the community who wants to share a cool, independent project
>> that
>> > >> >>> others
>> > >> >>> might enjoy.
>> > >> >>>
>> > >> >>
>> > >> >>
>> > >> >
>> > >>
>> > >
>> > >
>> >
>>
>
>