Commit Graph

181 Commits

Author SHA1 Message Date
Antonin Décimo
c1688d281d Add main function. Update Makefile accordingly. 2015-09-28 09:55:20 +02:00
Antonin Décimo
8acc70afd4 Fix for #23, but Windows icons doesn't work yet. 2015-09-06 19:57:31 +02:00
Antonin Décimo
1a70aa54a6 Add dependency check 2015-08-30 15:51:07 +02:00
Antonin Décimo
b5c73fef0f Doc cleanup 2015-08-30 15:34:24 +02:00
Antonin Décimo
e20238a6ac Bug fixes on OS X, add GNU readlink as deps #20
Makefile:
- short help was not properly created

love-release.sh:
- script aborts if GNU getopt is not found
- add GNU readlink as dependency, will check for greadlink too

README.md:
- add GNU readlink as dependency
2015-07-12 16:20:11 +02:00
Antonin Décimo
ae3b742c45 Replace realpath by readlink #21 2015-07-09 11:45:03 +02:00
Antonin Décimo
661f041216 Changed --W arch to -W arch, fix win not executing 2015-07-09 11:29:51 +02:00
Antonin Décimo
a078106148 Compatibility GNU/BSD, fix #20
Changed `sed -r` to `sed -E`. OSX does not support `sed -r` while
FreeBSD does. GNU sed seems to support `sed -E` even if it is not
in the man page.
Changed install command.
2015-07-06 12:19:33 +02:00
Antonin Décimo
d4291daf92 Clean documentation, add dependencies 2015-06-26 19:35:13 +02:00
Antonin Décimo
3034c43cc0 Rewrite example.sh to modules.md 2015-06-26 19:34:17 +02:00
Antonin Décimo
0e9c8b624d Add modules options in short help 2015-06-26 19:21:27 +02:00
Antonin Décimo
b968ddbc82 Stop if there is no main.lua file 2015-06-26 19:21:27 +02:00
Antonin Décimo
55e7685fa1 Rewrite Android module 2015-06-26 19:21:27 +02:00
Antonin Décimo
d0d40950d4 Rewrite Mac OS X module 2015-06-26 19:21:27 +02:00
Antonin Décimo
4cda1607e9 Reimplement option to exclude files 2015-06-26 19:21:27 +02:00
Antonin Décimo
48bda5fbc1 Rewrite Windows module
TODO: check if there is no problems with icons and installer
2015-06-26 19:19:53 +02:00
Antonin Décimo
9ebfe82e6b Rewrite Debian module 2015-06-26 18:42:09 +02:00
Antonin Décimo
ba6537c7ae Bug fixes
- dot files are now properly excluded when zipping
- add PROJECT_DIR variable
- add new deps exit in module_exit
- an optional error message can be passed to module_exit
- escaped characters will now be interpreted in error messages
- fix in compare_version
2015-06-26 15:42:59 +02:00
Antonin Décimo
1d6443044f Little fix in read_config 2015-06-24 01:50:47 +02:00
Antonin Décimo
2ce23ea032 Fix init_module and default module 2015-06-24 01:20:45 +02:00
Antonin Décimo
2dc8fd07d5 Update bash completion 2015-06-24 00:23:03 +02:00
Antonin Décimo
979ddf5719 Options can be prefixed for a specific module
Options can now be prefixed to be used only for the module the prefix
corresponds to. For example `--author` will set the author's name for
the whole project, but `--Wauthor` will set it for Windows only and
`--Dauthor` for Debian only.

If a module requires new options, they will be automatically prefixed at
compilation.
Most of the modules options have been renamed for consistency.

The `read_option` function was added to parse the default options.
It can use a prefix to parse the options for a module.

Each module now has a specific directory in the cache to allow
per-module cache cleaning.
2015-06-23 22:32:26 +02:00
Antonin Décimo
63bb8cc807 Add new options, rename some
Modules options have been capitalized.
"project's name" was renamed to "project's title".
Many options to set global variables were added.
"--clean" option was reimplemented.
2015-06-23 17:41:01 +02:00
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
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
6e58597f36 Small improvements, changed x86 to x32 2015-06-16 13:35:17 +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
06d5369877 Change windows options 2015-06-13 17:22:11 +02:00
Antonin Décimo
9830124a31 Include scripts/love.sh into main script 2015-06-13 14:16:02 +02:00
Antonin Décimo
ea90092ead Fix typos 2015-06-13 01:27:12 +02:00
Antonin Décimo
9dd8d37d3d Changes in build/install, config, modules, cli 2015-06-13 01:12:04 +02:00
Antonin Décimo
4b82ba100c Add get_user_confirmation function 2014-10-11 10:19:15 +02:00
Antonin Décimo
c04739df10 Better installation process
- ask user confirmation
- detects if love-release should be installed system-wide or in user
  space
- moved completion form /etc/bash_completion.d/love-release to
  /usr/share/bash-completion/completions/love-release
2014-10-04 09:56:57 +02:00
Antonin Décimo
691b38767a Clarify windows installation doc 2014-09-28 00:41:15 +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
32a6ffe060 Fix -x option when passing directories. Better zip 2014-09-18 21:24:22 +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
deff81117d Now downloads dependencies at installation time 2014-09-06 14:01:33 +02:00
Antonin Décimo
c076e59a1a Bug fixes
- when arguments containing spaces where passed, following options would
  be ignored
- love-release was not marked as executable
- fix typos
2014-09-06 13:59:39 +02:00
Antonin Décimo
dccf390820 Add tab-completion support 2014-09-04 11:55:21 +02:00