Skip to content

Development: Getting started

Max Gaukler edited this page Nov 23, 2019 · 38 revisions

This is a guide for people who want to start contributing to VisiCut as a developer.

Setting up the environment

Necessary software

If you want to build the installer, Debian/Ubuntu is recommended because you can generate the packages for all other operating systems from there.

Editing the Graphical User Interface layout

If you want to change the GUI layout, some parts are created using the Swing GUI Form Editor which was removed from NetBeans after version 7.0.1. Because this old version (http://netbeans.org/downloads/7.0.1/index.html) may have problems with Java 8, we suggest that you use Netbeans 8.1 (or possibly newer) and download the Form Editor as a plugin from here: http://plugins.netbeans.org/plugin/43853/swing-application-framework-support. To install the plugin, open Netbeans and click on Tools - Plugins - Downloaded - click "Add plugins...", open the file and then click Install. Uninstallation is unfortunately only possible by removing your netbeans folder (Linux: ~/.netbeans/) If you're only changing non-UI code, you don't need this; but please use it instead of manually editing the UI code otherwise you'll desynchronize the code and the form XML which is painful to fix. You also need https://github.com/emilianbold/nb-apache-form-binding/releases/tag/emi-1.0 for the beansbinding menu in the UI editor.

Initial setup

using the commandline

  • Open up a terminal (git bash on windows)
  • cd to a folder, where you want to have the VisiCut sources e.g.:
cd Desktop
  • clone the VisiCut repository including the LibLaserCut repository
git clone --recursive https://github.com/t-oster/VisiCut.git
  • If you get an error message that --recursive is unsupported (old version of Mac OSX e.g.), use:
git clone https://github.com/t-oster/VisiCut.git
cd VisiCut
git submodule init
git submodule update
  • Open up NetBeans
  • Open the LibLaserCut project, then the VisiCut project:
  • File->Open Project
  • select the path where you cloned the VisiCut repository, expand it and select the subfolder "LibLaserCut"
  • Hit 'Clean and Build'
  • File->Open Project
  • now select the VisiCut path

Congratulations. You should now have the latest Visicut version.

If you have this setup and want to start developing, always update to the latest develop-version first, see later.

using NetBeans

NetBeans – Teams – Git – Clone - https://github.com/t-oster/VisiCut/

„Do you want to initialize submodules?“ → Yes

Open Projects – select VisiCut and LibLaserCut – Open

If it shows "Problems detected in Project": Resolve Problems – „JDK 1.8 not found“ – Resolve – use existing Java: JDK11

Switch to Projects tab

Select Liblasercut first, right click on project, choose Clean and Build

Select VisiCut

To solve some dependencies right click pom.xml in Project Files and select Run Maven->Goals. Type initialize as the goal and click OK.

As an alternative run mvn initialize in a shell at the Visicut projects folder (default ~/NetBeansProjects/VisiCut).

Edit files, e.g. VisiCut – Source Packages – com.t_oster-VisiCut.gui.VisiCutApp.java

Compiling and running

Commandline

Run make run to compile and run VisiCut. LibLaserCut is compiled automatically.

Run make to only compile without running, and make clean to remove all built files.

NetBeans

To compile and run, select the VisiCut (not „LibLaserCut“) project and then select „Run – Run Project“. For debugging, use „Debug – Debug Project“ instead. Compilation may take some minutes for the first time. Click on specific source line to add a breakpoint.

Updating to the latest version

If you want to develop and publish a fix or a feature, read submit a fix or feature

Distribution

To create distribute files for the different platforms run distribute.sh

cd distribute; ./distribute.sh

(answer "n" for all packages you don't need like windows etc.)

To view compile errors you need to run make manually, in the main folder.

Clone this wiki locally