Commit Graph
31 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 6eb5c998f2 Move example, remove assets, add gitignore 2015-06-16 17:44:48 +02:00
Antonin Décimo 16387f4f7e Merge execute_module in init_module 2015-06-16 17:39:46 +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 9830124a31 Include scripts/love.sh into main script 2015-06-13 14:16:02 +02:00
Antonin Décimo 128a1a6793 Add Windows installer with Inno Setup ! 2014-09-27 17:32:07 +02:00
Antonin Décimo 21c6e2c22a MacOS app respects symlinks, also completes files 2014-09-24 23:34:46 +02:00
Antonin Décimo 33e2a439df Fix bugs with icon directory argument 2014-09-21 12:51:09 +02:00
Antonin Décimo 3ad8269ac9 Bug fixes, close #15
- rename --activity to --apk-activiy,
- support absolute or relative path for icon directory argument,
- rename love-LOVE_VERSION-winXX to PROJECT_NAME-winXX inside windows
  release zip.
2014-09-21 12:08:59 +02:00
Antonin Décimo 835257d805 OUYA icons, #3 2014-09-20 22:32:33 +02:00
Antonin Décimo 02f1738297 Android pkg now supports icons through --apk-icon. #3 2014-09-20 00:28:03 +02:00
Antonin Décimo de470cb930 Cleaned up Debian script 2014-09-18 22:04:00 +02:00
Antonin Décimo 5eab2d841d Debian pkg now supports icons through --deb-icon. #3 2014-09-18 21:55:47 +02:00
Antonin Décimo 2b172f4f23 Should fix #6. Thanks to @nunodonato for reporting this 2014-09-17 13:37:44 +02:00
Antonin Décimo dccf390820 Add tab-completion support 2014-09-04 11:55:21 +02:00
Antonin Décimo 465030dbeb Little fixes. Description and Homepage now global. 2014-09-04 10:37:59 +02:00
Antonin Décimo 967a483355 Register options that takes files as argument to exclude these files for every build 2014-08-24 11:12:57 +02:00
Antonin Décimo fd4e0195a7 Conflicting options are now prefixed #8 2014-08-23 11:51:53 +02:00
Antonin Décimo 5bbf17401a Add configuration. See #5 #8.
What's new:
- --config flag to pass a INI config file to parse. See config.ini.
- Updated the modules scripts for configuration. Now needs to unset
  variables passed by CLI or config.
- Fix release directory that was added in love file (maybe).
- Properly escapes sed arguments.
- chmod +x to getopt.sh and read_ini.sh
- Fix #12
2014-08-22 14:07:44 +02:00
Antonin Décimo 9a19a87a08 Add modules documentation. Possible workaround for #5 2014-08-20 23:53:34 +02:00
Antonin Décimo d0c14011c6 Add --filesync option. Love file stays in release dir 2014-08-20 10:28:07 +02:00
Antonin Décimo a3ac751f9e Add zip compression level option. Fix exit_module function 2014-08-20 10:15:40 +02:00
Antonin Décimo f2b0c454f0 Add Mac OS X module 2014-08-19 21:14:20 +02:00
Antonin Décimo 478d385412 Add Android module 2014-08-19 17:18:57 +02:00
Antonin Décimo 3c1af29321 Various little fixes 2014-08-19 17:15:29 +02:00
Antonin Décimo 5fb41ff660 Add Debian module 2014-08-19 16:27:41 +02:00
Antonin Décimo 6d641c951c Add Windows module 2014-08-19 12:35:58 +02:00
Antonin Décimo 3c734d62d1 Add plain Love file module 2014-08-19 11:11:02 +02:00
Antonin Décimo 055076454a Rename scripts to include to better match the purpose of the dir 2014-08-19 09:53:59 +02:00
Rucikir 0f305bd3cc Create getopt.sh 2014-08-09 17:32:06 +03:00