Awesome
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
hxmake
library 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
haxelib
from git repository
haxelib git hxmake https://github.com/eliasku/hxmake.git
- or checkout manually and set to local directory using
haxelib dev
command
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
prepend
method. -
Functions registered with
doFirst
method. -
Task's
run
logic. -
Functions registered with
doLast
method. -
Sub-Tasks added with
then
method.