Task automation for Haxe multi-module projects


Keywords
build, cross, haxe, haxelib, make, module, neko, project, tools
License
MIT
Install
haxelib install hxmake 0.2.10

Documentation

hxmake

Build tools for Haxe

Build Status Build Status

Lang Version License

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

Running steps and environment

  1. Linked modules are scanned from current-working-directory (Haxe compiler)
  2. Build scripts class-path are added at compile-time (Haxe compiler)
  3. Compiled make program is running (Haxe interpreter or Neko stand-alone application)

Status

Is under development

What is hxmake about

  1. Delivering make scripts and building tasks for Haxe projects
  2. Haxe language for everything: makes, tasks, plugins, whatever
  3. 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:

  1. Sub-Tasks added with prepend method.

  2. Functions registered with doFirst method.

  3. Task's run logic.

  4. Functions registered with doLast method.

  5. Sub-Tasks added with then method.