mirror of
https://github.com/TangentFoxy/love-release.git
synced 2025-07-28 19:12:19 +00:00
221 lines
7.6 KiB
Groff
221 lines
7.6 KiB
Groff
.TH LOVE-RELEASE.SH 1
|
||
.SH NAME
|
||
love-release.sh \- Bash script to generate LÖVE 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 LÖVE 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 LÖVE files.
|
||
.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 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.
|
||
.TP
|
||
.B \-M
|
||
Create MacOS application.
|
||
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 LÖVE 0.8.0 or lower.
|
||
Depending on the LÖVE version used, the script will choose which one,
|
||
between x64 only or Universal Build to create.
|
||
.TP
|
||
.BR \-W \fIarch\fR
|
||
Create Windows application.
|
||
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 LÖVE 0.8.0 or newer.
|
||
Remember that x86 is always backwards compatible with x64.
|
||
Depending on the LÖVE 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
|
||
LÖVE version. Default is 0.9.2.
|
||
Starting with LÖVE 0.8.0, a release is specially available for Windows x64.
|
||
Starting with LÖVE 0.9.0, LÖVE 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 don’t, 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 maintainer’s 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 maintainer’s 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 LÖVE binaries 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 \fImodules.md\fR.
|
||
.SH ICONS
|
||
The script doesn’t 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
|