HowToBuildStendhal: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Danter
mNo edit summary
imported>MiguelAngelBlanchLardin
No edit summary
Line 3: Line 3:
=Requirements=
=Requirements=
To compile Stendhal you will need:
To compile Stendhal you will need:
* module stendhal<br>http://arianne.sourceforge.net
* module stendhal<br>http://arianne.sourceforge.net/?arianne_url=games/game_stendhal
* module marauroa <br>http://arianne.sourceforge.net
* module marauroa <br>http://arianne.sourceforge.net/?arianne_url=servers/server_marauroa
* Apache Log4J<br>http://logging.apache.org/log4j/docs/
* Jython 2.1 (Python Interpreter)<br>http://www.jython.org/docs/whatis.html
* Java SDK 1.5<br>http://java.sun.com
* Java SDK 1.5<br>http://java.sun.com
* Ant 1.6<br>http://ant.apache.org
* Ant 1.6<br>http://ant.apache.org
* Apache Log4J<br>http://logging.apache.org/log4j/docs/
* Jython 2.1 (Python Interpreter)<br>http://www.jython.org/docs/whatis.html


Optionally:
Optionally:
* Tiled<br>http://tiled.rpgdx.net/
* Tiled<br>http://tiled.rpgdx.net/

You can download compiled marauroa file ( ends with .zip ) that contains:
* log4j
* jython
* marauroa


= Build=
= Build=
Line 18: Line 23:
Second you need to compile successfully Marauroa using the compile task.
Second you need to compile successfully Marauroa using the compile task.


To build Stendhal first make sure you have the JAR files in the correct place.
There are several ant tasks.
You have to run it as:
<pre>
<pre>
cd path/to/stendhal
ant task_name -D...
cd ..
mkdir libs
copy path/to/marauroa.jar libs
copy path/to/log4j.jar libs
copy path/to/jython.jar libs
cd stendhal
</pre>
</pre>


Make sure you remove the version number from name or that you create links to the real file without any version number.
===compile===
Now just write:
Compiles Stendhal into build folder and copies all needed files to their correct place.
<pre>
<pre>
ant
Buildfile: build.xml

init:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\lib
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\javadocs

compile:
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\sprites
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\games\stendhal\server\maps
[javac] Compiling 23 source files to D:\Desarrollo\arianne\stendhal\build

BUILD SUCCESSFUL
Total time: 3 seconds
</pre>
</pre>


This will build a full set of JAR files at stendhal/lib folder.
===clean===
Removes any trace of compiled stuff from stendhal.
<pre>
Buildfile: build.xml

clean:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\lib
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\javadocs

BUILD SUCCESSFUL
Total time: 0 seconds
</pre>
===jar===
Builds a stendhal-''version''.jar and stendhal-server-''version''.jar file inside the lib folder.

This task requieres that you write an extra propierty for the path of marauroa compiles code.
<pre>
ant jar -Dlibdir=jars -Dmarauroa_build=../marauroa/build
</pre>

<pre>
Buildfile: build.xml

init:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\lib
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\javadocs

client_compile:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\sprites
[javac] Compiling 18 source files to D:\Desarrollo\arianne\stendhal\build

client_jar:
[jar] Building jar: D:\Desarrollo\arianne\stendhal\lib\stendhal-0.00.jar

server_compile:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\games\stendhal\server\maps
[javac] Compiling 6 source files to D:\Desarrollo\arianne\stendhal\build

server_jar:
[jar] Building jar: D:\Desarrollo\arianne\stendhal\lib\stendhal-server-0.00.jar

jar:

BUILD SUCCESSFUL
Total time: 4 seconds
</pre>
===release===
This is a convenience task used to build the released files of stendhal:
* stendhal-''version''-src.tar.gz that contains all source code
* stendhal-''version''.zip that contains the compiled version of stendhal client plus the needed dependencies to make it work.
* stendhal-server-''version''.zip that contains the compiled version of stendhal server.

This task requieres that you write an extra propierty for the path of marauroa compiles code.
<pre>
ant release -Dlibdir=jars -Dmarauroa_build=../marauroa/build
</pre>

<pre>
Buildfile: build.xml

init:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\lib
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\javadocs

server_compile:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\games\stendhal\server\maps
[javac] Compiling 6 source files to D:\Desarrollo\arianne\stendhal\build

server_jar:
[jar] Building jar: D:\Desarrollo\arianne\stendhal\lib\stendhal-server-0.00.jar

release_server_binary:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-server-0.00
[zip] Building zip: D:\Desarrollo\arianne\stendhal\stendhal-server-0.00.zip
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\stendhal-server-0.00

client_compile:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\build
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\build\sprites
[javac] Compiling 18 source files to D:\Desarrollo\arianne\stendhal\build

client_jar:
[jar] Building jar: D:\Desarrollo\arianne\stendhal\lib\stendhal-0.00.jar

release_client_binary:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[zip] Building zip: D:\Desarrollo\arianne\stendhal\stendhal-0.00.zip
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\stendhal-0.00

release_binary:

clean:
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\build
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\lib
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\javadocs

release_source:
[mkdir] Created dir: D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 24 files to D:\Desarrollo\arianne\stendhal\stendhal-0.00\src
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\stendhal-0.00\sprites
[copy] Copying 3 files to D:\Desarrollo\arianne\stendhal\stendhal-0.00\maps
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[copy] Copying 1 file to D:\Desarrollo\arianne\stendhal\stendhal-0.00
[tar] Building tar: D:\Desarrollo\arianne\stendhal\stendhal-0.00-src.tar.gz
[delete] Deleting directory D:\Desarrollo\arianne\stendhal\stendhal-0.00

release:

BUILD SUCCESSFUL
Total time: 5 seconds
</pre>


Client files
===docs===
stendhal-version.jar
This task generates the java docs documentation.<br>
stendhal-data-version.jar
You better take a look at this wiki if you are looking for documentation.


Server files
stendhal-server-version.jar
stendhal-conf-version.jar
stendhal-quests-version.jar
stendhal-maps-version.jar


= Finally =
= Finally =