Gradle plugin to validate architectural and design aspects
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status


This project provides a tool to identify architectural mistakes.


The plugin can be registered in all intershop assemblies.

Include to build.gradle

buildscript {
    dependencies {
        classpath ''
apply plugin: ''

architectureReport {
    ivyFile= new File (deployServer.targetDirectory, 'share/ivy.xml')
    cartridgesDir = new File (deployServer.targetDirectory, '/share/system/cartridges')
    baselineFile = new File (rootProject.projectDir, 'api_definition_baseline.xml')
    knownIssuesFile = new File(rootProject.projectDir, 'known_issues.xml')
    keySelector = ['com.intershop.api.violation']

Start the architecture report task:

./gradlew validateArchitecture


task description
validateArchitecture task creates api definition, api diffs, list of collected issues

Validation Keys

key description
com.intershop.api.violation api differences to an api baseline
com.intershop.isml.xss possible XSS issues in isml (Intershop Markup (Template) Language) templates
com.intershop.businessobject.persistence references to persistence layer inside of business object api
com.intershop.businessobject.internal references to internal classes inside of business object api
com.intershop.pipelet.unused pipelet can be removed / not longer used
com.intershop.pipelet.used.deprecated pipelet is deprecated, but still in use by pipelines
com.intershop.pipeline.invalid.pipelineref pipeline contains references to non existing pipeline start nodes
com.intershop.library.update new version contains major third party library update new version contains a new third party library


key type description
reportsDir File write reports (new_issues, api_definition, resolved_issues)
knownIssuesFile File (optional) read known issues from a xml-file, listed issues will be ignored
keySelector List<String> define keys for validation, other issues will be ignored
baselineFile File (optional) api baseline (previously published api_definition.xml of baseline release)
cartridgesDir File cartridge directory of ICM server
ivyFile File ivy.xml file contains server dependencies and build numbers
useExternalProcess Boolean using external java process to execute validation (default: true)


file description
api_definition.xml api extraction of current build
api_violation.xml removed api entries (compared to document located at 'baseLineURI')
fixed_issues.xml issues, which are listed at 'knownIssuesFile', but not longer detected
new_issues.xml issues, which are not listed at 'knownIssuesFile', but detected


Copyright 2014-2016 Intershop Communications.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.