Work with the sources in NetBeans - RaiMan/SikuliX-2014 GitHub Wiki

Have this on your system:

Java 7 or newer as the JDK package (JRE is included)
Netbeans 8+ (though 7.4 might be sufficient)

The following assumes a standard NetBeans setup storing your projects in the NetBeansProjects folder.

If you plan to contribute, then you should start by forking this repo. In this case the following is with respect to your fork.

Be aware The artifacts currently produced have the Maven signature:

<groupId>com.sikulix</groupId>
<artifactId>sikulix...</artifactId>
<version>1.1.1</version>

which has to be used as a dependency in your own Java projects.

Get the sources

  • Option 1: download the repo zip and unzip into NetBeansProjects

  • Option 2: In NetBeans use the feature Clone

  • no project selected: menu Team - entry Git - Clone

  • a project selected: menu Team - entry Remote - Clone

  • and follow the instructions.
    (the repo link to use as source: https://github.com/RaiMan/SikuliX-2014.git
    or the appropriate link to your fork)

You should have this folder afterwards: NetBeansProjects/SikuliX-2014.

Get the project ready to work with

In NetBeans use menu File - entry OpenProject and you should see something like this:

open project

Now open the project by selecting this entry and you should have:

project view

As a first MANDATORY step run a clean install (menu Run - entry Clean and Build Project), to get your local Maven repository ready (might take a while caused by extensive downloading).

This will build all the artifacts in the project tree and save them in the local Maven repo. This should run without errors. If not, then you have some job to do ;-)

Run the SikuliX IDE

Now you might try to run the SikuliX IDE, by selecting the module sikulix and run it (menu Run - entry Run Project).

If it works: fine.

If not, you should produce debug output to analyze the problem:

  • again select sikulix
  • menu File - entry Project Properties
  • on left side select category Run
  • in the field Arguments: enter -d 3 -c

From now on running sikulix will redirect all output to the Netbeans console (window named Output).

Look into and work with the sources

Just double-click one of the module entries, to open this subproject to work with.

The only modules of public interest are

sikulixapi (the Java API)
sikulix (the IDE)

The other modules are the native libraries (sikulixlibs...) and for setup (containing setup in the name).

BE AWARE

  • you should not touch the native stuff (sikulixlibs...), since they only contain the prebuilt libraries, which cannot be built in the project context (no build steps provided). This includes the content of sikulixapi::org.sikuli.natives, which are SWIG generated classes for JNI support.
  • you should not touch the setup related stuff, since it does not add anything to SikuliX's features and is only there to produce useable artifacts for use outside of Maven projects.
  • on Linux systems, if setup does not produce useable jars (native library problems) setup indeed is the module to look into.

Produce useable artifacts from within the project context

look here: https://github.com/RaiMan/SikuliX-2014/wiki/How-to-produce-the-ready_to_use-jar-packages

⚠️ **GitHub.com Fallback** ⚠️