Code Monkey home page Code Monkey logo

idempiere-oomph's Introduction

idempiere-oomph

Eclipse Oomph Project Setup Model for iDempiere Development environment.

Pre-requisite

What the iDempiere Project Setup Model does

  • Install Tycho Configuration plugin.
  • Clone iDempiere source (master branch) from github.com/idempiere/idempiere to /idempiere
  • Run "mvn verify".
  • Import iDempiere projects into workspace.
  • Set and load iDempiere Target Platform (idempiere-210426).
  • You can override the ${github.repository}, Git clone branch and Target Platform variables to setup source from other repository (for e.g your own fork repository) or other branch from the idempiere/idempiere repository (for e.g release-8.2 branch).
  • Alternatively, change the value for the variables above at eclipse-installer/setups/idempiere.setup file to create your own custom installer (You should change the name attribute to differentiate it from the default setup).

What the custom Eclipse installer does

  • Install "Eclipse IDE for Enterprise Java Developers".
  • Execute the Project Setup Model actions listed above (Note that the Project Setup Model actions are auto executed after the first launch of the Eclipse IDE, be patient and wait for the popup dialog).

Installation

  • Download the installer archive (idempiere-eclipse-inst-jre-*) for your OS (win, linux or mac).
  • Extract the downloaded archive to a folder and run it (eclipse-inst for linux and mac, eclipse-inst.exe for window).
  • It is a wizard interface and you should tick the 'iDempiere Master' option at second page.

Steps to Create Installer

  • git clone https://git.eclipse.org/r/oomph/org.eclipse.oomph.git
  • Update setups/org.eclipse.products.setup from org.eclipse.oomph/setups/org.eclipse.products.setup inside the clone source above.
    • The <product name="epp.package.jee"label="Eclipse IDE for Enterprise Java and Web Developers"> section.
    • Copy the <version ..> part for the version that you are creating the installer for (for e.g 2021-06)
  • Update setups/idempiere.setup
    • Update name attribute of setup:Project to idempiere.{version}.{target platform timestamp} (for e.g idempiere.10.220525 for version 10 and target platform idempiere-220525).
    • Update defaultValue for idempiere.target.platform setupTask.
  • Download installer from https://wiki.eclipse.org/Eclipse_Installer.
  • Copy the downloaded installer to root folder
  • Run create-linux-installer.sh, create-mac-installer.sh and create-windows-installer.sh
    • Installer archive for linux, mac and windows will be created at the target folder.

Steps to Update installer

  • If the changes is just idempiere.setup and/or idempiere.projects.setup, download the latest archive from https://github.com/hengsin/idempiere-oomph/releases.
  • Extract the downloaded archive, replace idempiere.setup and/or idempiere.projects.setup from project source.
  • Use the updated archive to create a new release.
  • For new Eclipse version, use the steps above to create a new installer.

Create your own custom installer

  • Download the installer archive from the release section
  • Extract the archive
  • Edit eclipse-installer/setups/idempiere.setup
    • Change name attribute of setup:Project. That should be a unique name for your setup profile and is use to reference the local variable cache.
    • Edit defaultValue for git.clone.branch setupTask. This is the branch that you want to check out source from.
    • Edit defaultValue for github.repository setupTask. This is the path to your github repository (for e.g, mine is hengsin/idempiere)
    • Edit defaultValue for idempiere.target.platform. This is the name of your target platform.
  • After you have completed the changes, you can use it directly or archive it for redistribution. For testing, it is recommended to copy the eclipse-installer folder to a temporary location and run it from there. Note that if you want to archive it for redistribution, you should archive the folder that you have not attempt to run the installer.

Notes for Mac

  • The eclipse-installer is inside the "Eclipse Installer.app/Contents/Eclipse" folder.

Notes for Windows

  • Following are steps to extract windows installer archive using org.eclipse.oomph.extractor.lib.BINExtractor, use this if unzip doesn't work to extract the actual contents
  • Extract eclipse-inst-win64.exe to eclipse-inst-win64 folder
  • mkdir exp
  • java -classpath ./eclipse-inst-win64 org.eclipse.oomph.extractor.lib.BINExtractor ./eclipse-inst-win64.exe ./exp/product.zip -export ./exp/marker.txt ./exp/extractor.exe ./exp/org.eclipse.oomph.extractor.lib.jar ./exp/product-descriptor
  • Extract exp/product.zip to exp/product
  • rename exp/product to exp/eclipse-installer

Local Variables Cache

  • Local variables cache is store at ~/.eclipse/org.eclipse.oomph.setup/setups
  • To reset local variables cache, remove the following file at the folder above:
    • user.setup

idempiere-oomph's People

Contributors

hengsin avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

tiagoceridorio

idempiere-oomph's Issues

Error when running the oomph

Hi Heng Sin,

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?

Eclipse 2021-03 comes with a Java 15 JRE preconfigured

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.

Nonstandard workspace folder

@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

Receiving Error Java.Lang.NullPointerException

Hi,

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)

There are failed tasks.

Thanks,
Anwar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.