One of the issues I see in many SAP Commerce project is the lacking developer tooling, especially around project setup, packaging, deployment etc.
This prompted me to write and share various tools with the wider developer audience.
Everything is licensed under Apache License 2.0
Here are some highlights:
SAP Commerce Gradle Plugin
Update 2021-04-27: SAP Commerce Gradle Plugin is officially part of the SAP open-source GithHub organization since end of 2020
https://github.com/SAP/commerce-gradle-plugin
This plugin enables you to do the following with Gradle:
-
- Bootstrap (Unpack, configure, …) your SAP Commerce project
-
- Build SAP Commerce with Gradle
-
- Use a CCv2 (aka “SAP Commerce Cloud in the Public Cloud”) manifest.json to configure the build
-
- Validate
manifest.json
for common errors
- Validate
The plugins are extensively documented in the docs folder of the project, please check it out.
With these plugins, you can fully automate the project setup (for new developers, or on your Continuous Integration server) and (ideally) reduce it to a single Gradle task:
git clone <project>
cd <project>
./gradlew bootstrap
ccv2-project-template – Start your SAP Commerce Cloud in the Public Cloud (aka CCv2) project the right way
https://github.com/sap-commerce-tools/ccv2-project-template
Opinionated starter template for any CCv2 project.
Stay tuned for a future blog post about this template!
ybp – Auto-navigate to hybris/bin/platform
https://github.com/sap-commerce-tools/ybp
Everybody that develops SAP Commerce projects knows how annoying it is to change the directory to .../hybris/bin/platform
, source the ant configuration if necessary and then run the commands like ant
or hybrisserver.sh
, especially if you work on multiple projects.
This little helper script (available for Linux, macOS and Windows) automates that.
So instead of:
cd ../../../bin/platform
source setantenv.sh
ant clean all
you can just run
ybp ant clean all
With some shell aliases / additional helper scripts (on Windows) you can reduce that even further, for example:
ya clean all
Check the README of the repository for details.
envribbon – What system am I using?
https://github.com/sap-commerce-tools/environment-ribbon
We all have been there:
You run a quick script to delete some faulty data on your test system.
Script succeeds, changes commited, another days work completed!
And then you realize that you had the wrong tab open – It wasn’t the test system.
It was actually production.
The envribbon extension places a little ribbon/banner with the meta data of the current environment in the top left corner of the Administration Console and Backoffice.
Bonus: In CCv2, the meta data is provided automatically. Just add the extension to your project and you are ready to go. (Displayed information: <project>-<environment> (<aspect>)
)
hacvcsinfo – Display version control information in the administration console
https://github.com/sap-commerce-tools/hacvcsinfo
It really helps to see what commit/branch/tag was used to build the currently running server.
I hope these tools help everyone embarking on their SAP Commerce projects, as they already did for others.
And of course, Pull Requests, Issues, Ideas and maybe even a tool that you want to share are highly welcome!