hxmake
hxmake copied to clipboard
Build automation for Haxe
hxmake
Build tools for Haxe
Installation
haxelib install hxmake
haxelib run hxmake _
Enter system password if required to install alias
Usage
hxmake - run hxmake
hxmake _ - rebuild hxmake tool and reinstall command-line alias
hxmake all arguments you need - usage
hxmake idea haxe - run idea and haxe tasks for project
Examples
- General multi-module project: https://github.com/eliasku/hxmake-example
hxmakelibrary module: https://github.com/eliasku/hxmake/blob/develop/make/HxMake.hx
Running steps and environment
- Linked modules are scanned from current-working-directory (Haxe compiler)
- Build scripts class-path are added at compile-time (Haxe compiler)
- Compiled make program is running (Haxe interpreter or Neko stand-alone application)
Status
Is under development
What is hxmake about
- Delivering make scripts and building tasks for Haxe projects
- Haxe language for everything: makes, tasks, plugins, whatever
- Should run on MacOS / Windows / Linux
Cache your make program cases
You able to add --haxe to arguments, in this case hxmake will be runned in compile-time on macro context,
By default file make.n will be generated and executed with your current neko. This program will include all your built-in arguments,
but you able to run it with additional arguments. You need to recompile your make if you modify your make-scripts or
change your project in multi-module perspective.
Regular make program:
hxmake - just build your make program
neko make.n test --override-test-target=js - for example, run your make program with additional arguments
Specified make program:
hxmake test --override-test-target=js - build make program which will always run test task for js target
neko make.n --override-test-target=flash - and run your test task, but for js and flash target
Built-in Tasks
hxmake _ - Rebuild and install hxmake binary
hxmake modules - Prints modules in structure of project
hxmake tasks - Prints list of available tasks
Built-in Options
--verbose: Enables debug and trace log levels
--silent: Mute logger output
--make-compiler-log: Enables compile-time logging from CompileTime.log
--make-compiler-mode: Run make in haxe compiler-mode --interp (EXPEREMENTAL)
--make-compiler-time: Show Haxe compiler time statistics, adds --times -D macro-times
Logging
Use MakeLog or project.logger methods for logging in your tasks.
Use CompileTime.log for compilation logging.
Development
- Install with
haxelibfrom git repository
haxelib git hxmake https://github.com/eliasku/hxmake.git
- or checkout manually and set to local directory using
haxelib devcommand
haxelib dev hxmake path/to/hxmake
- Then do initial rebuild command
haxelib run hxmake _
Task running details
Task will be ran in current working directory of associated module.
Default Task / Sub-Tasks / Functions running order:
-
Sub-Tasks added with
prependmethod. -
Functions registered with
doFirstmethod. -
Task's
runlogic. -
Functions registered with
doLastmethod. -
Sub-Tasks added with
thenmethod.