Code Monkey home page Code Monkey logo

idempiere-dev-setup's Introduction

Linux scripts to setup new iDempiere Development environment

Pre-requisite

  • Maven (>=3.8.6)
  • Git.
  • Docker (optional, for installation of postgresql server).
  • JDK 17 (optional since Eclipse is now bundle with JRE 17).

Before running the setup.sh script, make sure you have a compatible Maven version

mvn -version

If you don't have the needed mvn version, download and unpack an appropriate version and set your environment

export MVN_HOME=/your/mvn/version
export PATH=$MVN_HOME/bin:$PATH

NOTE!

If building older releases don't work properly, use the appropriate tagged version (see the git tags of this repository).

Usage

If you are using zsh instead of bash shell, run the following 2 command to enable bash completion.

* Run **autoload bashcompinit**
* Run **bashcompinit**
  • Run source completion.bash to turn on auto completion for bundle shell scripts.
  • Run ./setup.sh --help to get help on options available.

Examples of usage:

./setup.sh --branch release-10 --repository-url [email protected]:idempiere/idempiere.git --docker-postgres-create 

./setup.sh --branch release-10 --docker-postgres-create --db-admin-pass <your-password>

./setup.sh --skip-setup-db

What it does

  • Clone idempiere source and run Maven build.
  • Download and setup Eclipse JEE 2023-06.
  • Create new workspace in the cloned idempiere folder and import all projects into the workspace.
  • Set target platform and build the workspace.
  • Setup connection properties (idempiere.properties) and jetty server (jettyhome).
  • If DB doesn't exists yet, import iDempiere db.
  • If DB exists, apply migration scripts.
  • You should have a ready to run Eclipse workspace after the completion of the script.

Scripts

  • Use --help option to get help in available options.
  • setup.sh is the main entry point to invoke other scripts.
  • docker-postgres.sh - script to install and run postgres 15.3 docker container image.
  • eclipse.sh - script to start Eclipse IDE.
  • setup-db.sh - script to setup DB connection propertis (idempiere.propertis), jetty server (jettyhome) and import iDempiere seed database (if DB does not exists) or apply migration scripts (if DB exists).
  • setup-ws.sh - setup idempiere workspace, set target platform.

idempiere-dev-setup's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

idempiere-dev-setup's Issues

Eclipse crashes with error code 127 jvm terminated

Hi! I am using your script to install the dev setup on Ubuntu 20.04.

Everything runs smoothly. When I open eclipse and try to press any button, the eclipse closes with error code 127 saying JVM terminated. Please advise.

.idpass not setup? Variables file does not exist

Hi!

This script works as a charm, except that it fails when any of the setups are tried to be run i eclipse. With setups I mean

install.silent.app
install.console.app
install.app

An execute call to /idempiere-dev-setup/idempiere/org.adempiere.server-feature/utils.unix/getVar.sh
from
org.compiere.install.ConfigurationData.load fails to find the file .idpass

Adding the environment variable

-DIDEMPIERE_SECURE_PROPERTIES=false

to the debug/run configuration solves this problem, but it also means that .idpass is not setup from what I understand.

https://groups.google.com/g/idempiere/c/fhug5803JQk/m/CMigpLKnAgAJ

If this problem didn't occur the setup script would work without any trouble :-) Final piece for a super handy setup.

System not runing to the end

Hello,
I am installing the system as per your guidelines. However it seems to be stuck at this point (as per attached pic).

Kindly help
github

Update db setup script add auto complete support

  • remove the use of = (i.e --db-port 54321 instead of --db-porrt=54321) and add auto complete support for scripts.
  • update postgresql docker container image setup to version 15.3
  • update setup-db.sh for JAVA_OPTIONS

org.adempiere.server.feature Error

Hello
I am still going through your code step by step in order to understand it.

After downloading eclipse, the code runs "mvn verify" to build the platform. However, as per today (16th Jan 2020), the following error (attached) is returned.

Could you help.
error

Database Set-Up

Hey there again,
The database details provided in the set up are somehow in correct.
db_test
error

mvn verify won't run on openjdk-1.17

Running "mvn verify" is part of the setup-script and it creates paths and files needed later.
Trying to run it using openjdk-1.17 causes an error as below:

daniel@daniel:/github/idempiere-dev-setup/idempiere$ mvn verify
[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
[ERROR] Caused by: Exception com.google.inject.internal.cglib.core.$CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @69a10787 [in thread "main"]
daniel@daniel:
/github/idempiere-dev-setup/idempiere$ mvn -version
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 17.0.8.1, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64
Default locale: sv_SE, platform encoding: UTF-8
OS name: "linux", version: "5.10.0-1008-oem", arch: "amd64", family: "unix"

Changing to Java 11 avoids the error (will give warning instead)

daniel@daniel:~/github/idempiere-dev-setup/idempiere$ mvn verify
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] Scanning for projects...
[INFO] Resolving target definition file:/home/daniel/github/idempiere-dev-setup/idempiere/org.idempiere.p2.targetplatform/org.idempiere.p2.targetplatform.target for environments=[linux/gtk/x86_64, win32/win32/x86_64, macosx/cocoa/x86_64], include source mode=honor, execution environment=StandardEEResolutionHints [executionEnvironment=OSGi profile 'JavaSE-11' { source level: 11, target level: 11}], remote p2 repository options=org.eclipse.tycho.p2.remote.RemoteAgent@38856d6e...

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.