Git Product home page Git Product logo

hxnew's Introduction

hxnew

Build Status Haxelib Version

Create new Haxe projects in a blast!
This tool is meant to create a plain Haxe project. Run it once.

Installation

Install using haxelib:

haxelib install hxnew

How to use

haxelib run hxnew -name MyProject

This will create a js project with this directory structure:

MyProject/bin/index.html
MyProject/src/Main.hx
MyProject/.gitignore
MyProject/.travis.yml
MyProject/build.hxml
MyProject/haxelib.json
MyProject/makefile
MyProject/README.md
MyProject/release_haxelib.sh
MyProject/MyProject.hxproj

haxelib run hxnew -name MyProject -pack com.company.tool

This will create a js project with same directory structure as above but the Main class located in the com.company.tool package.

MyProject/src/com/company/tool/Main.hx

haxelib run hxnew -name MyProject -target neko,nodejs -lib hxargs,format

This will create a neko + nodejs project with this directory structure:

MyProject/bin/
MyProject/src/Main.hx
MyProject/.gitignore
MyProject/.travis.yml
MyProject/build-neko.hxml
MyProject/build-nodejs.hxml
MyProject/haxelib.json
MyProject/install.hxml
MyProject/makefile
MyProject/README.md
MyProject/run-neko.hxml
MyProject/run-nodejs.hxml
MyProject/release_haxelib.sh
MyProject/MyProject.hxproj

haxelib run hxnew -name MyProject --lix

This will create a lix.pm project. It creates a package.json and requires all libraries using lix!

Notes:

  • When providing a lib, an install.hxml is created. Run this to install the project dependencies.
  • The run files start the process to run the code

Command line help

[-name | -n] <name>      : Name of the project. required
[-include | -i] <path>   : Folder to include in project
[-out] <path>            : Project out folder. default: same as name
[-src] <path>            : Class path source folder. default: 'src'
[-cp] <path>             : Additional class path
[-bin] <path>            : Output folder. default: 'bin'
[-lib | -libs] <libs>    : Libs used in the project, comma separate
[-target | -t] <targets> : Target languages, comma separate. Or "all" for all targets. Default: 'js'
[-pack] <classPath>      : Package of the entry point
[--lix]                  : Use Lix.pm. Assumes global available `npm` command
[--makefile]             : Generate a makefile
[--no-haxedevelop]       : Don't generate HaxeDevelop project files
[--no-main]              : Don't generate a Main.hx file
[--no-readme]            : Don't generate README.md
[--no-gitignore]         : Don't generate .gitignore
[--no-haxelib-json]      : Don't generate a haxelib.json
[--no-travis]            : Don't generate Travis files
[--version | -v]         : Log version

hxnew's People

Contributors

bsinky avatar gama11 avatar markknol avatar

Stargazers

 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

hxnew's Issues

add makefile

test:
    haxe test.hxml -neko bin/test.n --times -D macro_times
    neko bin/test.n

test-java:
    haxe test.hxml -java bin/java --times -D macro_times -D erase-generics
    java -jar bin/java/TestAll.jar

test-cpp:
    haxe test.hxml -cpp bin/cpp --times -D macro_times
    bin/cpp/ImplicitScopeTests

test-hl:
    haxe test.hxml -hl bin/hl.c --times -D macro_times
    gcc -o bin/hl-app hlruntime.a bin/hl.c

test-cs:
    haxe test.hxml -cs bin/cs --times -D macro_times -D erase_generics
    bin/cs/bin/TestAll.exe

test-py:
    haxe test.hxml -python bin/test.py --times -D macro_times
    python3 bin/test.py

test-lua:
    haxe test.hxml -lua bin/test.lua --times -D macro_times
    lua bin/test.lua

test-swf:
    haxe test.hxml -swf bin/test.swf --times -D macro_times
    flashplayerdebugger bin/test.swf

test-js:
    haxe test.hxml -js bin/test.js -D nodejs --times -D macro_times
    node bin/test.js

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.