Setup of Development Environment for Fakturama 2.1.2 ==================================================== (written in Nov. 2021; versions may be different) System Environment --------------------------------------------------- OS: ArchLinux + XFCE Java: java-11-openjdk java-13-jdk java-15-adoptopenjdk java-16-adoptopenjdk java-17-jdk java-17-openjdk (default) jdk1.8.0_191 GIT: already installed Fakturama 2, master branch (https://bitbucket.org/fakturamadev/fakturama-2/src/master/) already checked out Eclipse Setup --------------------------------------------------- (always waited for Eclipse to finish its automatic processes e.g. on Startup etc. and whenever Eclipse asked for a restart I did it / let it do it) Download EclipseRCP (Eclipse IDE for RCP and RAP Developers) from: https://www.eclipse.org/downloads/packages/release/2021-09/r/eclipse-ide-rcp-and-rap-developers extract to desired location (from there Eclipse can later on be started) Download Fakturama's 'Dropins.zip' from: http://files.fakturama.info/dev/dropins.zip extract to Eclipse's "dropins" subdir Start Eclipse with new (empty) workspace Help -> Check for Updates update all Window -> Preferences -> Version Control (Team) -> Git adjust settings (location only, I left the rest as-is) File -> Import... -> Git -> Projects from Git (with smart import) from local repo (already existing branch) add repo (fakturama-2) selected all projects let Eclipse do its import magic closed all projects in 'fakturama-2' but 'Fakturama-Parent' (closed: 'org.fakturama.migtool', all in 'javamoney' and 'libs') closed project org.fakturama.import.extra in 'Fakturama-Parent' (here I got some strange reference/dependency errors; anyway, seems I don't need it) Window -> Preferences -> Java -> Compiler Compiler compliance level: 11 Window -> Preferences -> Java -> Installed JREs added java-11-openjdk and select as default --- note --- Maven build errors like: Unknown OSGi execution environment: 'JavaSE-17' reason: a JRE unknown by the used Tycho version Tycho 2.3.0: JavaSE-11/15/16 (this Tycho version is currently used in Fakturama) Tycho 2.5.0: JavaSE-11/15/16/17 solution: install supported Java version (java-11-openjdk, java-15-adoptopenjdk, java-16-adoptopenjdk) add them in Eclipse prefs -> Java -> Installed JREs and select a compatible one (currently: java-11-openjdk) --- --- [TARGET] open org.fakturama.target/org.fakturama.target.target in 'Target Editor' wait for resolving ... OK set as active target platform Window -> Preferences -> Plug-in Development -> API Baselines Add Baseline... A target platform select one of 'org.fakturama.target' Window -> Preferences -> Maven -> Errors/Warnings Plugin execution not covered by lifecycle configuration -> Ignore right click on Fakturama-Parent Maven -> Update project... select all right click on com.sebulli.fakturama.model / model / Fakturama.ecore Texo does not show up Help -> Install new software... add http://download.eclipse.org/modeling/emft/texo/updates/interim add all again, Texo -> Generate JPA Annotated Model Code installed/updated to latest EclipseLink (2.7.9) Help -> Install new software... add http://download.eclipse.org/rt/eclipselink/updates right click on Fakturama-Parent Run As -> Maven clean right click on Fakturama-Parent Run As -> Maven install (this is the regular build for the executables found in: /fakturama-2/Fakturama-Parent/com.sebulli.fakturama.site/target/products/) To run/debug Fakturama in/from Eclipse: right click on com.sebulli.fakturama.rcp Run/Debug As -> Run/Debug Configurations... Eclipse Application -> Fakturama-LINUX.product (depends on OS) in 'Plug-ins' tab 'Validate Plug-ins' should show no errors/problems; if so: 'Add Required Plug-ins' did it for me Run/Debug Additional Notes/Findings --------------------------------------------------- (that sometimes took me hours to figure out ;) sometimes Project -> Clean... (all) and rebuild and/or Maven clean/install may help --- (build) errors in com.sebulli.fakturama.rcp.test --- in Fakturama-Parent/pom.xml deactivate build run by commenting out the respective line --- Run As ... Maven install (very time consuming with many line like these) --- [INFO] Fetching org.eclipse.equinox.p2.metadata.nl_it_4.19.0.v20210327020002.jar from https://archive.eclipse.org/technology/babel/update-site/R0.18.3/2021-03/plugins/ (1,42kB) [WARNING] Some attempts to read artifact osgi.bundle,org.eclipse.equinox.p2.metadata.nl_it,4.19.0.v20210327020002 failed: [WARNING] An error occurred while transferring artifact canonical: osgi.bundle,org.eclipse.equinox.p2.metadata.nl_it,4.19.0.v20210327020002 from repository https://archive.eclipse.org/technology/babel/update-site/R0.18.3/2021-03: [WARNING] Retry another mirror: [WARNING] Artifact not found: https://mirror.umd.edu/eclipse/technology/babel/update-site/R0.18.3/2021-03/plugins/org.eclipse.equinox.p2.metadata.nl_it_4.19.0.v20210327020002.jar. in org.fakturama.target.target all unit references within replaced by references to current/latest version (the given were moved to an archive area) - change repository location - set version to version="0.0.0" on all of them example: (I kept a copy of the old block and commented it out) : afterwards the target must be updated, see at [TARGET] above and a new (clean) Maven build --- strange errors --- [ERROR] Contact_ cannot be resolved [ERROR] /data/DEVELOPMENT/Fakturama/git/fakturama-2/Fakturama-Parent/com.sebulli.fakturama.rcp/src/main/java/com/sebulli/fakturama/dao/ContactsDAO.java:[119] [ERROR] Contact_.company.getName(), Address_.zip.getName(), Address_.city.getName()}; [ERROR] ^^^^^^^^ reason: I deactivated / forgot to reactivate Project -> Build Automatically these 'underscore classes' classes (model._) are created by the regualar (not the Run As -> Maven clean/install) build (and removed on Project -> Clean...) --- --- --- a remaining compliance problem (different setting here - why??) --- right click on org.fakturama.e4.ui.dialogs.ext -> Properties -> Java Compiler - Enable project specific settings - Use compliance from execution environment 'JavaSE-11' on the 'Jaba Build Path' (Compiler compliance level: 11) --- last Error (about the Baseline) --- Windows -> Preferences -> Plug-in Development -> API Baselines Options: Missing API baseline -> Warning (was Error) --- now no more errors in Problems view :-) ---