Skip to content
This repository has been archived by the owner on Jun 6, 2021. It is now read-only.

ExMake 0.1.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@alexrp alexrp released this 17 Aug 13:15
· 68 commits to master since this release

This is another alpha-quality release, adding various bug fixes, enhancements, and optimizations.

Fixes:

  • Error out if a phony rule depends on a file that doesn't exist and cannot be built.
  • Provide better stack traces in debug mode when an exception is caught in a job runner.
  • Fix a pattern match failure that could happen in the Erlang library if a rule had header dependencies.
  • Fix the "recipe changed directory" error to actually say what it means.
  • Ensure library paths are expanded into absolute paths before adding them.
  • Correctly invalidate the environment table cache if a script file changes.

Enhancements:

  • Wrap the DAG creation process in a timing pass.
  • Add a module for compiling Elixir source code.
  • Allow specifying output directory in Erlang rules.
  • Add a manifest macro to specify files to be considered sources of the build cache.
  • Lift the arbitrary restriction that recurse paths could not contain path separators.
  • Change into the directory the file given to --file is located in, and lift a similar separator restriction.

Optimizations:

  • Add module caching by using a manifest file in the cache directory.
  • If --clear is passed, immediately assume that the cache is stale.

Built with Elixir 0.10.1.