Code Monkey home page Code Monkey logo

hxmake's Introduction

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.

hxmake's People

Contributors

eliasku avatar ilya-ku avatar romanmikhailov avatar romanmikhailovplaytika avatar mayakwd avatar vitaliykay avatar

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.