Doc cleanup

This commit is contained in:
Antonin Décimo
2015-08-30 15:34:24 +02:00
parent e20238a6ac
commit b5c73fef0f
2 changed files with 54 additions and 47 deletions

View File

@@ -1,11 +1,16 @@
### NAME ### NAME
`love-release.sh` -- Bash script to generate [LÖVE](https://love2d.org/) game releases [love-release][] -- Bash script to generate [LÖVE][] game releases
Automate LÖVE [Game Distribution][].
### INSTALLATION ### INSTALLATION
`love-release` relies on `GNU getopt` and `GNU readlink` (OSX and BSD users need to install them), `curl`, `zip` and `unzip`. #### Dependencies
You need to have `lua` installed to be able to read the configuration. - Bash 4
You also need Wine to get icons and installer for Windows, the Debian pakaging utilities for Debian and the Android SDK to build a package for Android. - `GNU getopt` and `GNU readlink`. OSX/BSD users need to install them. You can add `GETOPT_COMPATIBLE=` in your shell rc to prevent incompatibilities.
- `curl`, `zip` and `unzip`.
- `lua` to read the configuration.
You also need Wine to get icons and installer for Windows, the Debian packaging utilities for Debian and the Android SDK to build a package for Android.
#### Build and install
First clone the repository, then you have two choices: First clone the repository, then you have two choices:
- you can build the script and install it on your system, and benefit of command-line completion, man page and extensibility, - you can build the script and install it on your system, and benefit of command-line completion, man page and extensibility,
- or make an embedded version with every thing you need in one file. - or make an embedded version with every thing you need in one file.
@@ -43,9 +48,7 @@ See the `conf.lua` file included to see how configuration works.
#### OPERATING SYSTEMS #### OPERATING SYSTEMS
`-A` Create an Android package. `-A` Create an Android package.
In order to create an Android package, you must have installed the Android SDK. In order to create an Android package, you must have installed the Android SDK.
See [Building LÖVE for Android](https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Building_L%C3%96VE_for_Android_-_Linux), See [Building LÖVE for Android][], but there is no need to install the [LÖVE port to Android][], as the script will handle this by itself.
but there is no need to install the [LÖVE port to Android](https://bitbucket.org/MartinFelis/love-android-sdl2),
as the script will handle this by itself.
You also might want to provide more informations about it. You also might want to provide more informations about it.
See the ANDROID section below. See the ANDROID section below.
@@ -53,27 +56,27 @@ See the `conf.lua` file included to see how configuration works.
In order to create a Debian package, you must provide more informations about it. In order to create a Debian package, you must provide more informations about it.
See the DEBIAN section below. See the DEBIAN section below.
`-L` Create a plain Love file. It is just a zip of your sources, renamed in \*.love. `-L` Create a plain LÖVE file. It is just a zip of your sources, renamed in \*.love.
Mostly aimed at Linux players or developers and the most common distribution process. Mostly aimed at Linux players or developers and the most common distribution process.
`-M` Create MacOS application. `-M` Create MacOS application.
Starting with Love 0.9.0, Love no longer supports old x86 Macintosh. Starting with LÖVE 0.9.0, LÖVE no longer supports old x86 Macintosh.
If you are targeting one of these, your project must be developped with Love 0.8.0 or lower. If you are targeting one of these, your project must be developped with LÖVE 0.8.0 or lower.
Depending on the Love version used, the script will choose which one, Depending on the LÖVE version used, the script will choose which one,
between x64 only or Universal Build to create. between x64 only or Universal Build to create.
`-W` Create Windows application. `-W` Create Windows application.
Starting with Love 0.8.0, a release is specially available for Windows x64. Starting with LÖVE 0.8.0, a release is specially available for Windows x64.
If you are targeting one of these, your project must be developed with Love 0.8.0 or newer. If you are targeting one of these, your project must be developed with LÖVE 0.8.0 or newer.
Remember that x86 is always backwards compatible with x64. Remember that x86 is always backwards compatible with x64.
Depending on the Love version used, the script will choose which one, Depending on the LÖVE version used, the script will choose which one,
between x64 and x86 or x86 only to create. between x64 and x86 or x86 only to create.
`-W32` Create Windows x86 executable only `-W32` Create Windows x86 executable only
`-W64` Create Windows x64 executable only `-W64` Create Windows x64 executable only
#### PROJECT OPTIONS #### PROJECT OPTIONS
You can use the option of a module and append a long option from this list to set a specific You can use the option of a module and append a long option from this list to set a specific
option for a module. For example, the option `--Wauthor` will set the author's name for windows only. option for a module. For example, the option `--Wauthor` will set the author's name for Windows only.
`-a, --author` Set the project's author. `-a, --author` Set the project's author.
@@ -83,9 +86,9 @@ option for a module. For example, the option `--Wauthor` will set the author's n
`-i, --icon` Path to icons. `-i, --icon` Path to icons.
`-l, --love` Love version. Default is 0.9.2. `-l, --love` LÖVE version. Default is 0.9.2.
Starting with Love 0.8.0, a release is specially available for Windows x64. Starting with LÖVE 0.8.0, a release is specially available for Windows x64.
Starting with Love 0.9.0, Love no longer supports old x86 Macintosh. Starting with LÖVE 0.9.0, LÖVE no longer supports old x86 Macintosh.
`-p, --pkg` Set the project's identity. `-p, --pkg` Set the project's identity.
@@ -104,11 +107,11 @@ option for a module. For example, the option `--Wauthor` will set the author's n
#### WINDOWS #### WINDOWS
You can create an installer. If you dont, you will have zip of a folder You can create an installer. If you dont, you will have zip of a folder
containing your game executable and its dlls. containing your game executable and its dlls.
Creating installers and using icons require [Wine](http://www.winehq.org/) to be installed. Creating installers and using icons require [Wine][] to be installed.
When the script installs Resource Hacker or Inno Setup, an install wizard GUI will appear. When the script installs Resource Hacker or Inno Setup, an install wizard GUI will appear.
Please let everything as is, do not uncheck checkboxes or replace installation directory. Please let everything as is, do not uncheck checkboxes or replace installation directory.
`--Wicon` Path to an ico file to use. `--Wicon` Path to an ico file to use.
`--Winstaller` Create an installer with [Inno Setup](http://www.jrsoftware.org/isinfo.php). `--Winstaller` Create an installer with [Inno Setup][].
`--Wappid` Your game ID. You can use a GUID/UUID and generate one with `uuidgen`. `--Wappid` Your game ID. You can use a GUID/UUID and generate one with `uuidgen`.
It should remain the same between updates. It should remain the same between updates.
Mandatory if using an installer, not needed for a simple zip. Mandatory if using an installer, not needed for a simple zip.
@@ -125,15 +128,13 @@ Please let everything as is, do not uncheck checkboxes or replace installation d
#### DEBIAN #### DEBIAN
`--Dicon` Path to a single folder where icons are stored. `--Dicon` Path to a single folder where icons are stored.
To be properly recognized, icons filename must contain `YYxYY`, To be properly recognized, icons filename must contain `YYxYY`, where `YY` is the resolution of the icon.
where `YY` is the resolution of the icon.
SVG files are recognized if suffixed with `.svg`. SVG files are recognized if suffixed with `.svg`.
Other files will be ignored. Other files will be ignored.
`--Demail` Set the maintainers email. `--Demail` Set the maintainers email.
`--Dauthor` Set the maintainers name. `--Dauthor` Set the maintainers name.
`--Dpkg` Set the name of the package and the command that will be used to launch your game. `--Dpkg` Set the name of the package and the command that will be used to launch your game.
By default, it is the name of your project converted to lowercase, By default, it is the name of your project converted to lowercase, with eventual spaces replaced by dashes.
with eventual spaces replaced by dashes.
`--Dversion` Set the version of your package. `--Dversion` Set the version of your package.
#### ANDROID #### ANDROID
@@ -158,28 +159,34 @@ with eventual underscores (i.e. [a-zA-Z0-9\_]), otherwise you'll get errors.
#### OTHERS #### OTHERS
`--clean` Clean the cache located in `~/.cache/love-release`. `--clean` Clean the cache located in `~/.cache/love-release`.
One can replace the Love files there. One can replace the LÖVE binaries there.
#### MODULES #### MODULES
The script is modular. The script is modular.
Each different platform is handled by a subscript stored in `scripts`. Each different platform is handled by a subscript stored in `scripts`.
If youd like to add the support of another platform, If youd like to add the support of another platform, or write your own build script, see [modules.md](modules.md).
or write your own build script, see `modules.md`.
#### ICONS #### ICONS
The script doesnt yet handle the process of creating icons, The script doesnt yet handle the process of creating icons,
but if provided it can use them. but if provided it can use them.
- if you want to create MacOS icons (.icns), and you are - if you want to create MacOS icons (.icns), and you are
- running MacOS, then check [iconutil](https://developer.apple.com/library/mac/documentation/userexperience/conceptual/applehiguidelines/IconsImages/IconsImages.html). - running MacOS, then check [iconutil][].
- running GNU/Linux, then check [libicns](http://icns.sourceforge.net/). - running GNU/Linux, then check [libicns][].
- if you want to create Windows icons (.ico), you can - if you want to create Windows icons (.ico), you can
- use [icoutils](http://www.nongnu.org/icoutils/) to create the icon, - use [icoutils][] to create the icon,
- then [Wine](http://www.winehq.org/) and [Resource Hacker](http://www.angusj.com/resourcehacker/) to set the icon. - then [Wine][] and [Resource Hacker][] to set the icon.
This last step can be automatically done, assuming Wine is installed. This last step can be automatically done, assuming Wine is installed.
### SEE ALSO [LÖVE]: https://www.love2d.org
[https://www.love2d.org](https://www.love2d.org) [Game Distribution]: https://www.love2d.org/wiki/Game_Distribution
[https://www.love2d.org/wiki/Game_Distribution](https://www.love2d.org/wiki/Game_Distribution) [love-release]: https://www.github.com/MisterDA/love-release
[https://www.github.com/MisterDA/love-release](https://www.github.com/MisterDA/love-release) [iconutil]: https://developer.apple.com/library/mac/documentation/userexperience/conceptual/applehiguidelines/IconsImages/IconsImages.html
[libicns]: http://icns.sourceforge.net
[icoutils]: http://www.nongnu.org/icoutils/
[Wine]: http://www.winehq.org
[Resource Hacker]: http://www.angusj.com/resourcehacker
[Inno Setup]: http://www.jrsoftware.org/isinfo.php
[LÖVE port to Android]: https://bitbucket.org/MartinFelis/love-android-sdl2
[Building LÖVE for Android]: https://bitbucket.org/MartinFelis/love-android-sdl2/wiki/Building_L%C3%96VE_for_Android_-_Linux

View File

@@ -36,22 +36,22 @@ In order to create a Debian package, you must provide more informations about it
See the DEBIAN section below. See the DEBIAN section below.
.TP .TP
.B \-L .B \-L
Create a plain Love file. It is just a zip of your sources, renamed in \fI*.love\fR. Create a plain LÖVE file. It is just a zip of your sources, renamed in \fI*.love\fR.
Mostly aimed at Linux players or developers and the most common distribution process. Mostly aimed at Linux players or developers and the most common distribution process.
.TP .TP
.B \-M .B \-M
Create MacOS application. Create MacOS application.
Starting with Love 0.9.0, Love no longer supports old x86 Macintosh. Starting with LÖVE 0.9.0, LÖVE no longer supports old x86 Macintosh.
If you are targeting one of these, your project must be developed with Love 0.8.0 or lower. If you are targeting one of these, your project must be developed with LÖVE 0.8.0 or lower.
Depending on the Love version used, the script will choose which one, Depending on the LÖVE version used, the script will choose which one,
between x64 only or Universal Build to create. between x64 only or Universal Build to create.
.TP .TP
.BR \-W \fIarch\fR .BR \-W \fIarch\fR
Create Windows application. Create Windows application.
Starting with Love 0.8.0, a release is specially available for Windows x64. Starting with LÖVE 0.8.0, a release is specially available for Windows x64.
If you are targeting one of these, your project must be developed with Love 0.8.0 or newer. If you are targeting one of these, your project must be developed with LÖVE 0.8.0 or newer.
Remember that x86 is always backwards compatible with x64. Remember that x86 is always backwards compatible with x64.
Depending on the Love version used, the script will choose which one, Depending on the LÖVE version used, the script will choose which one,
between x64 and x86 or x86 only to create. between x64 and x86 or x86 only to create.
.br .br
.B \-W32 .B \-W32
@@ -61,7 +61,7 @@ Create Windows x86 executable only.
Create Windows x64 executable only. Create Windows x64 executable only.
.SH PROJECT OPTIONS .SH PROJECT OPTIONS
You can use the option of a module and append a long option from this list to set a specific You can use the option of a module and append a long option from this list to set a specific
option for a module. For example, the option \fI\-\-Wauthor\fR will set the author's name for windows only. option for a module. For example, the option \fI\-\-Wauthor\fR will set the author's name for Windows only.
.br .br
.TP .TP
.B \-a, \-\-author \fIauthor\fR .B \-a, \-\-author \fIauthor\fR
@@ -77,9 +77,9 @@ Set the author's email.
Path to icons. Path to icons.
.TP .TP
.B \-l, \-\-love \fIlove\fR .B \-l, \-\-love \fIlove\fR
Love version. Default is 0.9.2. LÖVE version. Default is 0.9.2.
Starting with Love 0.8.0, a release is specially available for Windows x64. Starting with LÖVE 0.8.0, a release is specially available for Windows x64.
Starting with Love 0.9.0, Love no longer supports old x86 Macintosh. Starting with LÖVE 0.9.0, LÖVE no longer supports old x86 Macintosh.
.TP .TP
.B \-p, \-\-pkg \fIidentity\fR .B \-p, \-\-pkg \fIidentity\fR
Set the project's identity. Set the project's identity.
@@ -193,7 +193,7 @@ Update the love-android-sdl2.git repository used in the cache.
.TP .TP
.B \-\-clean .B \-\-clean
Clean the cache located in \fI~/.cache/love-release\fR. Clean the cache located in \fI~/.cache/love-release\fR.
One can replace the Love files there. One can replace the LÖVE binaries there.
.SH MODULES .SH MODULES
The script is modular. The script is modular.
Each different platform is handled by a subscript stored in \fIscripts\fR. Each different platform is handled by a subscript stored in \fIscripts\fR.