Development Environment
Update 20250226
Here is a quick updated on my development environment setup:- I have incus installed on my local Linux machine
- I run a container using the gui2 profile discussed here.
- I install the desired version of iDempiere (just like any other server) from here.
- I clone this repo: https://github.com/hengsin/idempiere-dev-setup
- Note: git checkout eclipse-jee-2024-03 #for iD11
- Note: the version of eclipse and the version of iDempiere are sensitive
- Install maven (note version in hengsin dev setup repo above)
- Note: always download the latest version from apache: https://maven.apache.org/install.html
- tar and update path to point to the bin
- mvn --version
- sudo apt install libswt-gtk-4-jni libswt-gtk-4-java
- cd idempiere-dev-setup
- ./setup.sh --branch release-11 --skip-setup-db | tee ~/.id-dev-build.log
- Launch eclipse: ./eclipse.sh
- If you get a bunch of errors when you first load eclipse, simply click on any left-hand file, ctrl+a to select all files, right-click and refresh
Older
Here is a reference to configure a Logilite 9 Development Environment. Please note the below content is quite outdated. Below kept for reference... Note: you can download a pre-packaged VirtualBox image of the iDempiere server and development environment with each of the releases. Go to the main coursework page and find the "Releases" section. Each release will have its own VirtualBox image.Development Environment Installation
As of 2024-12, the easiest way to install and use the Eclipse is to use this script. See the repository's readme.md for details. I recommend using the '--skip-setup-db' option since you will most likely be using an existing database. You can use '--help' to get more information about deployment options. We will be updating both Logilite and core iDempiere => upper-left logo => info tab to include the git revision so that you can know exactly what revision to run in your environment to resemble production.Development Environment Installation and Execution
Please note this is an advanced topic. If you are new to iDempiere, I do not recommend you perform this step until you have a specific need for a development environment.
- Find the Project or Package Explorer.
- Ctrl+A to highlight all packages/projects
- F5 to refresh (or right-click and select Refresh)
- Wait about 3 minutes for the system to do its thing.
- Execute the following command from terminal
- sudo apt-get install dkms gcc
- VirtualBox => Devices menu item => Insert Guest Additions CD Image => Run from OS prompt
- More about what is installed with the development environment
- Install Eclipse plugins
- Configure Eclipse
- Run iDempiere inside Eclipse
- Note: when reconnecting via remote desktop (from a disconnected session) the existing port is usually 5910
2015-03-12 AM Open Discussion - Introduction to Plugin Development
2014-07-03 AM Environment Management - Source Code Control - Database Versioning - Mercurial - Patch - Upgrade
Please be aware the below video represents advanced topics. Do not be intimidated if you do not completely understand. I have added it here for convenience and future reference.- Script to install iDempiere
- -D includes the development environment
- 0:02:00 Diagram of installation
- 0:04:00 Two local repositories - idempiere and myexperiment
- 0:06:30 iDempiere Jenkins projects - how iDempiere builds binaries (idempiere, idempiereDaily, idempiere2.0, idempiere2.0Daily)
- 0:11:30 Specifying which Jenkins project to create your installation (-j option)
- 0:14:00 Summary - How to configure your desktop and eclipse. You can find the step by step instructions here.
- 0:18:00 Mercurial tutorial
- 0:19:00 hg branches - show all branches
- 0:20:00 hg update - change branch or revision
- 0:22:15 relationship between idempiere binaries and the code repository - updating the code to match the database
- 0:24:45 hg pull - getting the latest changes
- 0:26:00 hg log - seeing past commits and revisions
- 0:27:30 hg update after hg pull (hg update --clean)
- 0::30:00 creating your .hgrc config file
- 0:33:00 non-command line tools for working with mercurial (tortoise, eclipse, etc...)
- 0:34:45 TANGENT - the bigger picture and how your development environment fits with jenkins, production, test, your developer,e tc...
- 0:43:00 using chuboe_idempiere_upgrade.sh to upgrade my idempiere binaries and my DB to use the most recent build so that the DB matches my dev environment.
- NOTE (0:48:15): I forgot to give Carlos Ruiz credit for writing the actual script that compares the scripts with the db scripts. I am very sorry Carlos!!
- 0:53:00 script to create version control for your /opt/idempiere-server folder into a version controlled repository so that you can unwind any changes (accidental or purposeful).
- 0:58:45 great mercurial tutorial
- 0:59:00 creating, merging branches
- 0:59:30 creating a mercurial patch
- 1:00:00 applying or importing patches generated by someone else - deepak's iDempiere 1770 feature patch for better ASI (serial lot) control
- 1:05:30 hg revert -all to undo modifications to tracked files
- 1:05:45 hg purge to remove newly created files
- The patch updates the source code
- The patch also potentially includes sql scripts - use the upgrades script to apply the sql scripts.
- 1:09:30 more information about creating patches.