Skip to main content

Modify and build your own SikuliX

In this tutorial, I show steps to modify and edit sikulix under OSX environment. This should not be different with other *nix environment. However, for windows environment, you may need to adjust yourself.

Modify your code

  • Clone from the repository
  • Open the repository as maven project in netbeans. You can easily use this button to open the project open
  • You will see that the cloned project appeared in open windows like the following
  • Open the project. It will be like this
  • Modify any part you want to modify
  • Clean and build the maven project. If you open other sub project of sikulix, make sure that you clean and build only the main sikulix maven project

Create Installer

Go to File Finder in the repository folder. You will see one file named runSetup. Using your terminal and cd to the folder and run the setup.

$ runSetup

It will bring you to SikuliX installation. Please remember that if you build yourself, ALWAYS do it in offline mode, means that you are not supposed to download anything during the installation. In other words, because SikuliX will need some packages/libraries, before installing SikuliX using your own build, you MUST install SikuliX in your computer by running normal build first. You can download the normal build here

Back to runSetup. You will see SikuliX installation window as follows

Before you continue, please pay attention to in this folder part. That part shows you where you can find your new build. To make myself clearer, I mean this part

It shows me that I can find the build in /Users/arwankhoiruddin/Library/Application Support/Sikulix/SikulixSetup folder

Then follow the instructions carefully. I repeat once more, please do not download anything during this installation.

Now go to SikulixSetup folder. You will find your new and fresh build there

Just move or copy SikuliX to /Applications folder and voila! Your newly build sikulix is ready to use

Comments

Popular posts from this blog

If and For in Wolfram Mathematica (with examples)

IF Condition in Wolfram Mathematica The syntax is as follows xxxxxxxxxx If [ condition , what to do if true , what to do if false ] Some examples Example 1. Simple command x x = - 3 ; If [ x < 0 , - x , x ] 3 Example 2. If condition in a function abs [ x_ ] := If [ x < 0 , - x , x ] abs /@ { - 3 , 2 , 0 , - 2 } { 3 , 2 , 0 , 2 }   For in Wolfram Mathematica The syntax is as follows For [ start , test , inc , what to do ] Some examples Example 1. Simple Loop xxxxxxxxxx For [ i = 0 , i < 4 , i ++, Print [ i ]] 0 1 2 3 Example 2. Another simple loop For [ i = 10 , i > 0 , i --, Print [ i ]] 10 9 8 7 6 5 4 3 2 1 Example 3. Print list a = { 10 , 3 , 9 , 2 } For [ i = 1 , i < 5 , i ++, Print [ a [[ i ]]]] 10 3 9 2  

Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{

Mininet/Containernet Problem: Exception: Error creating interface pair (s2-eth5,s3-eth1): RTNETLINK answers: File exists

If you did not shut down the previous running mininet/containernet network (e.g. if you lose your connection to remote server), you will got the following error when you try to rerun your mininet network Traceback (most recent call last): File "./mynet.py", line 31, in <module> net.addLink(d2, s1) File "build/bdist.linux-x86_64/egg/mininet/net.py", line 403, in addLink File "build/bdist.linux-x86_64/egg/mininet/link.py", line 430, in __init__ File "build/bdist.linux-x86_64/egg/mininet/link.py", line 474, in makeIntfPair File "build/bdist.linux-x86_64/egg/mininet/util.py", line 202, in makeIntfPair Exception: Error creating interface pair (d2-eth0,s1-eth2): RTNETLINK answers: File exists In order to solve the problem, you need to clean up the previous running topology by using the following command sudo mn -c It will clean up all your cache. It will be something like this $ sudo mn -c *** Re