Marauroa on NetBeans: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>SimonSmall m →Start NetBeans: some clarification |
imported>SimonSmall Small tidy-up |
||
| (25 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
= Introduction = |
= Introduction = |
||
These instructions assume that you will |
These instructions assume that you will include the minimum required to use the Marauroa engine. Additional features and functions are covered in separate pages. |
||
Note that the Marauroa |
Note that the Marauroa engine is NOT a complete application. You will need to add more code to use it within a game application. |
||
See the Talk page for version information. |
|||
= Requirements = |
= Requirements = |
||
If not already installed, you will need the following. |
If not already installed, you will need the following. |
||
== Java == |
== Java == |
||
The Marauroa engine is written using Java. You will need to install the Java Development Kit (JDK) from |
The Marauroa engine is written using Java. You will need to install the Java Development Kit (JDK) from [http://www.oracle.com/technetwork/java/javase/downloads/index.html]. |
||
[http://www.oracle.com/technetwork/java/javase/downloads/index.html]. |
|||
== NetBeans == |
== NetBeans == |
||
| Line 19: | Line 21: | ||
== Marauroa Source == |
== Marauroa Source == |
||
There are three ways to use Marauroa with your project. You can choose the one that best suits your needs. |
|||
You can take the source code from the repositories, but these instructions use the released version available from the website, in this case the source marauroa-3.8.7-src.tar.gz [http://arianne.sourceforge.net/engine/marauroa.html]. |
|||
Released sources can be downloaded from [http://arianne.sourceforge.net/engine/marauroa.html the Arianne website]. |
|||
=== Compiled Marauroa === |
|||
Download the compiled jar file from the Arianne website and use that as a library in the NetBeans project. You can skip the rest of this page. You will be limited in what you can do with it. |
|||
=== Released Source code === |
|||
Download the source code from the Arianne website and build it yourself. You will be able to view the source code (if, for example, you want a deeper understanding of how it works), run a debug session into the Marauroa source code, and create the Javadoc help information. See the rest of this page for this method. |
|||
=== Code from the Repository === |
|||
Marauroa source code is held in a Git repository, and you can connect NetBeans to that repository and download the very latest code. This can be compiled, as with the released source code, but may not be as stable (it should be, though). You can find and fix bugs or make modifications, and submit patches back to the Marauroa project. Getting the code from the repository is covered in the [[Marauroa_Git_on_NetBeans|NetBeans and Git]] page. |
|||
== Directory structures == |
== Directory structures == |
||
The following directory structure is one suggestion and is used in the instructions. Choose a different one if you wish. |
The following directory structure is one suggestion and is used in the instructions. Choose a different one if you wish. |
||
You will need a location where you can save the files needed for development. The top level location is referred to as DEVPATH. Replace this with whatever you have chosen as that location. Do not create any sub-directories yet. |
You will need a location where you can save the files needed for development. The top level location is referred to as '''DEVPATH'''. Replace this with whatever you have chosen as that location. Do not create any sub-directories yet. |
||
= Start NetBeans = |
= Start NetBeans = |
||
| Line 30: | Line 47: | ||
Start the NetBeans IDE. Close any open projects if they are not those covered here. |
Start the NetBeans IDE. Close any open projects if they are not those covered here. |
||
Click New Project, choose Java and Java Class Library. Click Next, then give the Project Name as marauroa. Change the Project Location to the top level location (DEVPATH, see above); the Project Folder is shown as DEVPATH\marauroa with DEVPATH being your chosen location. Directory DEVPATH\marauroa must be empty (or not exist). |
Click '''New Project''', choose '''Java''' and '''Java Class Library'''. Click '''Next''', then give the '''Project Name''' as '''marauroa'''. Change the '''Project Location''' to the top level location (DEVPATH, see above); the '''Project Folder''' is shown as '''DEVPATH\marauroa''' with DEVPATH being your chosen location. Directory DEVPATH\marauroa must be empty (or not exist). |
||
The empty Project is created in NetBeans. Under the Files tab you will see the directory structure it has also generated; check this using your file explorer. |
The empty Project is created in NetBeans. Under the Files tab you will see the directory structure it has also generated; check this using your file explorer. |
||
Expand the Marauroa source file you have downloaded. Create a new directory named libs (i.e. DEVPATH\marauroa\libs). Copy the files |
Expand the Marauroa source file you have downloaded. Create a new directory named '''libs''' (i.e. '''DEVPATH\marauroa\libs'''). Copy the files '''log4j.jar''', '''jnlp.jar''' and '''jython.jar''' from the source file '''libs''' directory to this new directory. Copy the whole of the source file '''src''' directory to the '''src''' directory created by NetBeans. |
||
Return to the NetBeans IDE (Projects tab). It should have rescanned the files and read them into the project. If not, select Source, Scan for External Changes from the menu. A red exclamation mark warning icon shows the location of several errors. Right click the Libraries branch of the |
Return to the NetBeans IDE ('''Projects''' tab). It should have rescanned the files and read them into the project. If not, select '''Source''', '''Scan for External Changes''' from the menu. A red exclamation mark warning icon shows the location of several errors. Right click the '''Libraries''' branch of the project tree, and select '''Add Jar/Folder'''. Browse to the the '''libs''' directory for this project and select the '''log4j.jar''' file. Wait until the scanning process has finished, then repeat for each of the jar files copied from the source file libs directory (or use Ctrl-click to select multiple jar files). All red warning icons should disappear. |
||
NOTE: version 3.8.7 gives an error, as it does not override the abstract method getRemoteAddress() in java.nio.channels.SocketChannel for marauroa.tools.protocolanalyser.FakeSocketChannel. The red exclamation mark warning icon shows the location of this error. Expand the Project tree until this file is shown, double click it to show it in the editor pane then locate the class definition FakeSocketChannel in the code. Position the cursor in that line (left click) then press Alt-Enter and select the option Implement all abstract methods. This adds the following lines: |
|||
<source lang="Java"> |
|||
import java.net.SocketOption; |
|||
import java.util.Set; |
|||
@Override |
|||
public SocketChannel bind(SocketAddress local) throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public <T> SocketChannel setOption(SocketOption<T> name, T value) throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public SocketChannel shutdownInput() throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public SocketChannel shutdownOutput() throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public SocketAddress getRemoteAddress() throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public SocketAddress getLocalAddress() throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public <T> T getOption(SocketOption<T> name) throws IOException { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
@Override |
|||
public Set<SocketOption<?>> supportedOptions() { |
|||
throw new UnsupportedOperationException("Not supported yet."); |
|||
} |
|||
</source> |
|||
== Build Marauroa == |
== Build Marauroa == |
||
If there are no errors in the package, select Run, |
If there are no errors in the package, select '''Run''', '''Build Project''' from the NetBeans menu bar. This will create '''marauroa.jar''' in the '''dist''' directory. |
||
Select Run, Generate Javadoc from the NetBeans menu bar. This will create the Javadoc documentation files in the dist\javadoc directory, and open the index.html file from that directory in your web browser. The javadoc files contain the |
Select '''Run''', '''Generate Javadoc''' from the NetBeans menu bar. This will create the Javadoc documentation files in the '''dist\javadoc''' directory, and open the '''index.html''' file from that directory in your web browser. The javadoc files contain the Marauroa documentation extracted from the source files. Read them or ignore them, it is your choice; you do not have to create them. They will be useful when you are trying to understand the structure of the Marauroa engine. To read them later, open the index.html in your web browser. |
||
== Completion == |
== Completion == |
||
The |
The '''marauroa.jar''' file is in the '''dist''' directory. This is what you will need for your game. This step has only created the marauroa library, not a game. |
||
Note that there are licence and acknowledgement files in the source you downloaded. You need to consider these when you have completed your game. |
|||
[[Category:NetBeans]] |
|||