Browse Source

Adding some Docs :)

MeFisto94 9 years ago
parent
commit
df05acb977
2 changed files with 156 additions and 0 deletions
  1. 99 0
      docs/building.md
  2. 57 0
      docs/reporting_issues.md

+ 99 - 0
docs/building.md

@@ -0,0 +1,99 @@
+# Building the SDK
+This document is for developers who intend to build the latest SDK on their own.
+It's not really a big process but you should be familiar with the command line a little bit.
+We will skip the process of cloning the repo/downloading the zip, as the net is full of examples about this.
+
+## Defining the Engine Version
+As the SDK has been split apart from the Engine Core, it simply downloads it as a dependency.
+This comes in handy when it comes to build time however you're most likely unable to check your own engine changes.
+
+Currently there are three options available:
+
+### Official Releases (e.g. alpha2)
+You're all set. This it what happens out of the box. We always use the latest release (to which we are compatible)
+If you want an older version (or revert back to official releases), just edit this in your build.gradle:
+
+In the repositories {}, add: (Should already be there)
+```
+jcenter {
+    url "http://jcenter.bintray.com/"
+}
+```
+Edit `ext.jmeFullVersion` to `3.1.0-alpha2` or whatever fits.
+
+### Official Snapshots (the latest engine version available)
+Keep in mind that you could experience strange bugs in the engine or maybe not even have a successful compile at all. On the other hand you profit off the latest bugfixes out there.
+For consistency we recommend coding against a release though.
+
+In the repositories {}, add: (Should already be there):
+```
+maven {
+url "http://updates.jmonkeyengine.org/maven/"
+}
+```
+Edit `ext.jmeFullVersion` to `3.1.0-SNAPSHOT` (or 3.1.1, once it's out)
+
+### Automated Builds of other branches/commits
+Say you want to develop the SDK to support more PBRish stuff you need something different:
+
+In the repositories {}, add: (Should *not* be there)
+```
+maven {
+url "https://jitpack.io"
+}
+```
+Edit `ext.jmeFullVersion` to `PBRisComing-SNAPSHOT` (see [here](https://jitpack.io/docs/) for more information)
+
+## The Actual Build
+This is as easy as it get's:
+Windows: `gradlew.bat buildSdk`
+Linux/Mac: `./gradlew buildSdk`
+
+Now everything is happening in the background: Netbeans is being downloaded to `netbeans/`and the SDK is built.
+If you don't want to debug/code something in the SDK, skip to Deploying the SDK.
+
+Fire up the freshly installed Netbeans:
+Windows: `netbeans/bin/netbeans.exe`
+Linux/Mac: `netbeans/bin/netbeans`
+
+Now you click on "File->Open Project" and there just select the folder you downloaded the SDK to. It should show some orange patchwork. That's a Project Group.
+After that, go to modules and select the module you want to work on. Double click on it to have it opened. Then you can edit it's source code, it'll unfold as a seperate project.
+
+You can always use the launch buttons (debug, run, profile) from there and the SDK will be built and debugged.
+Note: Somtimes Netbeans is a bit buggy with it's compile-on-save. For that, just click the Clean & Build Button before launching.
+
+## Deploying the SDK
+Deploying simply means packaging it for customer use. There are two ways: The full-blown installer deploy (which you shouldn't do for personal use, we already do that when we release a new version) or the smaller "Zip Distribution".
+
+### ZIP Distribution
+Note that this Name might be a bit misleading, since you could also package it as Mac .app.
+To do this, just right click on the SDK Project Group and select an option. See here:
+![Package as...](http://i.imgur.com/5V2uBHf.png)
+
+If you want to do this from command line (Packaging as .zip) you can do the following:
+Windows: Search the net on how to use Apache ANT on Windows
+Linux/Mac: `ant build-zip` (Note that ANT has to be installed on your system aswell)
+
+This will drop you a file called `jmonkeyplatform.zip` into your dist/ folder.
+It's already in it's usuable form. Just unpack and launch the appropriate file in the bin/ folder.
+
+Note: This requires a JDK to be installed on your system and the blender integration won't work.
+
+### Full Blown Installer Deploy
+This is an addition to the zip distribution: It will add the JDK and Blender for each supported platform and will bundle it to installers for said platforms.
+
+Note: This build takes > 30 Minutes on pretty recent machines and downloads quite much data (though this only has to be done once). Keep that in mind before force quitting it (You'd have to start ALL OVER)
+
+The download of support JDKs only works on Linux or Mac currently and there are *no plans* to change that.
+It is untried but maybe you can place some dummy files (like taking the notepad.exe) and placing it under `jdks/windows-x86.exe` (etc.) so the build succeeds.
+Keep in mind that they *have to be* valid executables or else the installer *WILL* crash.
+
+```
+./gradlew buildSdk
+cd jdks
+./download-jdks.sh
+cd ../
+ant build-installers
+```
+
+Now you have neat installers under dist/

+ 57 - 0
docs/reporting_issues.md

@@ -0,0 +1,57 @@
+# Reporting Issues
+This document is about Reporting Issues related to the SDK.
+Reporting Issues is generally no big deal and seeing you reading this, you're likely to overcomplicating it.
+Anyway in the following sections we'll describe some things about good Issue Reports.
+
+## General
+Our Issues are all tracked on Github at the moment. If you see this document you're probably already there.
+At the top of the current repo there is this tab called "Issues". Click on it to open the Issues page.
+From there you'll have a really simple process:
+- Make sure it's really an issue (a fault in the system, doesn't work as expected) and not maybe you doing things wrong. If you're looking for support or are in doubt whether this is an issue, join us at the [forums](http://hub.jmonkeyengine.org) and post in the category Troubleshooting -> jmonkeyplatform. Note: The forum allows signing in with github.
+- Look for already existing Issues. (You can use the search box by simply typing some keywords of your issue, e.g. `blender`)
+- IF there are existing Issues, look into them. If there's detailed info being asked feel free to provide your's aswell. You can also comment to tell us that you also experience that Issue (So we can see how many people are effected and what to fix first)
+- IF there are none, click on Create an Issue. Make sure to choose a good (but yet simple) title and just describe your problem.
+- Here it is important that you provide us as much information as possible: What's meant with "doesn't work"? What exactly did you do what way? If there are files involved, pack them as .zip and attach them to the Issue. (If you don't it could be that we are unable to reproduce it)
+- Submit the Issue and wait for further requests
+
+That's basically it. No matter what, we will tell you what further information we need, just make sure to describe it as detailed as possible.
+See also the following parts on what information you _could_ include depending on the Issue.
+
+### Reporting Exceptions
+From time to time, you might get an "Exception" being written in your SDK Console after you experienced an Issue.
+It's important to not only copy the name of it but the full stacktrace (caused by xyz in line u, caught at ...).
+For that you'll enclose this in three backticks in the line above and below, like so: 
+```
+```
+java.lang.NullPointerException
+at com.jme3.scene.plugins.blender.meshes.MeshHelper.loadVerticesGroups(MeshHelper.java:289)
+at com.jme3.scene.plugins.blender.meshes.TemporalMesh.<init>(TemporalMesh.java:126)
+at com.jme3.scene.plugins.blender.meshes.TemporalMesh.<init>(TemporalMesh.java:100)
+at com.jme3.scene.plugins.blender.meshes.MeshHelper.toTemporalMesh(MeshHelper.java:114)
+at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:128)
+Caused: java.io.IOException: Unexpected importer exception occured: null
+at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:223)
+at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:88)
+at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:262)
+```
+```
+
+### Reporting Faults in the NetBeans Installer
+This happens when you try to install the SDK on your computer however get an undetailed error such as "Could not configurate JDK. Maybe wrong platform".
+To improve that, you can launch the installer from the commandline and hence filling a file with debug output.
+Search the net for information on how to open a commandline/cmd/terminal/console on your OS and to Change the Directory to the Download Folder.
+When you're there, you simply issue the following command on windows systems:
+`jmonkeyplatform-installer-x64.exe --verbose --output log.txt`(Note that the installer name might vary and that the TAB key will autocomplete your file name after typing jmonkey).
+Under linux it'll be:
+`./jmonkeyplatform-installer-x64.sh --verbose --output log.txt`
+
+Then you just need to upload that log.txt in addition to your error report and we can help you.
+Without that report it's very unlikely that we can!
+
+### Reporting Issues with any Model-Importer
+It's already written above but since this is so important: Please upload your models packed as a .zip file along with your Issue report or we will be completely *unable* to reproduce the Issue.
+If you can't do that due to licensing problems, try to create an own file/modify the file so you have another model where that issue appears.
+
+### Reporting Issues with the "Design" (Look and Feel)
+If you report Issues concering too big fonts or anything like that, go to the SDK's Preferences -> Appearance and tell us what LookandFeel is selected.
+Note: Also try to use DarkMonkey. It's a theme created by us and as such is the only to be consistent over platforms. All others might differ from platform to platform.