Commit Graph
100 Commits
Author SHA1 Message Date
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
Antonin Décimo 465030dbeb Little fixes. Description and Homepage now global. 2014-09-04 10:37:59 +02:00
Antonin Décimo bcdda5ac7e Fix issues with sed. Fix typo in github url. 2014-08-27 22:33:03 +02:00
Rucikir b708ae13bb Fix typo 2014-08-24 11:29:43 +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 fc063815fb Add -x option to exclude files. #8 #11 2014-08-23 11:10:58 +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 83a5f111b7 Moved back -g option to -a 2014-08-20 23:54:25 +02:00
Antonin Décimo 9a19a87a08 Add modules documentation. Possible workaround for #5 2014-08-20 23:53:34 +02:00
Antonin Décimo 66d72e7619 Forgot to add -n and -r options again... 2014-08-20 11:03:54 +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 cfa93f61d1 Remove fallback to .love, print error msg instead. Fix doc. Close #10 2014-08-20 09:33:21 +02:00
Antonin Décimo f2b0c454f0 Add Mac OS X module 2014-08-19 21:14:20 +02:00
Antonin Décimo 530ee0f3de Change option --refresh to --clean 2014-08-19 18:49:13 +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 a0c572ee0e Create install.sh 2014-08-19 11:02:36 +02:00
Antonin Décimo 1540f50ebb love-release is now modular
I have removed the platform-specific scripts form the main script an I
intend to store them in a specific location where they can be sourced by
the main script.
The mechanism to add a subscript is fairly simple. It is all explained
with comments inside the script.

I also moved out form the main script the getoptex function for
clarification into an include directory that will be use to store an
eventual INI parser later.
2014-08-19 10:52:35 +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
Antonin Décimo 7f6ca6a343 Merge branch 'master' into modules 2014-08-18 19:01:00 +02:00
Rucikir 40cf9e77c8 Create love-release.1 2014-08-09 17:40:04 +03:00
Rucikir 0f305bd3cc Create getopt.sh 2014-08-09 17:32:06 +03:00
MisterDA 6b4c7e2475 Fix bash stuff: functions and shebang. 2014-07-26 20:18:49 +02:00
Antonin Décimo 194fa0a2e6 Add --activity and --update-repo options. Fix things. 2014-07-21 16:35:57 +02:00
Antonin Décimo 1dd938cb48 Add help. Candidate for merging ? 2014-07-21 14:56:35 +02:00
Antonin Décimo 1370745417 Cannot build if love version differs from love-android-sdl2. Minor improvements. 2014-07-21 13:59:34 +02:00
Antonin Décimo 42a83c9cc9 Replace the use of a predefined AndroidManifest, by sed commands 2014-07-21 12:02:26 +02:00
Antonin Décimo 6787b07026 Copy the apk in the release directory 2014-07-21 02:18:23 +02:00
Antonin Décimo 218650f831 Remove newlines that invalidated the XML file and caused the build to fail 2014-07-21 02:14:44 +02:00
Antonin Décimo 2bd0d7c5b2 Now also remove src/com when creating a new package 2014-07-21 01:55:21 +02:00
Antonin Décimo de4f6ef4c9 Better git integration. 2014-07-21 01:19:21 +02:00
Antonin Décimo 3e4e505e8a Merge branch 'master' into android 2014-07-21 00:18:46 +02:00
Antonin Décimo 032237b216 Fix bug where lua and conf.lua were found, but t.version was not specified 2014-07-21 00:17:21 +02:00
Antonin Décimo 3eaccfa757 Basic android support. Doesn't work yet. 2014-07-20 16:03:00 +02:00
Antonin Décimo 270e6fb297 Add lines breaks. Change other few things. 2014-07-18 16:20:26 +02:00
Antonin Décimo c7f130d34f Rewritten long help to Groff syntax. Now uses man to display 2014-07-18 16:19:45 +02:00
Antonin Décimo 1ed78ed25b Add desktop file for Linux. Bug fixes. 2014-07-17 21:14:45 +02:00
Antonin Décimo 3dad981554 Add Debian packages support. Thanks to @josefnpat. 2014-07-17 19:00:56 +02:00
Antonin Décimo 8bd0f92062 Removes __MACOSX 2014-06-23 12:25:38 +02:00
Antonin Décimo 75039caef3 Escapes paths to prevent errors when filename contains special chars 2014-06-23 12:23:13 +02:00
Antonin Décimo 319ee48951 Switched from bc to an awk function 2014-06-23 11:52:12 +02:00
Antonin Décimo 9253fbcaf5 lua version detection of the game would trigger even if conf.lua wasn't present 2014-06-23 11:21:57 +02:00
Antonin Décimo 6dd5b9549c Add a note on icons for further thoughts. 2014-05-29 13:30:52 +02:00
Antonin Décimo 924d014857 Some cleanup and bug fixe 2014-05-29 12:16:56 +02:00
Antonin Décimo 90cf996f1c Support of ico for Windows games. (Wine + ResourceHaker) 2014-05-28 23:52:25 +02:00
Antonin Décimo b6a8307a1e Forgot a + in regex 2014-05-20 21:58:41 +02:00
Antonin Décimo ea028f0448 Use Lua itself to find the version of the project 2014-05-20 21:47:01 +02:00
Antonin Décimo 2402cc4257 Just adds an useful summary 2014-05-19 22:52:19 +02:00
Antonin Décimo 5933c832d0 Add "" over every test, few fixes too 2014-05-19 22:31:44 +02:00
Antonin Décimo 3650c89948 Right in the Grammar ! 2014-05-19 21:48:20 +02:00
Antonin Décimo adcbd10b8d Should now autodetect the Love version used. 2014-05-19 21:44:25 +02:00
Antonin Décimo 72bf9c45c0 Will exclude all files beginning with . 2014-05-01 13:36:58 +02:00
Antonin Décimo a0339927e9 Fix MacOS icns, dropped version detection 2014-05-01 12:35:08 +02:00
Antonin Décimo bf14ac7066 Remove icon support for Windows, but add it for MacOS instead 2014-04-23 10:41:38 +02:00
Antonin Décimo 21853e3acd Erase error message if game.ico does not exist 2014-04-21 22:18:46 +02:00
Antonin Décimo 0a846677ae game.ico is now properly recognized and used with Windows 2014-04-21 22:03:09 +02:00
Antonin Décimo d3a8b8d3a9 Fix indent 2014-04-21 21:32:11 +02:00
Antonin Décimo c9b85033e2 Can now auto detect the Love version the project uses 2014-04-21 21:25:37 +02:00
MisterDA ae8541c147 Now with 0.9.1 2014-04-20 18:09:54 +02:00
Antonin Décimo 3c06184a18 Add Love default version. Can be updated to follow Love dev. 2014-01-21 20:19:36 +01:00
Antonin Décimo dcfe22a001 Little improvement: zip -9 2013-12-23 00:13:35 +01:00
Antonin Décimo 5c889bbafa Add full 0.9.0 support, and a better help. Remove Love nightlies, configuration and Debian. 2013-12-22 20:26:28 +01:00