Commit Graph

5 Commits

Author SHA1 Message Date
Antonin Décimo
6302efed97 Options & file args support with GNU getopt
Short options are stored in the OPTIONS variable, and longs in
LONG_OPTIONS. Modules scripts need to add theses to be able to use
options. Theses lines are then parsed by sed at make-time and added to
the corresponding variable in the main script.

init_module now requires a third argument corresponding to the option
that will trigger the execution of the module.

Files can also be passed by argument to zip. They are stored in the
FILES array.

check_deps:
    - add dependency check for GNU getopt,
    - echo errors to stderr

gen_version now returns 0 on success and 1 on failure.

Add short_help function. Shown if -h options is passed, or on parsing
options failure.

exit_module:
    - add 'options' exit value if there is an error while parsing the
      options,
    - add 'version' exit value if there is an error while generating
      LÖVE version from user input.

dump_var shows files to zip.

Script will now exit if it has not been embedded nor installed.
Fix bugs with default module.
2015-06-22 22:54:49 +02:00
Antonin Décimo
3b48234432 Install example.sh 2015-06-16 21:12:31 +02:00
Antonin Décimo
2c588118af Modules and functions have return values
Modules can now use return values with the exit_module function.
Some return values are predefined, use them by passing special string
to the function.

Most of the functions also switched from a echo "true" to return 0
scheme, which means that every test involving theses functions was
rewritten.

No more need for the reset_vars function, as modules are run in
subshells, thus providing a new scope level.

The case when no modules is specified is better handled, a LÖVE file is
created by default.
2015-06-16 17:38:44 +02:00
Antonin Décimo
72ada933f1 Improves modules sourcing
A module should always begin with a test to `execute_module` to see if
it should be executed. As modules are always sourced
(even when embedded), a simple `return` will stop the subscript.

Modules are executed in a subscript, so the global space will not be
polluted, and will also be reset after the execution of the module.

This commit also solves some bugs in Makefile and lua parser.
2015-06-16 13:33:43 +02:00
Antonin Décimo
9dd8d37d3d Changes in build/install, config, modules, cli 2015-06-13 01:12:04 +02:00