-
Notifications
You must be signed in to change notification settings - Fork 5
How to contribute
- Use the extension for all your deployment requirements.
- Propose features: If some feature is missing, just propose it. Please create a ticket explaining the idea and its benefits.
- Report bugs: It is encouraging to see how your own code is every day better, so don't be afraid of reporting bugs How to report a bug
- If this extension is useful on your project, just drop me a line or start this project Github. It is nice to know the people who are using your code.
- If you have translated the extension to your mother tongue, I would be very grateful if you sent me the localized files to include them in the next release.
It doesn't matter if you already have experience with Hybris. More important is that you have time and you are not afraid of bringing new ideas and features. Just send me an email explaining why you would like to join the project and I would set up the permissions.
- SAP JDK 64-Bit 17.0.6
- Intellij IDEA 2022.1.3 Ultimate Edition. The Intellij Integration plugin don't work with newer versions
- SAP Commerce Developers Toolset 2022.1
- Git 2.34.1
- Git Flow 1.6.1 (AVH Edition)
- SAP hybris 2205
- All running on XUbuntu 22.04.1 LTS or other Unix-like operating system
- Docker 20.10.6
- Docker-compose 1.16.1
- PMD (automatically installed by Ant)
- Checkstyle (automatically installed by Ant)
- SportBugs (automatically installed by Ant)
- Cobertura (automatically installed by Ant)
Here you will find how the set up the project to start developing or bugfixing. I assume that you are working on linux.
SAP commerce comes with HySQL and additional docker containers are used for MySQL, Oracle XE and Microsoft SQL.
The integration tests use docker-compose files to start the database containers.
Please run docker login
to be sure that your docker credentials are still valid.
Instructions to create a docker image with Oracle XE
- You can skip the download of the RPM with Oracle XE 1.8.4 because the docker script already does it
- You will need to correct the port numbers to `-p 9521:1521 -p 9500:5500 -p 9484:2484'
- If the docker build script seems to hang, it may be downloading the RPM with 2,3 GB. You can use
iotop
to check the network usage - If the docker build script hangs for any other reason, please check this ticket or the Oracle's official instructions
- You will start the docker container with:
docker run --name oraclexe21 \ -p 9521:1521 -p 9500:5500 -p 9484:2484 \ -e ORACLE_SID=XE \ -e ORACLE_PWD=changeme \ -e ENABLE_TCPS=true \ oracle/database:21.3.0-xe
After you started a container, you can use Intellij IDEA to test the connection:
If you get the following error, you have to wait for the database to be ready. It may take up to 10 minutes:
[2021-05-13 11:24:53] oracle.net.ns.NetException: Listener refused the connection with the following error:
[2021-05-13 11:24:53] ORA-12526, TNS:listener: all appropriate instances are in restricted mode
[2021-05-13 11:24:53] (CONNECTION_ID=85i00G/+QgWdyvkwcfuqoA==).
If you get the error "Got minus one from a read call" you need to set the parameter oracle.net.disableOob to true like in:
TODO
TODO
- Create the parent directory with
mkdir -p ~/no_backup/areco
cd ~/no_backup/areco
- Create a local git repository using:
git clone [email protected]:arobirosa/areco-deployment-script-manager.git manager2205
- This creates ~/no_backup/areco/manager2205
- Open the file manager2205/.git/config and add the git flow configuration:
[gitflow "branch"]
master = production
develop = master
[gitflow "prefix"]
feature = feature/
release = release/
hotfix = hotfix/
support = support/
versiontag =
bugfix = bugfix/
[gitflow "path"]
hooks = /home/arobirosa/no_backup/areco/manager2205/.git/hooks
- Change the last line to the folder of your repository
- Due to a bug in git flow, checkout the branch production locally:
git checkout production
If you don't do this, git flow will complain saying it is configured.
- Download the hybris SAP platform.
- Extract the hybris platform and cockpit extensions inside the directory manager2205:
unzip CXCOMM220500P_6-80006942.ZIP -d /home/arobirosa/no_backup/areco/manager2205/
- This will create the following directories:
<manager2205>/hybris/bin/platform
<manager2205>/hybris/bin/modules
- Go to the directory and run in a console:
. ./setantenv.sh
ant all
This will create the config folder. For windows you have to run instead the setantenv.bat file. Type the command setantenv.bat
- Create your own local.properties file using the file /hybris/config6.x/local.properties.template.
cp hybris/config6.x/local.properties.template hybris/config/local.properties
- Add the password for the administrator to the hybris/config/local.properties:
initialpassword.admin=nimda
- Create your own localextensions.xml file using the file /hybris/config6.x/localextensions.xml.template.
cp hybris/config6.x/localextensions.xml.template hybris/config/localextensions.xml
- To be able to work on all the extensions
- Add the extension arecoDeploymentScriptsExamples to hybris/config/localextensions.xml 2.Uncomment the extensions arecodeploymentscriptsbackoffice and arecodeploymentscriptshmc to hybris/config/localextensions.xml
- Now you are ready to compile everything. Run in a console directly in the path of the project directory arecodeploymentscriptsmanager-code:
ant clean all yunitinit qa
If you experience memory issues during the compile process, check the option standalone.javaoptions in the file arecodeploymentscriptsmanager-code\hybris\bin\platform\resources\advanced.properties by reducing the memory configured. TODO Find the cause of this error
This will compile all the Hybris extensions, the deployment manager, install PMD, Findbugs, Checkstyle and Cobertura, run all the tests and check for QA violations.
- Import the project into Intellij IDEA.
Download the Oracle Thin JDBC driver and save it in './hybris/bin/platform/lib/dbdriver'. Then add the following properties to local.properties:
# Oracle XE
db.url=jdbc:oracle:thin:@localhost:9521:XE?oracle.net.disableOob=true
db.driver=oracle.jdbc.driver.OracleDriver
db.username=SYSTEM
db.password=changeme
db.tableprefix=
Semantic Versioning 2.0.0 is used.