Skip to content

epam/sap-commerce-intellij-idea-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,444 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Email slack Rating Downloads Version

JetBrains IntelliJ Platform SDK Docs JetBrains IntelliJ Platform SDK Samples JetBrains IntelliJ Platform UI Guidelines

SAP Commerce Developers Toolset

This plugin provides SAP Commerce (Hybris) integration into IntelliJ IDEA and another IDE based on it.

Valuable Note: This is an open-source project. Since around 2023, its maintenance and evolution have been driven by a very small group of dedicated contributors volunteering their time outside of regular working hours.

Please take a moment to acknowledge the contributors listed on the project’s Contributors & Insights page!

References

Features

  • Import of SAP Commerce extensions to IntelliJ IDEA with automatic dependency resolution and classpath configuration optimized for fast compilation.
  • Override module grouping via hybris4intellij.properties, available after project import in the config module.
  • Integration with SAP CCv2 CI/CD.
  • Enhanced Debugger for Model classes with lazy evaluation.
  • Advanced in-IDE build & compilation process.
  • Search Anywhere for Type & Bean Systems.
  • Import your custom Eclipse, Maven and Gradle extensions together with SAP Commerce platform.
  • Tight integration with kotlinnature which will enhance SAP Commerce with Kotlin language support
  • Extended support and customization for multiple 3rd-party IntelliJ IDEA plugins, such as:
    • Spring, Cron, Junit, Java, Grid, i18n, JavaEE WEB, JavaEE EL, Jrebel, Ant, Groovy, Angular, Database, Diagram, Properties, Copyright, Javascript, IntelliLang.
  • Custom editors for various custom languages with automatic formatting, find usages and go to declaration actions, validation and import of files into a remote SAP Commerce instance right from your IDE by a single click of a button, so far supported custom languages:
  • Custom editors for items.xml, beans.xml & cockpitng with validation, best-practices analyses, quick-fix autosuggestion and easy navigation and custom automated IntelliJ refactorings actions.
  • Preview and customize Loggers per SAP Commerce instance.
  • Extended support for such files as: external-dependencies.xml, extensioninfo.xml, localextensions.xml and core-advanced-deployment.xml
  • Visualization of Business Process, Type System and Module Dependencies (use context menu of the file "Diagrams/Show Diagram", only Ultimate IDEA).
  • Preview for Type & Bean Systems.
  • Comprehensive integration with the SAP Commerce instance through hAC API.
  • Enhanced project view tree.
  • Execution of Groovy scripts on a remote SAP Commerce.
  • Execution of queries on remote Solr instances.

Contribution guidelines

Quick start

Tip

Useful Technical Notes for special cases.

Please, use Got it Tooltip whenever you're changing related functionality.

  • Fork and checkout most-active main branch the project
  • Refresh gradle dependencies
  • Execute gradle task Run IDE

GitHub integration & SAP Commerce Projects Import State

Note

The plugin build system requires a GitHub Personal Access Token (classic).

This token is used to fetch pull requests labeled Requires - Project Refresh and Requires - Project Reimport. Based on these PRs, the build generates resources/prs.json, which determines the appropriate project import state.

SAP Commerce Projects Import States

  1. Reimport - Displays a reimport dialog listing all PRs requiring refresh or reimport.
  2. Forced Reimport - Displays a mandatory reimport dialog (cannot be skipped).
  3. Refresh - Displays a refresh dialog listing all PRs requiring a project refresh.
  4. Normal - No refresh or reimport required; no dialog is shown.

Setup Instructions

  • Create a Personal Access Token (classic) in GitHub: https://github.com/settings/tokens/new
  • Grant only the repo:public_repo scope
  • Set the environment variable GITHUB_TOKEN
  • Never commit or share this token

Sandbox Build process debugging

  • Start the sandbox
  • Enable Debug Build Process via actions menu
  • Start the build via sandbox
  • Start Debug - Build run configuration via Plugin development IDE

Contributors and Developers

Note

This project exists thanks to all the people who contribute! List of all ever contributors can be found here: CONTRIBUTING

Licence

GNU Lesser General Public License 3.0

Copyright (C) 2014-2016 Alexander Bartash AlexanderBartash@gmail.com

Copyright (C) 2019 EPAM Systems hybrisideaplugin@epam.com and contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.