<?xml version="1.0" encoding="UTF-8"?>
<?asciidoc-toc maxdepth="2"?>
<?asciidoc-numbered?>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
<info>
<title>Intershop Commerce Management Project Plugins</title>
<date>2020-05-26</date>
</info>
<section xml:id="asciidocsummary">
<title>Summary</title>
<simpara>This plugin collection contains plugins for building all necessary artifacts of an
Intershop Commerce Management Server.</simpara>
</section>
<section xml:id="asciidocintershop-commerce-management-cartridge-plugins">
<title>Intershop Commerce Management Cartridge Plugins</title>
<informalfigure>
<mediaobject>
<imageobject>
<imagedata fileref="images/CartridgePlugins.png" contentwidth="500"/>
</imageobject>
<textobject><phrase>Cartrdige Plugins</phrase></textobject>
</mediaobject>
</informalfigure>
<simpara>The abstract Cartridge plugin adds a pom property "cartridge.style" if
the <link xl:href="https://docs.gradle.org/current/userguide/publishing_maven.html">Gradle "Maven Publish Plugin"</link> is applied.</simpara>
<section xml:id="asciidoccontainer-cartridge-plugin">
<title>Container Cartridge Plugin</title>
<simpara>This plugin applies the standard Cartridge plugin only and should be used for cartridges, that are
only deployed to a container. It add an extra property "cartridge.style" to the Cartridge project.
The value of the property is "container". There is no publishing configuration for an external Maven repository.</simpara>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.container' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.container") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
</section>
<section xml:id="asciidocproduct-cartridge-plugin">
<title>Product Cartridge Plugin</title>
<simpara>This plugin applies the "Public Cartridge Plugin" and add an extra property
"cartridge.style" to the Cartridge project. The value of the property is "cartridge". This value is also set
for the pom property. It should be applied to projects for further development. The following artifacts will be
published to a Maven repository: jar, source jar and javadoc jar.</simpara>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.product' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.product") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
</section>
<section xml:id="asciidocadapter-cartridge-plugin">
<title>Adapter Cartridge Plugin</title>
<simpara>This plugin applies the "External Cartridge Plugin" and add an extra property
"cartridge.style" to the Cartridge project. The value of the property is "adapter" and is also
set to the pom property. This plugin should be applied to special adapter Cartridges like
payment or search connectors.</simpara>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.adapter' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.adapter") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
</section>
<section xml:id="asciidocdevelopment-cartridge-plugin">
<title>Development Cartridge Plugin</title>
<simpara>This plugin applies the "External Cartridge Plugin" and add an extra property
"cartridge.style" to the Cartridge project. The value of the property is "development".
This plugin should be applied to special development projects. This kind of Cartridges are not available
on a production or test container.</simpara>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.development' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.development") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
</section>
<section xml:id="asciidoctest-cartridge-plugin">
<title>Test Cartridge Plugin</title>
<simpara>This plugin applies the "Cartridge Plugin" and add an extra property
"cartridge.style" to the Cartridge project. The value of the property is "test".
This plugin should be applied to special test projects. This kind of Cartridges are not available
on a production container.</simpara>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.test' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.test") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
</section>
<section xml:id="asciidoccartridge-plugin">
<title>Cartridge Plugin</title>
<itemizedlist>
<listitem>
<simpara>This plugin applies the <link xl:href="https://docs.gradle.org/current/userguide/java_plugin.html#header">Gradle "Java Plugin"</link>
to the project.</simpara>
</listitem>
<listitem>
<simpara>It applies two configurations</simpara>
<itemizedlist>
<listitem>
<simpara><literal>cartridge</literal> and</simpara>
</listitem>
<listitem>
<simpara><literal>cartridgeRuntime</literal><?asciidoc-br?>
to the project.</simpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<simpara>The following tasks are added by the plugin:</simpara>
<itemizedlist>
<listitem>
<simpara><literal>writeCartridgeDescriptor</literal></simpara>
</listitem>
<listitem>
<simpara><literal>writeCartridgeClasspath</literal> - depends on the Gradle property <literal>classpath.file.enabled</literal></simpara>
</listitem>
<listitem>
<simpara><literal>copyThirdpartyLibs</literal></simpara>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<simpara>The tasks "writeCartridgeDescriptor" and "writeCartridgeClasspath" are grouped by the task "writeCartridgeFiles". i
It is not necessary to apply this plugin to a project separately, because it was applied by some of the plugins above.</simpara>
<section xml:id="asciidocconfigurations">
<title>Configurations</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="64*"/>
<colspec colname="col_2" colwidth="64*"/>
<colspec colname="col_3" colwidth="64*"/>
<colspec colname="col_4" colwidth="230*"/>
<thead>
<row>
<entry align="left" valign="top">Configuration name</entry>
<entry align="left" valign="top">Transitive</entry>
<entry align="left" valign="top">Extends</entry>
<entry align="left" valign="top">Usage</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">cartridge</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>false</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>implementation</literal></simpara></entry>
<entry align="left" valign="top"><simpara>for Cartridge dependencies</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">cartridgeRuntime</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>true</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>cartridge</literal></simpara></entry>
<entry align="left" valign="top"><simpara>for Cartridge runtime dependencies</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidoctasks">
<title>Tasks</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="111*"/>
<colspec colname="col_2" colwidth="140*"/>
<colspec colname="col_3" colwidth="170*"/>
<thead>
<row>
<entry align="left" valign="top">Task name</entry>
<entry align="left" valign="top">Class</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">writeCartridgeDescriptor</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
WriteCartridgeDescriptor</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a the Cartridge descriptor file <literal>cartridge.descriptor</literal>.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">writeCartridgeClasspath</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
WriteCartridgeClasspath</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a the Cartridge classpath file <literal>cartridge.classpath</literal> for ICM server projects.
This task is only configured if the Gradle property <literal>classpath.file.enabled</literal> is true. <link linkend="anchor-1">[1]</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">copyThirdpartyLibs</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CopyThirdpartyLibs</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Copies all 3rd party libraries to one build directory. File located in the container of the
base project are not copied.<link linkend="anchor-2">[2]</link></simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara><anchor xml:id="anchor-1" xreflabel="[anchor-1]"/>[1] The default value of "classpath.file.enabled" is false.</simpara>
<simpara><anchor xml:id="anchor-2" xreflabel="[anchor-2]"/>[2] Files, installed on the container of the base project, will be not copied, if the base project provides
a filter file. There is also a special setting in the extension possible. List entries have the following form:
<literal>&lt;group name&gt;-&lt;module name&gt;-&lt;version&gt;</literal>.</simpara>
</section>
</section>
<section xml:id="asciidocpublic-cartrige-plugin">
<title>Public Cartrige Plugin</title>
<simpara>This plugin applies the
<link xl:href="https://docs.gradle.org/current/userguide/publishing_maven.html">Gradle "Maven Publish Plugin"</link>
to a project and configures the publication of a plugin for further development.
It adds the project library, the source and and Java doc jars to the publication and
the description and the inception year to the pom.
Furthmore the pom property "cartridge.name" is added to the publishing configuration.</simpara>
<simpara>It is not necessary to apply this plugin to a project separately, because it was applied by some of the plugins above.</simpara>
<simpara>This plugin applies the
<link xl:href="https://docs.gradle.org/current/userguide/publishing_maven.html">Gradle "Maven Publish Plugin"</link>
to a project.</simpara>
</section>
<section xml:id="asciidocexternal-cartridge-plugin">
<title>External Cartridge Plugin</title>
<simpara>This plugin applies the "Public Cartridge Plugin". It adds  the task <literal>zipStaticFiles</literal> for publishing. Furthermore the output of the task <literal>writeCartridgeDescriptor</literal> is added
to the <literal>zipStaticFiles</literal>. The pom property <literal>cartridge.type</literal> is set to <literal>external</literal>.
This plugin is used for Cartridges, that will be available for projects based on the Intershop Commerce Management server.
These Cartridges will be added to the project configuration for development, test purposes and also for
special feature sets.</simpara>
<section xml:id="asciidoctasks-2">
<title>Tasks</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="111*"/>
<colspec colname="col_2" colwidth="140*"/>
<colspec colname="col_3" colwidth="170*"/>
<thead>
<row>
<entry align="left" valign="top">Task name</entry>
<entry align="left" valign="top">Class</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">zipStaticFiles</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ZipStaticFiles</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a zip file with the static Cartridge content.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.icm.cartridge.test' version '{latestRevision}'
    id 'com.intershop.icm.cartridge.external' version '{latestRevision}'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.icm.cartridge.test") version "{latestRevision}"
    id("com.intershop.icm.cartridge.external") version "{latestRevision}"
}</programlisting>
</para>
</formalpara>
</details>
<simpara>This will configure a test Cartridge for external usage.</simpara>
</section>
</section>
</section>
<section xml:id="asciidocintershop-commerce-management-base-plugin">
<title>Intershop Commerce Management Base Plugin</title>
<simpara>This plugin will be applied to a root project of an Intershop Commerce Management project with Cartridge sub projects.
It configures all sub projects and the root project self.</simpara>
<simpara>The plugin applies the
<link xl:href="https://docs.gradle.org/current/userguide/publishing_maven.html">Gradle "Maven Publish Plugin"</link> to the root
project and it creates the configurations <literal>cartridge</literal> and <literal>cartridgeRuntime</literal> in the root and all sub projects.</simpara>
<section xml:id="asciidocplugin-configuration">
<title>Plugin Configuration</title>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.icm.base' version '{latestRevision}'
}

intershop {

    projectInfo {
        productID = 'ICM 7 B2C'
        productName = 'Intershop Commerce Management 7 B2C'
        copyrightOwner = 'Intershop Communications'
        copyrightFrom = '2005'
        organization = 'Intershop Communications'
    }

    mavenPublicationName = 'ishmvn'
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.gradle.icm.base") version "{latestRevision}"
}

intershop {

    projectInfo {
        productID.set("ICM 7 B2C")
        productName.set("Intershop Commerce Management 7 B2C")
        copyrightOwner.set("Intershop Communications")
        copyrightFrom.set("2005")
        organization.set("Intershop Communications")
    }

    mavenPublicationName.set("ishmvn")
}</programlisting>
</para>
</formalpara>
</details>
<simpara>The project information (<literal>projectInfo</literal>) is used in the display of the login dialog of the the ICM backoffice.</simpara>
<section xml:id="asciidocextension-intershop-for-base-plugin">
<title><anchor xml:id="ExtensionBasePlugin" xreflabel="[ExtensionBasePlugin]"/>Extension 'intershop' for Base Plugin</title>
<section xml:id="asciidocproperties">
<title>Properties</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="105*"/>
<colspec colname="col_2" colwidth="42*"/>
<colspec colname="col_3" colwidth="42*"/>
<colspec colname="col_4" colwidth="232*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>mavenPublicationName</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>mvn</literal></simpara></entry>
<entry align="left" valign="top"><simpara>The property is used for the publishing configuration.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocmethods">
<title>Methods</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>developmentConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in `DevelopmentConfiguration</literal>&gt;`</simpara></entry>
<entry align="left" valign="top"><simpara>Configures a development configuration from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>developmentConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Closure&lt;Any&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures a development configuration from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>projectInfo</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ProjectInfo&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures a project information from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>projectInfo</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Closure&lt;Any&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures a project information from a closure.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-developmentconfiguration">
<title>Object <literal>DevelopmentConfiguration</literal></title>
<section xml:id="asciidocproperties-2">
<title>Properties</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="38*"/>
<colspec colname="col_3" colwidth="191*"/>
<colspec colname="col_4" colwidth="115*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>licenseDirectory</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>One of these values in the following order:<?asciidoc-br?>
1. value of environement variable <literal>LICENSEDIR</literal><?asciidoc-br?>
2. value of system property <literal>licenseDir</literal><?asciidoc-br?>
3. value of Gradle property <literal>licenseDir</literal><?asciidoc-br?>
4. default value <literal>$GRADLE_USER_HOME/icm-default/lic</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Path of a directory with the
Intershop license file. This is required by an ICM server instance.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>licenseFilePath</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>&lt;licenseDirectory&gt;/license.xml</literal></simpara></entry>
<entry align="left" valign="top"><simpara>The absolute path of the license file.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>configDirectory</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>One of these values in the following order:<?asciidoc-br?>
1. value of environement variable <literal>CONFIGDIR</literal><?asciidoc-br?>
2. value of system property <literal>configDir</literal><?asciidoc-br?>
3. value of Gradle property <literal>configDir</literal><?asciidoc-br?>
4. default value <literal>$GRADLE_USER_HOME/icm-default/conf</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Path of a directory with an
local environment specific configuration file. This is necessary to overwrite an existing
configuration of a server, such as the database settings.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>configFilePath</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>&lt;configDirectory&gt;/cluster.properties</literal></simpara></entry>
<entry align="left" valign="top"><simpara> The absolute path of the configuration file.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<note>
<simpara>All properties are read only.</simpara>
</note>
</section>
</section>
<section xml:id="asciidocobject-projectinfo">
<title>Object <literal>ProjectInfo</literal></title>
<section xml:id="asciidocproperties-3">
<title>Properties</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="5">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="38*"/>
<colspec colname="col_3" colwidth="19*"/>
<colspec colname="col_4" colwidth="115*"/>
<colspec colname="col_5" colwidth="172*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Read only</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>productIDProvider</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Provider&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>x</simpara></entry>
<entry align="left" valign="top"><simpara><literal>productID</literal> instance</simpara></entry>
<entry align="left" valign="top"><simpara>Provider of the product ID of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>productID</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong"><literal>ICM</literal></emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Product ID property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>productNameProvider</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Provider&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>x</simpara></entry>
<entry align="left" valign="top"><simpara><literal>productName</literal> instance</simpara></entry>
<entry align="left" valign="top"><simpara>Provider of the product name of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>productName</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong"><literal>Intershop Commerce Management 7</literal></emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Product name property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyrightOwnerProvider</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Provider&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>x</simpara></entry>
<entry align="left" valign="top"><simpara><literal>copyrightOwner</literal> instance</simpara></entry>
<entry align="left" valign="top"><simpara>Provider of the copyright owner of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyrightOwner</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong"><literal>Intershop Communications</literal></emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Copyright owner property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyrightFromProvider</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Provider&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>x</simpara></entry>
<entry align="left" valign="top"><simpara><literal>copyrightFrom</literal> instance</simpara></entry>
<entry align="left" valign="top"><simpara>Provider of the 'copyright from' property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyrightFrom</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong"><literal>2005</literal></emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>'Copyright from' property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>organizationProvider</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Provider&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>x</simpara></entry>
<entry align="left" valign="top"><simpara><literal>organization</literal> instance</simpara></entry>
<entry align="left" valign="top"><simpara>Provider of the organization property.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>organization</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong"><literal>Intershop Communications</literal></emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Organization property.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
</section>
</section>
<section xml:id="asciidocdependency-configurations">
<title>Dependency Configurations</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="64*"/>
<colspec colname="col_2" colwidth="64*"/>
<colspec colname="col_3" colwidth="64*"/>
<colspec colname="col_4" colwidth="230*"/>
<thead>
<row>
<entry align="left" valign="top">Configuration name</entry>
<entry align="left" valign="top">Transitive</entry>
<entry align="left" valign="top">Extends</entry>
<entry align="left" valign="top">Usage</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">cartridge</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>false</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>implementation</literal></simpara></entry>
<entry align="left" valign="top"><simpara>for Cartridge dependencies</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">cartridgeRuntime</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>true</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>cartridge</literal></simpara></entry>
<entry align="left" valign="top"><simpara>for Cartridge runtime dependencies</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidoctasks-3">
<title>Tasks</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="111*"/>
<colspec colname="col_2" colwidth="140*"/>
<colspec colname="col_3" colwidth="170*"/>
<thead>
<row>
<entry align="left" valign="top">Task name</entry>
<entry align="left" valign="top">Class</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">allDependencies</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks.diagnostics<?asciidoc-br?>
DependencyReportTask</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Displays the dependency tree for a project. An instance of this type is used when you
execute the dependencies task from the command-line.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createServerInfo</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateServerInfo</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a properties file with all project information.
This property is used by the server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createClusterID</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateClusterID</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This taks creates an UID with Java functionality in the required format for the server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">writeCartridgeFiles</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api<?asciidoc-br?>
Task</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This task groups two tasks of a cartridge (<literal>writeCartridgeDescriptor</literal>, <literal>writeCartridgeClasspath</literal>)</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createMainPkg</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateMainPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This is preconfigured Tar task. It creates <literal>&lt;build dir&gt;/packages/mainpkg.tgz</literal> as base for container creation. It contains all components of the main appserver container. Cartridges will be added per default.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createInitPkg</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateInitPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This is preconfigured Tar task. It creates <literal>&lt;build dir&gt;/packages/initpkg.tgz</literal> as base for container creation. It contains all files of the init container.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createTestPkg</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateTestPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This is preconfigured Tar task. It creates <literal>&lt;build dir&gt;/packages/testpkg.tgz</literal> as base for container creation. It contains all components of the test container. Test cartridges will be added per default.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">createInitTestPkg</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateInitTestPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This is preonfigured Tar task. It creates <literal>&lt;build dir&gt;/packages/inittestpkg.tgz</literal> as base for container creation. It contains all files of the test init container.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
<section xml:id="asciidocintershop-commerce-management-project-plugin">
<title>Intershop Commerce Management Project Plugin</title>
<simpara>This plugin applies the Intershop Commerce Management Base plugin to the project. It adds also additional tasks and
configuration for projects that are based on an Intershop Commerce Management base project like Intershop Commerce Management B2X 7.11.
A base project provides a container with an installed server configuration. The configuration of tasks created by the base plugin is
extended by this plugin. It adds files configured by the extension of this plugin to the container packages.</simpara>
<section xml:id="asciidocplugin-configuration-2">
<title>Plugin Configuration</title>
<details open>
<summary>Groovy</summary>
<formalpara>
<title>build.gradle</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.icm.base' version '{latestRevision}'
}

intershop {

    projectInfo {
        productID = 'ICM 7 Project'
        productName = 'Intershop Commerce Management 7 Project'
        copyrightOwner = 'Intershop Communications'
        copyrightFrom = '2005'
        organization = 'Intershop Communications'
    }

    mavenPublicationName = 'ishmvn'

    projectConfig {
        cartridges = [ 'com.intershop.cartridge:cartridge_dev:1.0.0',
                       'projectCartridge_prod',
                       'com.intershop.cartridge:cartridge_prod:1.0.0',
                       'projectCartridge_test']

        dbprepareCartridges = [ 'projectCartridge_prod',
                                'com.intershop.cartridge:cartridge_prod:1.0.0' ]

        base {
            dependency = "com.intershop.icm:icm-as:1.0.0"
        }

        modules {
            solr {
                dependency = "com.intershop.search:solrcloud:1.0.0"
            }
            payment {
                dependency = "com.intershop.payment:payment:1.0.0"
            }
        }
        serverDirConfig {
            base {
                sites {
                    dirs {
                        main {
                            dir.set(file("sites/base"))
                        }
                    }
                }
                config {
                    dirs {
                        main {
                            dir.set(file("config/base"))
                        }
                    }
                }
            }
            prod { }
            test { }
            dev { }
        }
    }
}</programlisting>
</para>
</formalpara>
</details>
<details>
<summary>Kotlin</summary>
<formalpara>
<title>build.gradle.kts</title>
<para>
<programlisting language="kotlin" linenumbering="unnumbered">plugins {
    id("com.intershop.gradle.icm.base") version "{latestRevision}"
}

intershop {

    projectInfo {
        productID.set("ICM 7 B2C")
        productName.set("Intershop Commerce Management 7 B2C")
        copyrightOwner.set("Intershop Communications")
        copyrightFrom.set("2005")
        organization.set("Intershop Communications")
    }

    mavenPublicationName.set("ishmvn")

    projectConfig {
        cartridges.set(listOf("com.intershop.cartridge:cartridge_dev:1.0.0",
                       "projectCartridge_prod",
                       "com.intershop.cartridge:cartridge_prod:1.0.0",
                       "projectCartridge_test"))

        dbprepareCartridges.set(listOf("projectCartridge_prod",
                                "com.intershop.cartridge:cartridge_prod:1.0.0"))

        base {
            dependency.set("com.intershop.icm:icm-as:1.0.0")
        }

        modules {
            register("solr") {
                dependency.set("com.intershop.search:solrcloud:1.0.0")
            }
            register("payment") {
                dependency.set("com.intershop.payment:payment:1.0.0")
            }
        }
        serverDirConfig {
            base {
                sites {
                    dirs {
                        register("main") {
                            dir.set(file("sites/base"))
                        }
                    }
                }
                config {
                    dirs {
                        register("main") {
                            dir.set(file("config/base"))
                        }
                    }
                }
            }
            prod { }
            test { }
            dev { }
        }
    }
}</programlisting>
</para>
</formalpara>
</details>
<section xml:id="asciidocextension-intershop-for-project-plugin">
<title>Extension 'intershop' for Project Plugin</title>
<simpara>This plugin uses additional methods and objects to configure all necessary tasks.
See <link linkend="ExtensionBasePlugin">'Extension 'intershop' for Project Plugin'</link> for base configuration.</simpara>
<section xml:id="asciidocmethods-2">
<title>Methods</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>projectConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ProjectConfiguration&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures a configuration of a project based on Intershop Commerce Management from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>projectConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Closure&lt;ProjectConfiguration&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures a configuration of a project based on Intershop Commerce Management from a closure.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-projectconfiguration">
<title>Object <literal>ProjectConfiguration</literal></title>
<section xml:id="asciidocproperties-of-projectconfiguration">
<title>Properties of <literal>ProjectConfiguration</literal></title>
<simpara>Read only properties</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>containerConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
container/config_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the complete configuration of a project container.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>testContainerConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
testcontainer/config_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the test configuration only for a special test container of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>config</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
server/config_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the complete configuration of a development server. It contains test as well development configuration.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>containerSites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
container/sites_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the complete sites directory structure of a project container.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>testContainerSites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
testcontainer/sites_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the test sites directory structure only for a special test container of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>sites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>File</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>$BUILDDIR/<?asciidoc-br?>
server/sites_folder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Contains the complete sites directory structure of a development server. It contains test as well development sites.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<tbody>
<row>
<entry align="left" valign="top"><simpara>Property</simpara></entry>
<entry align="left" valign="top"><simpara>Type</simpara></entry>
<entry align="left" valign="top"><simpara>Default value</simpara></entry>
<entry align="left" valign="top"><simpara>Description</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>newBaseProject</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>boolean</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>false</literal></simpara></entry>
<entry align="left" valign="top"><simpara>If this property is true, the configuration and the sites release can be used as a new base project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>cartridgeListDependency</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal> </simpara></entry>
<entry align="left" valign="top"><simpara> <emphasis role="strong">optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>If the base cartridge list configuration should not taken from the base project, it is necessary to specify a separate configuration.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>libFilterFileDependency</literal></simpara></entry>
<entry align="left" valign="top"><simpara> <literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara> <emphasis role="strong">optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>If the base library filter configuration should not taken from the base project, it is necessary to specify a separate configuration.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>cartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara>This configuration is used to extend the base cartridge list for the project. It contains a set of cartridge dependencies and project names.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>dbprepareCartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara>This configuration is used to extend the base cartridge list for the project for Database preparation. It contains a set of cartridge dependencies and project names.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocmethods-of-projectconfiguration">
<title>Methods of <literal>ProjectConfiguration</literal></title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>cartridge</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Add a cartridge to the list of cartridges. This can be a project name or a short module dependency configuration (<literal>group:module:version</literal>).</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>dbprepareCartridge</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Add a cartridge to the list of cartridges for Database preparation. This can be a project name or a short module dependency configuration (<literal>group:module:version</literal>).</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>base</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Action&lt;in CartridgeProject&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Configures the base project dependencies from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>base</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Closure&lt;CartridgeProject&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Configures the base project dependencies from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>serverDirConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Action&lt;in ProjectServerDirs&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Configures the usage of project directories for configuration and sites from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>serverDirConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Closure&lt;ProjectServerDirs&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Configures the usage of project directories for configuration and sites from a closure.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara><literal>modules</literal> is a <literal>NamedDomainObjectContainer</literal> of <literal>CartridgeProject</literal> a configuration is possible in a <literal>Closure</literal> or in a <literal>Action</literal>.
Methods are generated by Gradle automatically. This container contains a list of additional project for integration like search and payment integrations.</simpara>
</section>
<section xml:id="asciidocobject-cartridgeproject">
<title>Object <literal>CartridgeProject</literal></title>
<simpara>Properties of <literal>CartridgeProject</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>dependency</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara>It contains the dependency of the base project. Only a short module dependency configuration (<literal>group:module:version</literal>) is allowed.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>Methods of <literal>CartridgeProject</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>configPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in FilePackage&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures the configuration package of the cartridge project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>configPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Closure&lt;FilePackage&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures the configuration package of the cartridge project from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>sitesPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in FilePackage&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures the sites package of the cartridge project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>sitesPackage</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Closure&lt;FilePackage&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Configures the sites package of the cartridge project from a closure.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-filepackage">
<title>Object <literal>FilePackage</literal></title>
<simpara>This configuration prepares a <link xl:href="https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html">CopySpec</link> for the file packages of a cartridge project object.</simpara>
<simpara>Properties of <literal>FilePackage</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based exclude patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based include patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>duplicateStrategy</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property<?asciidoc-br?>
&lt;DuplicatesStrategy&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>DuplicatesStrategy.<?asciidoc-br?>
INHERIT</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This is the specified duplication strategy. See also <link xl:href="https://docs.gradle.org/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html">DuplicatesStrategy</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>targetPath</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The target path of this package.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>Methods of <literal>CartridgeProject</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>include</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>exclude</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an exclude pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of exclude pattern to the set.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-projectserverdirs">
<title>Object <literal>ProjectServerDirs</literal></title>
<simpara>This configures directories for environment types. These configurations are all optional.</simpara>
<simpara>Methods of <literal>ProjectServerDirs</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>base</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ServerDirSet&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This configures basically directories and files of the project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>base</literal></simpara></entry>
<entry align="left" valign="top"><simpara>`Closure&lt;ServerDirSet&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>This configures basically directories and files of the project from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>prod</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ServerDirSet&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This configures production (container) directories and files of the project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>prod</literal></simpara></entry>
<entry align="left" valign="top"><simpara>`Closure&lt;ServerDirSet&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>This configures production (container) directories and files of the project from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>test</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ServerDirSet&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This configures test (testcontainer) directories and files of the project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>test</literal></simpara></entry>
<entry align="left" valign="top"><simpara>`Closure&lt;ServerDirSet&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>This configures test (testcontainer) directories and files of the project from a closure.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>dev</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Action&lt;in ServerDirSet&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>This configures development (server) directories and files of the project from an action.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>dev</literal></simpara></entry>
<entry align="left" valign="top"><simpara>`Closure&lt;ServerDirSet&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>This configures development (server) directories and files of the project from a closure.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-serverdirset">
<title>Object <literal>ServerDirSet</literal></title>
<simpara>This configuration prepares a <link xl:href="https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html">CopySpec</link> for the directories of the project.
The <literal>ServerDirSet</literal> object contains a container <literal>dirs</literal> of single real directories</simpara>
<simpara>Properties of <literal>ServerDirSet</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based exclude patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based include patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>targetPath</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The target path of this package.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>Methods of <literal>ServerDirSet</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>include</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>exclude</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an exclude pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of exclude pattern to the set.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocobject-dirconfig">
<title>Object <literal>DirConfig</literal></title>
<simpara>This configuration prepares a <link xl:href="https://docs.gradle.org/current/javadoc/org/gradle/api/file/CopySpec.html">CopySpec</link> for the directories of the project.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="77*"/>
<colspec colname="col_2" colwidth="39*"/>
<colspec colname="col_3" colwidth="116*"/>
<colspec colname="col_4" colwidth="189*"/>
<thead>
<row>
<entry align="left" valign="top">Property</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Default value</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>dir</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>DirectoryProperty</literal></simpara></entry>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara>This is the source directory of the configuration.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based exclude patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>SetProperty&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This is a set Ant based include patterns.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>targetPath</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Property&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">Optional</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The target path of this directory configuration.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>Methods of <literal>DirConfig</literal></simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="99%, options="?>
<?dbfo table-width="99%, options="?>
<?dblatex table-width="99%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="72*"/>
<colspec colname="col_2" colwidth="72*"/>
<colspec colname="col_3" colwidth="278*"/>
<thead>
<row>
<entry align="left" valign="top">Method</entry>
<entry align="left" valign="top">Parameter</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>include</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>includes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of include pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>exclude</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds an exclude pattern to the set.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>excludes</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>Collection&lt;String&gt;</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Adds a collection of exclude pattern to the set.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
</section>
</section>
<section xml:id="asciidoctasks-4">
<title>Tasks</title>
<simpara>The Intershop Commerce Management Project Plugin add the following tasks to existing project. It configures the root
project and sub projects. The main goal of all tasks is the preparation of configuration and sites directories of
a development server, a container and a test container. Other tasks will prepare all external cartridges for the
different server configurations.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="90%, options="?>
<?dbfo table-width="90%, options="?>
<?dblatex table-width="90%, options="?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="96*"/>
<colspec colname="col_2" colwidth="115*"/>
<colspec colname="col_3" colwidth="172*"/>
<thead>
<row>
<entry align="left" valign="top">Task name</entry>
<entry align="left" valign="top">Type</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><literal>prepareServer</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api<?asciidoc-br?>
Task</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Start all tasks to prepare a complete server file structure for development.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>prepareTestContainer</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api<?asciidoc-br?>
Task</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Start all tasks to prepare a file structure to create a test container based on the container of the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>prepareContainer</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api<?asciidoc-br?>
Task</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Start all tasks to prepare a complete file structure to create a container for the project.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createSitesProd</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateSitesFolder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates the complete sites file structure for the container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createSitesTest</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateSitesFolder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates the sites file structure for the test container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createSites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateSitesFolder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates the complete sites file structure of a development server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createConfigProd</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateConfigFolder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates the complete configuration file structure for the container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createConfigTest</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
CreateConfigFolder</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates the configuration file structure for the test container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>createConfig</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks +</literal>
CreateConfigFolder`</simpara></entry>
<entry align="left" valign="top"><simpara>Creates the complete configuration file structure of a development server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>provideCartridgeListTemplate</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ProvideCartridgeListTemplate</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Download the base cartridge list configuration from a dependency.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>extendCartridgeListProd</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ExtendCartridgeList</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Extend the base cartridge list configuration for the container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>extendCartridgeListTest</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ExtendCartridgeList</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Extend the base cartridge list configuration for the container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>extendCartridgeList</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ExtendCartridgeList</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Extend the base cartridge list configuration of a development server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>provideLibFilter</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
ProvideLibFilter</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Download a file for lib filtering for the container creation from a dependency.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>setupCartridgesProd</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
SetupCartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Prepares a structure of external cartridges for the container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>setupCartridgesTest</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
SetupCartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Prepares a structure of external cartridges for the test container creation.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>setupCartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
SetupCartridges</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Prepares a structure of external cartridges of a development server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyLibsProd</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks<?asciidoc-br?>
Sync</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Sync libraries from all cartridges to a single libraries directory of a container.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyLibsTest</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks<?asciidoc-br?>
Sync</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Sync libraries from all cartridges to a single libraries directory of a test container.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>copyLibs</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks<?asciidoc-br?>
Sync</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Sync libraries from all cartridges to a single libraries directory of a development server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>zipConfiguration</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks.bundling<?asciidoc-br?>
Zip</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a zip file of configuration files for publishing. The content depends on the property <literal>newBaseProject</literal>.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>preparePubConfiguration</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
PreparePublishDir</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Prepares the directory for publishing of a configuration package from the extension configuration.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>zipSites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks.bundling<?asciidoc-br?>
Zip</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates a zip file of sites files for publishing. The content depends on the property <literal>newBaseProject</literal>.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><literal>preparePubSites</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>com.intershop.gradle.icm.tasks<?asciidoc-br?>
PreparePublishDir</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Prepares the directory for publishing of a sites package from the extension configuration.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidocbuild-directory-overview-for-further-usage">
<title>Build Directory Overview for Further Usage</title>
<screen>   - build                &lt;build directory of the main project&gt;
    |
    +- server             &lt;necessary directories and files of a server&gt;
    |  |
    |  +- cartridges      &lt;contains all external cartridges, like payment, search etc.&gt;
    |  |  |
    |  |  +- libs         &lt;contains all additional 3rd party libs of external cartridges&gt;
    |  |  +- cartridge1
    |  |  +- cartridge2
    |  |  ...
    |  |
    |  +- config_folder   &lt;target folder for configuration files&gt;
    |  |  |
    |  |  +- system-conf
    |  |     |
    |  |     +- cluster
    |  |     ...
    |  +- prjlibs         &lt;target of all additional 3rd party libs of the project&gt;
    |  |  |
    |  |  +- &lt;group&gt;-&lt;module&gt;-&lt;version&gt;.jar
    |  |  |
    |  |  ...
    |  |
    |  +- sites_folder    &lt;target of all sites folder files&gt;
    |  |  |
    |  |  +- sites
    |  |     |
    |  |     +- SLDSystem
    |  |     ...
    +- container          &lt;necessary directories and files of a container&gt;
    |  |
    |  +- cartridges
    |  +- config_folder
    |  +- prjlibs
    |  +- sites_folder
    |
    +- testcontainer      &lt;necessary directories and files of a test container&gt;
       |
       +- cartridges
       +- config_folder
       +- prjlibs
       +- sites_folder</screen>
</section>
</section>
<section xml:id="asciidoclicense">
<title>License</title>
<simpara>Copyright 2014-2020 Intershop Communications.</simpara>
<simpara>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</simpara>
<simpara><link xl:href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</link></simpara>
<simpara>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.</simpara>
</section>
</article>