29 releases
0.9.3 | Sep 18, 2024 |
---|---|
0.9.2 | Jul 2, 2024 |
0.9.1 | May 15, 2024 |
0.8.3 | Dec 12, 2023 |
0.1.2 | Oct 6, 2020 |
#617 in Command line utilities
240KB
3.5K
SLoC
adam
I am thy creature: I ought to be thy Adam, but I am rather the fallen angel, whom thou drivest from joy for no misdeed. -- Frankenstein's Monster in Frankenstein by Mary Shelly
adam is a command-line utility for compiling GameMaker projects on Windows and macOS. Invoking adam is trivial:
adam run
This will compile your project, run it, and give you stdout ("show_debug_message"
) with colorization and links. adam
supports compiling with the VM (default) and the YYC (by passing in --yyc
). adam
also supports faster recompilation than GameMaker does, so if users recompile a game without making changes, their game will instantly load, without invoking the compiler at all. This is especially useful, since adam
easily allows you to run multiple instances of your game at the same time on your machine.
adam
will place all its generated artifacts within a folder relative to the working directory -- by default, it will use "target"
as its output output. It is highly advised that you add your output directory to your .gitignore.
COMMANDS
run
: Builds and runs the project.
build
: Builds a project without running it (but will report compile errors)
release
: Builds a zip of the project (only available for users with an Enterprise license)
clean
: Cleans the output directory
test
: Runs the game after setting user-defined environment variables. See the config file guide for more information.
You can also run adam help
to see a more detailed version of the above.
INSTALLATION
The best way to install adam is through cargo:
cargo install adam
You can get cargo by install Rust.
CHANGELOG AND ROADMAP
Please see the CHANGELOG for release history, and the ROADMAP for planned features.
CUSTOMIZATION
You will likely need to customize an adam
command for most usages. To see CLI options, simply run adam run --help
:
Of special note, please see --yyc
, which will allow users to compile using the YYC, and -c
, which allows users to pass in a configuration.
However, passing in numerous values every compile can become tiresome. To support this, users can create a config file in either JSON
or TOML
, where these options can be specified. To create an adam configuration file, please follow this guide.
CHECK
Running adam check
will invoke scripts if you set up them up in your configuration file.
These scripts will also have the following environment variables set:
Name | Value |
---|---|
ADAM_CHECK |
1 |
ADAM_YYC |
0 or 1 |
ADAM_CONFIG |
String |
ADAM_VERBOSITY |
Number |
ADAM_OUTPUT_FOLDER |
String |
ADAM_IGNORE_CACHE |
Number |
LICENSE
Dual-licensed under MIT or APACHE 2.0.
Dependencies
~24–35MB
~522K SLoC