Code Monkey home page Code Monkey logo

flow's People

Contributors

dazkind avatar djpale avatar ember-max avatar haxiomic avatar jeremyfa avatar kevinresol avatar ruby0x1 avatar sunjammer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flow's Issues

flash support for web platform

First of great work with this tool, it is what you need when you start to automate some processes.
I am currently developing a web game, and I badly need support for the Flash target.

What I am doing is actually checking the webgl capabilities of the browser (with modernizer for example) and if so, I run a small microbenchmark (sometimes on laptop, webgl will use the integrated graphic card of the player but usually in flash, it will go with big one by default) to decide if I am loading the flash player or the webgl version.

Is Flash support something that will come in a near future?

Default place for discussions?

If I want to ask developer about how to do something in flow-snow-luxe, how them all works or maybe about some directions on pull requests, where should I do it? Here in github issues for project?
//I'm new to all environment, there always were some forums for open source projects I was intrested in
Thanks

flow; app.title is misleading

it only really relates to mobile display name, and should be moved to app.mobile.title, or a better name. display? identifier?

flow; hxcpp specific flags

These are partially implemented on cli already, can be passed via hxcpp xml injection already, but having a project node for these seems reasonable

--clean doesnt trigger a proper lib hxcpp compile?

Tried the following in build.cpp.js.
if(flow.flags.clean) {
args.push('clean');
}
hxcpp wont clean and compile. Instead it will only clean. if there is nothing to clean it will compile.
Investigate

sync; change manifest

For frameworks without built in file notifications, a small file should be written in the project output folder, with the changed file path relative to the output folder, as a json array of objects with timestamp and path in the file. The timestamp will be the time at which the event occurred, not the file stat times.

manifest.changed = [{ timestamp:11111, path:'assets/image.png'}]

The user can then poll this file for timestamps that differ for their usage, and should not modify the file as the tools will continue to write to it as changes occur.

android compilation issue

Hello, I've been told to post my issue here. Im curently trying to compile 1_0_parrott using haxelib run flow run android

cf65c320-888c-11e4-83f0-b7033a851a8d

I've already set up JAVA_HOME and ANDROID_NDK_ROOT variables. Have downloaded and set SDK with haxelib run flow config build.android.sdk and android ant with haxelib run flow config build.android.ant_path.

Thank you for your time.

Build error targeting Mac on OSX Lion with possible fix

After initial setup and successfully running:

haxelib run flow run web

I thought "Awesome! Now let's see how to compile to Mac...". So I tried:

haxelib run flow run mac

Which resulted in an error:

flow / 1.0.0-alpha.1
flow / target is mac ( arch 64 )

flow / project - searching project root /Volumes/DataHD/haxe/Libraries/snowkit/luxe/tests/features/draw
flow / project - using project file /Volumes/DataHD/haxe/Libraries/snowkit/luxe/tests/features/draw/project.flow
flow / build - luxe - test - draw 1.0.0 for mac
flow / build - running haxe ...
flow / build - running hxcpp ...
g++ -Iinclude -c -fvisibility=hidden -stdlib=libstdc++ -O2 -I/usr/lib/haxe/lib/hxcpp/3,1,39/include -DHX_MACOS -m64 -Wno-parentheses -Wno-unused-value -Wno-format-extra-args -DHXCPP_M64 -DHXCPP_VISIT_ALLOCS -DHXCPP_API_LEVEL=0 -frtti -x c++-header -o obj/darwin64//__pch/haxe/hxcpp.h.gch /usr/lib/haxe/lib/hxcpp/3,1,39/include/hxcpp.h
cc1plus: error: unrecognized command line option "-stdlib=libstdc++"
flow / 
 build - stopping because of errors in hxcpp compile

The main thing that seemed to mean anything to me was:

cc1plus: error: unrecognized command line option "-stdlib=libstdc++"

After some research HaxeFoundation/hxcpp#32 I found that adding the following line somewhere between <section id="vars"> and </section> in my .hxcpp_config.xml file located in my home directory fixed the problem:

<set name="HXCPP_GCC" value="1" />

After that, building for Mac worked fine.

Hopefully this was the right place to post about this issue even though it's really a hxcpp problem. I figure there might be someone like me out there not running the latest OSX and also unfamiliar with Haxe who might run into the same problem. Maybe this post will save them a little time and frustration :)

Display log in standard output when running web target.

Right now, we always have to manually open the developer console to display logs. It would be nice if the logs just show up on the standard output, like what happens with c++ target.

I see two ways of doing that:

  1. By letting the client send its log to the node server that launched the app, but it would work only until the server timeouts, and it would only be relevant when running the app from flow command line, not for production apps (well, we may not want those logs in production apps anyway).
  2. By implementing remote debugging protocols provided by the different browsers, but this would probably require more work, and browser specific implementations (I have no idea if the remote debugging protocols are similar between chrome and safari for example).

These are just some ideas. Maybe there would be a better way of addressing this, or a good reason for not doing it !

Keep web server running, only recompile

Hi, currently I have to run 'haxelib run flow run web' (actually ctrl+b in sublime text for me) every time I want to test my new code and this web server stops after 10 seconds of not getting any requests. Is it possible to keep it running and only have the code recompile? This way, I could simply refresh the page once it's ready

Thanks

process; Test node.js execSync

Since updating to node v0.12.7 there is availability of execSync, promises and more.
These should be tested for performance and implementation details.

Setup Question

Hi there, sorry in advance for the newbie question:
I was trying to go through the install process and ran into this:

~/Code/haxe ᐅ haxelib git flow https://github.com/underscorediscovery/flow.git
Installing flow from https://github.com/underscorediscovery/flow.git
Cloning into '/usr/lib/haxe/lib/flow/git'...
remote: Counting objects: 3710, done.
remote: Compressing objects: 100% (1582/1582), done.
remote: Total 3710 (delta 1870), reused 3710 (delta 1870)
Receiving objects: 100% (3710/3710), 14.11 MiB | 227.00 KiB/s, done.
Resolving deltas: 100% (1870/1870), done.
Checking connectivity... done.
Library flow set to use git.
Path: /usr/lib/haxe/lib/flow/git
~/Code/haxe ᐅ flow usage
zsh: command not found: flow
~/Code/haxe ᐅ

  • I m using ZSH (same result in Shell) on mac OSX 10.9.5

Any idea what could be possibly missing?

Feature: Being able to run tests through flow

It would be nice to be able to run (unit) tests through flow. That is, to define a test command that can be executed through flow (e.g. flow test, flow test web) and through sublime_flow.

In the simplest case, the functionality might to execute a command like haxe -main UnitTest.hx -x UnitTest.n -lib mohxa. The flow file format for doing this could be something like:

{
  project : {
    name : 'empty',
    version : '1.0.0',
    author : 'luxeengine',

    app : {
      ...
    },

    build : {
      ...
    },

   test : {
      main_file: 'src/test/UnitTest.hx',
      dependencies : {
        mohxa : '*'
      }
   }

  }
}

Tabs in flow file prevent including snow and luxe but not other libraries

The follow works fine:

{
  flow : {
    build : {
      boot : 'App'
    }
  },

  project : {

    name : 'app',
    version : '0.0.1',
    author : 'hammeron-art',

    build : {
      dependencies : {
        snow : '*'
      },
      files : {
        boot : { path:'flow/boot/App.hx => haxe/App.hx', template:['project'] },
      }
    }

 },

}

But the same settings using tabs instead of spaces (I don't think GitHub will it with tabs here but...):

{
    flow : {
     build : {
            boot: 'App'
        }
    },

    project : {
        name : 'app',
        version : '0.0.1',
        author : 'hammeron-art',

        build : {
            dependencies : {
                snow: '*',
            },

            files : {
                boot : { path:'flow/boot/App.hx => haxe/App.hx', template: 'project' },
            }
        },
    }
}

Throw this error:

C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:48
    b.forEach(function(i) { if (r.indexOf(i) < 0) r.push(i); });
      ^
TypeError: Object project has no method 'forEach'
    at Object.exports.array_union (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:48:7)
    at merge_unique (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:165:31)
    at merge_unique (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:163:23)
    at merge_unique (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:163:23)
    at merge_unique (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:163:23)
    at Object.merge_unique (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\util\util.js:163:23)
    at Object.internal.cascade_project (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\project\prepare.js:219:32)
    at Object.prepare (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\project\prepare.js:58:14)
    at Object.prepare (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\project\project.js:438:21)
    at Object.run (C:\HaxeToolkit\haxe\lib\flow\git\src\flow\cmd\build\build.js:33:22)

Only whem snow or flow is a dependence.
Maybe its the same for other library using flow.

Dependencies with - or . in names

There is way to include packages like greatlib.color or lib-tween with - or . in names? BTW, github, haxelib and npm support that kind of names.

files; --sync

files --sync flag will, at the end of launch only - hang around and sync the project files to the output folder only.

this is flow.project.paths.output

the sync flag will check the list of each node in the prepared project, checking for directories, and feed this to watchr. on change events, the file will immediately be synced into the output folder.

flow; command line defines/flags minus option

When building, it would be useful to be able to remove defines,

i.e
flow build --d -remove_this_define --d some_define_instead

note the - in front, this would subtract that define (if defined at all).
same option might apply to flags.

flow command

Hi! Noob here!

According to most places in the docs, once installed, I should be able to just use 'flow' as a command. However, it isn't working for me and I have to use 'haxelib run flow'. Is this normal? Did I miss a step?

I installed directly using haxelib git [url] and everything seemed to go fine. I'm using the latest OSX Yosemite GM.

Cheers!

Flow doesn't replace periods with commas in library path names.

I'm specifically using the thx libraries, which are named as "thx.culture", "thx.format", etc.

In the haxelib folder, these are stored using commas rather than periods (even though they were installed using haxelib install thx.core):

~/.haxe $ ls
buddy       flow        gltf        hxcpp       hxtemplo    markdown    partials    react       thx,core    thx,format
dox         format      hxargs      hxparse     luxe        mint        promhx      snow        thx,culture tusk

When trying to use the libraries in flow (with periods):

dependencies: {
    "thx.culture": "*",
    "thx.format": "*"
}

The generated .hxml contains:

-cp /Users/kenton/.haxe/thx.culture/0,4,0/
-cp /Users/kenton/.haxe/thx.culture/0,4,0/src/
-cp /Users/kenton/.haxe/thx.format/0,5,1/
-cp /Users/kenton/.haxe/thx.core/0,37,1/
-cp /Users/kenton/.haxe/thx.core/0,37,1/src/

(the folders of which do not exist as haxelib replaces the periods with commas).

If, you instead use commas in the flow file as such:

dependencies: {
    "thx,culture": "*",
    "thx,format": "*"
}

Flow fails with the message:

flow / prepare - failed due to missing dependencies!
flow / you will probably need to use haxelib to correct this.

flow / > thx,culture *
flow / > thx,format *

splash; ios implementation

splash command will be similar to icons in that it simply copies folders across for iOS and Android. each target has a specific setup.

Sublime Text packages not found

Added these repositories:
https://github.com/underscorediscovery/sublime_haxe_completion
https://github.com/underscorediscovery/sublime_flow
Sublime Text said they were registered successfully.

Then tried to install these packages:
sublime_flow
sublime_haxe_completion
But no matching packages were found. Hopefully I'm not missing something obvious, I'm not a Sublime Text package wizard but I have successfully installed and used other packages.

I'm on Mac 10.9.5 (Mavericks), Sublime Text 3 (Build 3065)

doc/example of haxe, hxcpp flags getting through flow

hi, I'm trying to follow http://gamehaxe.com/2012/09/14/hxcpp-built-in-debugging/ to profile. It is not at all clear to me how to get the flags e.g. HXCPP_STACK_TRACE to go from my project.flow file through the Haxe compiler, and also to HXCPP successfully. I am trying

  build : {
            flags: [ '-D HXCPP_DEBUG_LINK', '-D DHXCPP_STACK_TRACE', '-D HXCPP_STACK_LINE' ],
            dependencies : {
                luxe : '*',
            }
        },

but when I run with --log 5 I can see those in some places, but not in each line of cpp compliation.

$ grep -n STACK_TRACE /tmp/l2
296:  DHXCPP_STACK_TRACE: 
297:   { name: 'DHXCPP_STACK_TRACE',
417:-D DHXCPP_STACK_TRACE
609:-D DHXCPP_STACK_TRACE
757:flow / build - cpp - Options.txt contents: DHXCPP_STACK_TRACE=1 HXCPP_DEBUG_LINK=1 HXCPP_STACK_LINE=1 arch-32=1 arch_32=1 desktop=1 haxe3=1 haxe_ver=3.2 hxcpp=1 hxcpp_api_level=321 hxcpp_static_std=1 linux=1 luxe=1 luxe_native=1 no-compilation=1 no_compilation=1 parcel_thread_disabled=1 snow=1 snow_dynamic_link=1 snow_module_audio_openal=1 snow_module_input_sdl=1 snow_module_windowing_sdl=1 snow_native=1 hxcpp=/usr/lib/haxe/lib/hxcpp/3,2,102/

Occasionally, a broken pipe causes flow build to fail

Sometimes (maybe once out of every ten) build attempts fail in the following manner:

$ flow run
flow / 1.0.0-alpha.1
flow / target is mac ( arch 64 )

flow / project - searching project root /Users/nissen/code/snowkit/test
flow / project - using project file /Users/nissen/code/snowkit/test/project.flow
flow / build - test 0.0.1 for mac
flow / build - running haxe ...
/usr/lib/haxe/std/neko/_std/Sys.hx:25: characters 10-28 : Broken pipe
/usr/lib/haxe/lib/haxelib_client/3,1,0-rc,4/tools/haxelib/Main.hx:1244: characters 2-21 : Called from
/usr/lib/haxe/lib/haxelib_client/3,1,0-rc,4/tools/haxelib/Main.hx:300: characters 5-25 : Called from
/usr/lib/haxe/lib/haxelib_client/3,1,0-rc,4/tools/haxelib/Main.hx:1248: characters 2-22 : Called from
--macro:1: character 0 : Called from
Aborted

This error has been observed building both from the command line and from Sublime Text using the flow-plugin.

Following the stack trace, haxelib seems to fails in getRepository() in haxelib/Main.hx. Strangely, inserting trace in that function causes the following error:

$ flow run
/usr/lib/haxe/lib/haxelib_client/3,1,0-rc,4/tools/haxelib/Main.hx:695: inserted dummy trace
flow / 1.0.0-alpha.1
flow / target is mac ( arch 64 )

flow / project - searching project root /Users/nissen/code/snowkit/test
flow / project - using project file /Users/nissen/code/snowkit/test/project.flow
flow / build - test 0.0.1 for mac
flow / build - running haxe ...
Error: Could not process argument /usr/lib/haxe/lib/hxcpp/3,1,39/
Class name must start with uppercase character

To me, this seems to indicate that the haxelib output is used by flow/hxcpp and there might be some race condition causing this to fail non-deterministically. This is only speculations though.

Any ideas?

flow.timing flag

measure everything that makes sense and allow them to be logged. perhaps a special mode for log 2 that shows them alongside.

this is already around the code (just look for flow.timing) but should be rounded out and called complete.

error when snow isn't first on dependency list

path.js:204
            throw new TypeError('Arguments to path.join must be strings');
            ^
    TypeError: Arguments to path.join must be strings
        at f (path.js:204:15)
        at Object.filter (native)
        at Object.exports.join (path.js:209:40)
        at Object.run (C:\Projects\flow\src\flow\cmd\icons\icons.js:31:24)
        at C:\Projects\flow\src\flow\flow.js:32:21
        at Object.verify (C:\Projects\flow\src\flow\cmd\icons\icons.js:75:5)
        at Object.flow.execute (C:\Projects\flow\src\flow\flow.js:29:13)
        at Object.exports.run (C:\Projects\flow\src\flow\cmd\build\builder.js:35:10)
        at internal.step_one (C:\Projects\flow\src\flow\cmd\build\build.js:71:21)
        at Object.internal.run_stage (C:\Projects\flow\src\flow\cmd\hooks\hooks.js:62:13)

Happens when snow : '*' isn't first on the dependency list.

possible to create dependency recursion

consider:

haxelib git libA <libA url>
haxelib git libB <libA url>

If libA depends on libB, it will now infinitely query the dependencies of libB (since it refers to itself indirectly).

One solution that doesn't create inflexibility is a configurable maximum depth for the dependency tree, in order to catch this easier. Other options (like checking the haxelib.json content name vs the haxelib name) might work as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.