Files
love-release/love-release.1
2015-06-26 19:21:27 +02:00

224 lines
7.7 KiB
Groff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.TH LOVE-RELEASE.SH 1
.SH NAME
love-release.sh \- Bash script to generate Love 2D game releases
.SH SYNOPSIS
.B love\-release.sh
[\fB\-ADLMW\fR] [\fB\-t\fR \fIproject_title\fR] [\fB\-r\fR \fIrelease_dir\fR] [\fB\-l\fR \fIlove_version\fR] [\fIFILES...\fR]
.SH DESCRIPTION
.B love-release.sh
can be used to generate Love 2D game applications
and get over the fastidious zipping commands you had to do.
.PP
The script fully supports Windows, MacOS either on x86 or x64,
Debian and Android packages.
It needs an Internet connection to download Love files,
and relies on \fBcurl\fR, \fBzip\fR and \fBunzip\fR commands.
.SH CONFIGURATION
You can install \fIlua\fR and add a \fIconf.lua\fR to your project to get automatic releases.
See the \fIconf.lua\fR file included to see how configuration works.
.SH OPTIONS
.TP
.B \-h
Print a short help
.TP
.B \-\-help
Print this longer help
.SH OPERATING SYSTEMS
.TP
.B \-A
Create an Android package.
In order to create an Android package, you must have installed the Android SDK,
but there is no need to install the LÖVE port to Android,
as the script will handle this by itself.
You also might want to provide more informations about it.
See the ANDROID section below.
.TP
.B \-D
Create a deb package. Aimed at Debian and Ubuntu derivatives.
In order to create a Debian package, you must provide more informations about it.
See the DEBIAN section below.
.TP
.B \-L
Create a plain Love 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.
.TP
.B \-M
Create MacOS application.
Starting with Love 0.9.0, Love 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.
Depending on the Love version used, the script will choose which one,
between x64 only or Universal Build to create.
.TP
.BR \-W
Create Windows application.
Starting with Love 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.
Remember that x86 is always backwards compatible with x64.
Depending on the Love version used, the script will choose which one,
between x64 and x86 or x86 only to create.
.br
.B \-\-W32
Create Windows x86 executable only.
.br
.B \-\-W64
Create Windows x64 executable only.
.SH PROJECT OPTIONS
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.
.br
.TP
.B \-a, \-\-author \fIauthor\fR
Set the project's author.
.TP
.B \-d, \-\-description \fIdescription\fR
Set the project's description.
.TP
.B \-e, \-\-email \fIemail\fR
Set the author's email.
.TP
.B \-i, \-\-icon \fIicon\fR
Path to icons.
.TP
.B \-l, \-\-love \fIlove\fR
Love version. Default is 0.9.2.
Starting with Love 0.8.0, a release is specially available for Windows x64.
Starting with Love 0.9.0, Love no longer supports old x86 Macintosh.
.TP
.B \-p, \-\-pkg \fIidentity\fR
Set the project's identity.
.TP
.B \-r, \-\-release \fIrelease-dir\fR
Set the release directory. By default, a subdirectory called releases is created.
.TP
.B \-t, \-\-title \fItitle\fR
Set the project's title. By default, the name of the current directory is used.
.TP
.B \-u, \-\-url \fIurl\fR
Set your project's homepage.
.TP
.B \-v, \-\-version \fIversion\fR
Set the version for your project.
.TP
.B \-x, \-\-exclude \fIfile\fR|\fIdirectory\fR
Exclude file or directory.
Use backslashes or quotes to avoid the shell filename substitution,
so that the name matching is performed by zip at all directory levels.
.SH WINDOWS
You can create an installer. If you dont, you will have zip of a folder
containing your game executable and its dlls.
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.
Please let everything as is, do not uncheck checkboxes or replace installation directory.
.TP
.B \-\-Wicon \fIicon\fR
Path to an ico file to use.
.TP
.B \-\-Winstaller
Create an installer with Inno Setup.
.TP
.B \-\-Wappid \fIid\fR
Your game ID. You can use a GUID/UUID and generate one with \fIuuigen\fR.
It should remain the same between updates.
Mandatory if using an installer, not needed for a simple zip.
.TP
.B \-\-Wauthor \fIname\fR
Set the maintainers name.
Mandatory if using an installer, not needed for a simple zip.
.TP
.B \-\-Wpkg \fIname\fR
Set the name of the package.
Mandatory if using an installer, not needed for a simple zip.
.TP
.B \-\-Wversion \fIversion\fR
Set the version of your package.
Mandatory if using an installer, not needed for a simple zip.
.SH MAC OS X
.TP
.B \-\-Micon \fIicon\fR
Path to an icns file to use.
.TP
.B \-\-Mauthor \fIname\fR
Set the maintainer's name. Provide it for OS X CFBundleIdentifier.
.SH DEBIAN
.TP
.B \-\-Dicon \fIdir\fR
Path to a single folder where icons are stored.
To be properly recognized, icons filename must contain \fIYYxYY\fR,
where \fIYY\fR is the resolution of the icon.
SVG files are recognized if suffixed with \fI.svg\fR.
Other files will be ignored.
.TP
.B \-\-Demail \fIemail\fR
Set the maintainer's email.
.TP
.B \-\-Dauthor \fIname\fR
Set the maintainer's name.
.TP
.B \-\-Dpkg \fIname\fR
Set the name of the package and the command that will be use to launch your game.
By default, it is the name of your project converted to lowercase,
with eventual spaces replaced by dashes.
.TP
.B \-\-Dversion \fIversion\fR
Set the version of your package.
.SH ANDROID
Note that every argument passed to the options should be alphanumerical,
with eventual underscores (i.e. [a-zA-Z0-9_]), otherwise you'll get errors.
.TP
.B \-\-Aicon \fIdir\fR
Path to a single folder where icons are stored.
The script will first look up for filename that contains
\fI42x42\fR, \fI72x72\fR, \fI96x96\fR or \fI144x144\fR.
It will then search the icon directory for subdirectories like
\fIdrawable-mdpi\fR, \fIdrawable-hdpi\fR, \fIdrawable-xhdpi\fR and \fIdrawable-xxhdpi\fR
to find an \fIic_launcher.png\fR image.
OUYA icon (size \fI732x412\fR, or \fIdrawable-xhdpi/ouya_icon.png\fR) is supported.
.TP
.B \-\-Aactivity \fIactivity\fR
The name of the class that extends GameActivity.
By default it is the name of the project with 'Activity' appended,
eventual spaces and dashes replaced by underscores.
.TP
.B \-\-Aauthor \fIname\fR
Set the maintainers name.
It must be only alphanumerical characters, with eventual underscores.
.TP
.B \-\-Apkg \fIname\fR
Set the name of the package.
By default, it is the name of your project, with eventual spaces replaced by underscores.
.TP
.B \-\-Aversion \fIversion\fR
Set the version of your package.
.TP
.B \-\-Aupdate
Update the love-android-sdl2.git repository used in the cache.
.SH OTHERS
.TP
.B \-\-clean
Clean the cache located in \fI~/.cache/love-release\fR.
One can replace the Love files there.
.SH MODULES
The script is modular.
Each different platform is handled by a subscript stored in \fIscripts\fR.
If you'd like to add the support of another platform,
or write your own build script, see \fIscripts/example.sh\fR.
.SH ICONS
The script doesnt yet handle the process of creating icons,
but if provided it can use them.
.br
If you want to create MacOS icons (\fI.icns\fR), and you are
running MacOS, then check \fIiconutil\fR. If you are running GNU/Linux,
then check \fIlibicns\fR.
.br
If you want to create Windows icons (\fI.ico\fR),
you can use \fIicoutils\fR to create the icon,
then Wine and Resource Hacker to set the icon.
This last step can be automatically done,
assuming Wine is installed.
.SH SEE ALSO
.I https://www.love2d.org
.br
.I https://www.love2d.org/wiki/Game_Distribution
.br
.I https://www.github.com/MisterDA/love-release