Copy third party plugin jars to hengsin/plugins folder
The shell script will set IDEMPIERE_SOURCE environment variable for you if your local setup follow the following structure:
<parent folder>
|
|-- idempiere
|-- hengsin
If the above doesn't suite your local setup, create idempiere_source.properties file with IDEMPIERE_SOURCE= line (for e.g IDEMPIERE_SOURCE=/home/hengsin/workspace/idempiere).
Alternatively, you can set IDEMPIERE_SOURCE environment variable to idempiere source folder (for e.g export IDEMPIERE_SOURCE=/home/hengsin/workspace/idempiere).
At source folder for https://github.com/hengsin/hengsin, set IDEMPIERE_SOURCE environment variable pointing to iDempiere source folder (for e.g, export IDEMPIERE_SOURCE=/home/hengsin/workspace/idempiere)
If you wants to add custom AD_SysConfig setting to your iDempiere installer, build hengsin/com.github.hengsin.sysconfig.init (see README.md there for build instruction) and copy hengsin/com.github.hengsin.sysconfig.init/target/com.github.hengsin.sysconfig.init-10.0.0-SNAPSHOT.jar to hengsin/plugins folder. Edit hengsin/sysconfig.properties to add custom AD_SysConfig settings.
Run publish.sh script. The script will create a p2 repository at the hengsin/target/repository folder
Run install.sh script. The script will install plugin jars from hengsin/target/repository folder to hengsin/target/products/org.adempiere.server.product (use --offline for faster build)
Archive hengsin/target/products/org.adempiere.server.product for redistribution.
I just installed the IDE and workspace from scratch and found that iDempiere won't build right out of the box. The reason was that Eclipse came with the java 15 JRE preconfigured and iDempiere don't like that.
I was able to work around the issue by manually configuring the required java 11 JRE.
When it start to execute command mvn_verify during Eclipse setup. I had received this error below:
Performing Launch mvn_verify
java.lang.NullPointerException
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getBootpathExt(AbstractJavaLaunchConfigurationDelegate.java:364)
at org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getVMSpecificAttributesMap(AbstractJavaLaunchConfigurationDelegate.java:679)
at org.eclipse.jdt.launching.JavaLaunchDelegate.getVMRunnerConfiguration(JavaLaunchDelegate.java:92)
at org.eclipse.jdt.launching.JavaLaunchDelegate.launch(JavaLaunchDelegate.java:160)
at org.eclipse.m2e.internal.launch.MavenLaunchDelegate.launch(MavenLaunchDelegate.java:99)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:803)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:716)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:711)
at org.eclipse.oomph.setup.launching.impl.LaunchTaskImpl.perform(LaunchTaskImpl.java:335)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3851)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:3794)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:5160)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:5154)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:5152)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3785)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3760)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3638)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:595)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:722)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
I am getting this error when I run the installer:
Performing Git Clone [email protected]:idempiere/idempiere.git (master)
Cloning Git repo [email protected]:idempiere/idempiere.git to /home/diego/hgIdempiere/masteridempiere/idempiere-ws/idempiere
java.lang.Exception: org.eclipse.jgit.api.errors.TransportException: [email protected]:idempiere/idempiere.git: Cannot log in at github.com:22
at org.eclipse.oomph.setup.git.impl.GitCloneTaskImpl.perform(GitCloneTaskImpl.java:989)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3851)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:3794)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:5178)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:5172)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:5170)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:3785)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:3760)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:3638)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:595)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:722)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Did I miss a step or what can be the source of this issue?
@hengsin This is rather a question and not really an issue. (At least I hope so).
After running the installer I found that the eclipse workspace is the parent folder of the idempiere source code directory and not the iDempiere folder itself.
This setup is different from the one advised in the iDempiere development tutorial in the wiki.
(https://wiki.idempiere.org/en/Setting_up_Eclipse) where the idempiere source code folder is used as the workspace directory.
While it works just fine (I did use that setup myself when I started iDempiere development) I think it can lead to some irritation because People can get confused when they try to follow the Plugin Development tutorials using an IDE created with the installer. All the Tutorials in the wiki refer to the 'canonical' workspace path. Some tutorials also show path settings in eclipse dialogs that are relative to the workspace directory. Each of these also would need to have a comment added that explains the different workspace settings in manual and installer created IDE setups.
Can you comment on the reasoning behind the decision to use a different workspace setup?
Thanks