/commerce-gradle-plugin

Gradle plugins for the full development lifecycle of a SAP Commerce project

Primary LanguageJavaApache License 2.0Apache-2.0

SAP Commerce Gradle Plugins 3.6.0

Actions Status REUSE status

Bootstrap, configure and build your SAP Commerce (Hybris) project using Gradle 5+.

For the user documentation, please check the /docs folder

The plugins are published to https://plugins.gradle.org/.

Published Plugin Documentation Description
sap.commerce.build Documentation Automates the developer setup and allows you to interact with the platform build using Gradle
sap.commerce.build.ccv2 Documentation Use manifest.json to configure and build your "SAP Commerce Cloud in the Public Cloud" (aka CCv2) project locally
sap.commerce.ccv1.package Documentation Creates CCv1 compliant deployment packages (Deployment Packaging Guidelines v.2.3.3)

This project uses Semantic Versioning 2.0.0

Getting Started

Here is how you get started with the plugins for your SAP Commerce project.

Prerequisites

Install Gradle, in case you haven't yet.

Examples

Minimal Setup for CCv2 Manifest Validation

  1. cd <project>/core-customize

  2. (optional, but highly recommended) Initialize the Gradle Wrapper

    gradle wrapper
  3. Add a minimal Gradle build script:
    build.gradle.kts

    plugins {
        id("sap.commerce.build.ccv2") version("3.6.0")
    }
  4. ./gradlew validateManifest

Development Setup

For a fully automated, best-practice CCv2 project setup, refer to sap-commerce-tools/ccv2-project-template

  1. cd <project>/core-customize

  2. (optional, but highly recommended) Initialize the Gradle Wrapper

    gradle wrapper
  3. Add Gradle build script
    build.gradle.kts

    plugins {
       id("sap.commerce.build") version("3.6.0")
       id("sap.commerce.build.ccv2") version("3.6.0")
    }
    
    repositories {
      //Please refer to the official Gradle documentation and the plugin documentation for additional
      // information about dependency resolution.
    
      // Option 1: Use a (custom) Maven repository to provide SAP Commerce artifacts for development
      maven {
         url = uri("https://custom.repo.com/maven")
      }
      // Option 2: Download all required files manually and put them in `dependencies` folder
      // There are ways to automate the downloads from launchpad.support.sap.com, please check the FAQ.
      // Make sure to rename the files accordingly (<artifactId>-<version>.zip)
      flatDir { dirs("dependencies") }
    
      mavenCentral()
    }
  4. Enjoy things like:

    • ./gradlew bootstrapPlatform - download (if you use Maven) and set up the correct SAP Commerce zip, extension packs, cloud extension packs, ..., as defined in manifest.json
    • ./gradlew installManifestAddons - install all addons as defined in manifest.json
    • ./gradlew yclean yall - run ant clean all using Gradle. You can run any Ant target provided by SAP Commerce as y<target>.
    • ./gradlew validateManifest- validate your manifest for common errors. Now with additional checks because the full platform is available.
    • ./gradlew cloudTests cloudWebTests- run the tests defined in manifest.json

Don't forget to commit the Gradle Wrapper and your build script.

Support

Please raise an issue in this GitHub project, following the guidelines outlined in CONTRIBUTING.md

Contributing

Please refer to CONTRIBUTING.md