Recipe - Configure Cartridge Location via settings.gradle

Info

This recipe is valid from Intershop Commerce Management version 7.8.0.0.

Problem

There is an own settings.gradle for each host type. According to an already created ivy.xml the cartridges are deployed to the <IS_SHARE> directory, but we want the cartridges within <IS_HOME>.

Prefer the solution Recipe - Configure Cartridge Location, if possible.

Solution

  1. Remove the cartridges from share.
    Add includeCartridges = false to the target extension of the settings.gradle for host type share.
  2. Add the cartridge to local.
    Add hostType.includeCartridges = false to the host type extension of the settings.gradle for host type appserver.

Discussion

The ivy.xml, which the deployment is based on, shows the cartridges that should be deployed for host type 'share', which means they are deployed into <IS_SHARE>:

ivy.xml
...
    <e:hostType name="appserver" includeCartridges="false" includeShare="false" includeLocal="true" includeJavadoc="false"/>
    <e:hostType name="share" includeCartridges="true" includeShare="true" includeLocal="false" includeJavadoc="false"/>
...

To adapt the deployment locations to <IS_HOME>, the settings.gradle of the host type 'share' and 'appserver' need to be adapted:

settings.gradle of host type appserver
        hostType {
            hostType 'appserver'
			hostType.includeCartridges = true
        }
settings.gradle of host type share
        target {
            includeCartridges = false
        }