HowToBuildStendhal: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>AntumDeluge
Ant: installation instructions
imported>AntumDeluge
mNo edit summary
 
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:
= Build Tools =
= Build Tools =


See [[HowToBuildStendhal/BuildTools|build tools page]].
== JDK ==


The Stendhal server and legacy client are both written in [https://www.java.com/ Java]. To run either requires a [https://en.wikipedia.org/wiki/Java_virtual_machine Java Runtime Environment (JRE)]. To compile server or client, a [https://en.wikipedia.org/wiki/Java_Development_Kit Java Development Kit (JDK)] is necessary. Most JDK distributions include a JRE.


= Components =
=== JDK on Unix ===


All component packages, other than Android client, can be built with a single Ant command: <span style="color:darkred;">''ant dist''</span>. This will output the following:
Some Unix/Linux/BSD systems have a JDK pre-installed (usually [https://openjdk.org/ OpenJDK]). If not, most will have a version available from the system package manager.


* ''<span style="color:darkblue;">build/stendhal-&lt;version&gt;-src.tar.gz</span>''
Example of installing on Ubuntu:
* ''<span style="color:darkblue;">build/stendhal-server-&lt;version&gt;.zip</span> (includes web client)''
<pre>
* ''<span style="color:darkblue;">build/stendhal-&lt;version&gt;.zip</span> (Java client)''
# install version 17
* ''<span style="color:darkblue;">build/stendhal-webclient-&lt;version&gt;.zip</span> (requires server)''
$ sudo apt install openjdk-17-jdk
* ''<span style="color:darkblue;">build/stendhal-starter-&lt;version&gt;.zip</span> (obsolete)''
</pre>


''<span style="color:darkblue;">'''TODO:''' Instructions for individual components.</span>''
Example of installing on Arch:
<pre>
# install default version
$ sudo pacman -S jdk-openjdk


== Server and Web Client ==
# install version 17
$ sudo pacman -S jdk17-openjdk
</pre>


== Desktop Client ==
Example of installing on FreeBSD:
<pre>
# install pre-built package of version 17
$ sudo pkg install openjdk17


== Java Desktop Client ==
# compile version 17 from Ports source
$ cd /usr/ports/java/openjdk17
$ sudo make install clean
</pre>


=== JDK on Windows ===
== Android Client ==


* [[BuildStendhalForAndroid#WebView_Client|Build Stendhal WebView Client for Android]]
Packages for Windows can be downloaded from either [https://www.oracle.com/java/technologies/downloads/ oracle.com] or for OpenJDK, from [https://jdk.java.net/ jdk.java.net]. If you download a portable .zip package, you will need to manually configure the PATH environment variable so the system knows where the <span style="color:darkred;">''java''</span> and <span style="color:darkred;">''javac''</span> executables are located. It may also be necessary to configure the <span style="color:darkgreen;">''JAVA_HOME''</span> environment variable. The recommended method is to use an installer package (.exe or .msi) as these will configure the necessary environment variables automatically.

Alternatively, a JDK can be installed from the [https://en.wikipedia.org/wiki/Windows_Package_Manager Windows Package Manager (WinGet)].

Example of installing on Windows using WinGet:
<pre>
:: install Oracle JDK version 17
> winget install Oracle.JDK.17

:: install OpenJDK version 17
> winget install ojdkbuild.openjdk.17.jdk
</pre>

=== JDK on macOS ===

Packages for macOS can be downloaded from either [https://www.oracle.com/java/technologies/downloads/ oracle.com] or for OpenJDK, from [https://jdk.java.net/ jdk.java.net]. But the recommended method is to install from the [https://brew.sh/ Homebrew Package Manager] as it will configure the necessary environment variables automatically.

Example of installing on macOS using Homebrew:
<pre>
# install version 17
$ brew install openjdk@17
</pre>


== Ant ==

[https://ant.apache.org/ Apache Ant] is the main tool for building from the command line. All components can be built using this method. However, some components are built using another tool to which Ant serves as a wrapper to call its commands. For example, the Android app is built using [https://gradle.org/ Gradle] (or a Gradle Wrapper). In this case, Gradle builds the app. Ant simply calls Gradle as a sub-command.

Apache provides executables for multiple systems from their [https://ant.apache.org/bindownload.cgi downloads page]. Alternatively, see the following instructions for specific systems.

=== Ant on Unix ===

Most Unix/Linux/BSD distributions have a version of Ant available from the default package manager.

Example of installing on Ubuntu:
<pre>
$ sudo apt install ant
</pre>

Example of installing on Arch:
<pre>
$ sudo pacman -S ant
</pre>

Example of installing on FreeBSD:
<pre>
# install pre-built package
$ sudo pkg install apache-ant

# compile from Ports source
$ cd /usr/ports/devel/apache-ant
$ sudo make install clean
</pre>

=== Ant on Windows ===

For Windows, follow these steps:

# Download one of the <span style="color:darkblue;">''apache-ant-&lt;version&gt;-bin</span> packages from the link above (Windows supports .zip archives by default).
# Extract the package contents to a unique directory.
# Add the directory path to your system's PATH environment variable.
# Open a command prompt (cmd). Type <span style="color:darkred;">''ant -version''</span> and press "enter". If it is set up correctly, version information will be printed.

=== Ant on macOS ===

For macOS, the same instructions for [[HowToBuildStendhal#Ant_on_Windows|Windows]] can be used. Alternatively, it is also provided through Homebrew.


Example of installing on macOS using Homebrew:
<pre>
$ brew install ant
</pre>


= Systems =
= Systems =
Line 130: Line 49:
* [[BuildStendhalForAndroid#WebView_Client|Build Stendhal WebView Client for Android]]
* [[BuildStendhalForAndroid#WebView_Client|Build Stendhal WebView Client for Android]]


== General information ==
= General Information =


* [[HowToGetLatestStendhal|How to get the latest version?]]
* [[HowToGetLatestStendhal|How to get the latest version?]]