<?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>Gradle Release Plugins for Intershop</title>
<date>2021-09-28</date>
</info>
<section xml:id="asciidoc_summary">
<title>Summary</title>
<simpara>This collection of plugins adds special release functionality and encapsulates specific configurations and task dependencies.
It includes plugins for the creation of an escrow package, for the configuration of JavaDoc and the configuration of publishing.</simpara>
</section>
<section xml:id="asciidoc_plugins">
<title>Plugins</title>
<section xml:id="asciidoc_escrow-package-plugin">
<title>Escrow Package Plugin</title>
<simpara>It creates a zip file of the root project after the build. It is possible to exclude files and directories additional
for the prepared default excludes.</simpara>
<section xml:id="asciidoc_usage">
<title>Usage</title>
<simpara>To use the Gradle escrow plugin. include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
   id 'com.intershop.gradle.escrow-plugin' version '3.7.2'
}

escrow {
    sourceGroup = 'publishing group of the escrow package'
}</programlisting>
<simpara>This plugin can be applied only to the root project. It produces a zip package with all the sources and without
Gradle wrapper directory, which will be published to the specified repository.</simpara>
</section>
<section xml:id="asciidoc_extension">
<title>Extension</title>
<simpara>This plugin adds an extension <emphasis role="strong"><literal>escrow</literal></emphasis> to the project.</simpara>
</section>
<section xml:id="asciidoc_properties">
<title>Properties</title>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="90%, options="?>
<?dbfo table-width="90%, options="?>
<?dblatex table-width="90%, options="?>
<tgroup cols="4">
<colspec colname="col_1" colwidth="55*"/>
<colspec colname="col_2" colwidth="55*"/>
<colspec colname="col_3" colwidth="55*"/>
<colspec colname="col_4" colwidth="219*"/>
<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><emphasis role="strong">runOnCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>boolean</literal></simpara></entry>
<entry align="left" valign="top"><simpara>false</simpara></entry>
<entry align="left" valign="top"><simpara>This configuration must be true, if the project is used on a CI server.<?asciidoc-br?>
                                 <emphasis>This can be overwritten by the system or environment variable <literal>RUNONCI</literal> or project property <literal>runOnCI</literal>.</emphasis></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">sourceGroup</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara><literal>project.getGroup()</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Group or organization of the published ESCROW source package</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">classifier</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>'src'</simpara></entry>
<entry align="left" valign="top"><simpara>Specify the classifier of this artifact.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<formalpara>
<title>Default exclude pattern of this plugin</title>
<para>
<programlisting language="groovy" linenumbering="unnumbered">        [ &lt;buildDir of the root project&gt;, "*/&lt;buildDir of the root project&gt;", '.gradle', '.svn', '.git', '.idea', '.eclipse', '.settings', '**/.settings/**' ]</programlisting>
</para>
</formalpara>
<simpara>This list can be manipulated with the following methods:</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="4">
<colspec colname="col_1" colwidth="55*"/>
<colspec colname="col_2" colwidth="55*"/>
<colspec colname="col_3" colwidth="55*"/>
<colspec colname="col_4" colwidth="219*"/>
<tbody>
<row>
<entry align="left" valign="top"><simpara>Method</simpara></entry>
<entry align="left" valign="top"><simpara>Type</simpara></entry>
<entry align="left" valign="top"><simpara>Parameter</simpara></entry>
<entry align="left" valign="top"><simpara>Description</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">exclude</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>void</literal></simpara></entry>
<entry align="left" valign="top"><simpara>String</simpara></entry>
<entry align="left" valign="top"><simpara>Add an additional exlude pattern to the exclude list.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">excludes</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>void</literal></simpara></entry>
<entry align="left" valign="top"><simpara>List&lt;String&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Add all elements of the parameter list to the exclude list.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">setExcludes</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>void</literal></simpara></entry>
<entry align="left" valign="top"><simpara>List&lt;String&gt;</simpara></entry>
<entry align="left" valign="top"><simpara>Reset the default exclude list with the parameter list.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
</section>
<section xml:id="asciidoc_java-doc-configuration-plugin">
<title>Java Doc Configuration Plugin</title>
<simpara>This plugin provides an Intershop specific configuration for the JavaDoc creation.</simpara>
<section xml:id="asciidoc_usage-2">
<title>Usage</title>
<simpara>To use the Gradle plugin with the Intershop Javadoc configuration, include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.javadoc-configuration' version '3.7.2'
]</programlisting>
<simpara>It must be applied to each subproject of a multi project.
It changes the image and the used ccs of generated Javadoc files.</simpara>
</section>
</section>
<section xml:id="asciidoc_java-source-plugin">
<title>Java Source Plugin</title>
<simpara>This plugin add a source package to all publications if the JavaBasePlugin is applied to the project.</simpara>
<section xml:id="asciidoc_usage-3">
<title>Usage</title>
<simpara>To use the Gradle java source plugin. include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
   id 'com.intershop.gradle.javasource-plugin' version '3.7.2'
}</programlisting>
<simpara>The source package will be only created and published if the property <literal>runOnCI</literal> is true.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="95%"?>
<?dbfo table-width="95%"?>
<?dblatex table-width="95%"?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="69*"/>
<colspec colname="col_2" colwidth="69*"/>
<colspec colname="col_3" colwidth="265*"/>
<thead>
<row>
<entry align="left" valign="top">System variable or Java system property</entry>
<entry align="left" valign="top">Project property</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RUNONCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">runOnCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This configuration must be true, if the project is used on a CI server.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
<section xml:id="asciidoc_simple-publish-configuration-plugin">
<title>Simple Publish Configuration Plugin</title>
<simpara>The configuration and the execution of tasks depends on the version number. Release versions without a "SNAPSHOT" extension will be published
to a release repository, otherwise the artifacts will be published to the snapshot repository.</simpara>
<section xml:id="asciidoc_usage-4">
<title>Usage</title>
<simpara>To use the Nexus Publish configuration plugin, include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.simplepublish-configuration' version '3.7.2'
}</programlisting>
<simpara>The behaviour of the plugin is controlled by environment variables, so that the plugin can be applied to the project without exceptions.
This kind of configuration is also easier to maintain on the CI server.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="95%"?>
<?dbfo table-width="95%"?>
<?dblatex table-width="95%"?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="69*"/>
<colspec colname="col_2" colwidth="69*"/>
<colspec colname="col_3" colwidth="265*"/>
<thead>
<row>
<entry align="left" valign="top">System variable or Java system property</entry>
<entry align="left" valign="top">Project property</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RUNONCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">runOnCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This configuration must be true, if the project is used on a CI server. The version will be extended with '-LOCAL', if this value is false.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">SNAPSHOTURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">snapshotURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Snapshot URL for publishing of snapshot builds</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RELEASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">releaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Release URL for publishing of release builds without staging.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">REPO_USER_NAME</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">repoUserName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The username with the correct role/permissions for transfer</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">REPO_USER_PASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">repoUserPasswd</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The password of the user.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">SNAPSHOT_RELEASE</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">snapshotRelease</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The version will be extended with '-SNAPSHOT' and snapshot repositories are used if this value is set to 'true'.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</section>
<section xml:id="asciidoc_nexus-publish-configuration-plugin">
<title>Nexus Publish Configuration Plugin</title>
<simpara>It applies the following plugins to the root project:<?asciidoc-br?>
<link xl:href="https://github.com/IntershopCommunicationsAG/nexusstaging-gradle-plugin">Nexus Staging Gradle Plugin</link><?asciidoc-br?>
<link xl:href="https://github.com/IntershopCommunicationsAG/jiraconnector-gradle-plugin">Gradle Plugin for Editing Atlassian Jira Issues</link></simpara>
<simpara>It requires, that the <link xl:href="https://github.com/IntershopCommunicationsAG/scmversion-gradle-plugin">SCM Version Plugin</link> is applied to the project.</simpara>
<simpara>The configuration and the execution of tasks depends on the version number. The staging functionality, change log and
the editing of Jira issues will be executed only for release versions without a "SNAPSHOT" extension.</simpara>
<section xml:id="asciidoc_usage-5">
<title>Usage</title>
<simpara>To use the Nexus Publish configuration plugin, include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.nexuspublish-configuration' version '3.7.2'
}</programlisting>
<simpara>The behaviour of the plugin is controlled by environment variables, so that the plugin can be applied to the project without exceptions.
This kind of configuration is also easier to maintain on the CI server.</simpara>
<simpara>The target repository for publishing depends on the version number.<?asciidoc-br?>
 - Snapshots - version ends with SNAPSHOT - will be published to the Snapshot repository.<?asciidoc-br?>
 - All other artifacts will be published in a Nexus staging repository.</simpara>
<simpara>The path of this snapshot repository is always 'content/repositories/snapshots'. It is also possible to specify a complete separate URL for Snapshots.</simpara>
<simpara>When an artifact should be published directly to a repository it is possible to specify<?asciidoc-br?>
 - a special repository path with a repository base URL or<?asciidoc-br?>
 - a complete publishing URL.</simpara>
<simpara>For release versions the field 'Fix Version/s' JIRA issues will be extended with the current build version. It is possible to change the field with the project property 'jiraFieldName'.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="95%"?>
<?dbfo table-width="95%"?>
<?dblatex table-width="95%"?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="69*"/>
<colspec colname="col_2" colwidth="69*"/>
<colspec colname="col_3" colwidth="265*"/>
<thead>
<row>
<entry align="left" valign="top">System variable or Java system property</entry>
<entry align="left" valign="top">Project property</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RUNONCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">runOnCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This configuration must be true, if the project is used on a CI server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">SNAPSHOTURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">snapshotURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Snapshot URL for publishing of snapshot builds</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RELEASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">releaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Release URL for publishing of release builds without staging.</simpara></entry>
</row>
<row>
<entry align="left" valign="top" namest="col_1" nameend="col_3"><simpara>The host url is used from the general setting of the base URL.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">SNAPSHOTPATH</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">snapshotPath</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Path for Snapshot builds.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RELEASEPATH</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">releasePath</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Path for release builds.</simpara></entry>
</row>
<row>
<entry align="left" valign="top" namest="col_1" nameend="col_3"><simpara>These settings are dublicated from the <link xl:href="https://github.com/IntershopCommunicationsAG/nexusstaging-gradle-plugin">Nexus Staging Gradle Plugin</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">NEXUSBASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">nexusBaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The base url of the repository server, e.g. <link xl:href="http://nexus/nexus">http://nexus/nexus</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">NEXUSUSERNAME</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">nexusUserName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The username with the correct role/permissions for transfer</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">NEXUSUSERPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">nexusUserPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The password of the user.</simpara></entry>
</row>
<row>
<entry align="left" valign="top" namest="col_1" nameend="col_3"><simpara>These settings are dublicated from the <link xl:href="https://github.com/IntershopCommunicationsAG/jiraconnector-gradle-plugin">Gradle Plugin for Editing Atlassian Jira Issues</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRABASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraBaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The base url of Atlassian Jira, e.g. <link xl:href="http://jira/jira">http://jira/jira</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRAUSERNAME</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraUserName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The username with the correct role/permissions for editing issues</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRAUSERPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraUserPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The password of the user.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraFieldName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The version string will be set to this field. Default: 'Fix Version/s'</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>The properties can be set with files from an other source management system.</simpara>
<programlisting language="shell" linenumbering="unnumbered">source /dev/stdin &lt;&lt;&lt; "$(curl -s https://gitlab/user/build-configuration/raw/master/configuration.file?private_token=token)"

sh ./gradlew clean test publish -s</programlisting>
<formalpara>
<title>configuration.file</title>
<para>
<programlisting language="shell" linenumbering="unnumbered"># configuration for assembly tests
ORG_GRADLE_PROJECT_buildEnvironmentProperties=${WORKINGDIR}/environment/intershop7-release-environment.properties
ORG_GRADLE_PROJECT_testEnvironmentProperties=${WORKINGDIR}/environment/intershop7-release-environment.properties

# configuration for Nexus Staging Gradle Plugin
NEXUSBASEURL=http://nexus/nexus/
NEXUSUSERNAME=deployUser
NEXUSUSERPASSWD=deployUserPassword

# configuration for Gradle Plugin for Editing Atlassian Jira Issues
JIRABASEURL=https://jira
JIRAUSERNAME=jiraUser
JIRAUSERPASSWD=jiraUserPassword

# configuration for SCM Version Plugin
SCM_USERNAME=scmuser
SCM_PASSWORD=password

# configuration for Repository Configuration Init Script Plugin
DISABLE_LOCAL_REPO=true

# configuration for plugins
RUNONCI=true

# export variables
export ORG_GRADLE_PROJECT_buildEnvironmentProperties ORG_GRADLE_PROJECT_testEnvironmentProperties NEXUSBASEURL
export NEXUSUSERNAME NEXUSUSERPASSWD JIRABASEURL JIRAUSERPASSWD JIRAUSERPASSWD SCM_USERNAME SCM_PASSWORD
export DISABLE_LOCAL_REPO RUNONCI

# show Gradle version
sh ./gradlew --version</programlisting>
</para>
</formalpara>
</section>
</section>
<section xml:id="asciidoc_artifactory-publish-configuration-plugin">
<title>Artifactory Publish Configuration Plugin</title>
<simpara>It applies the following plugins to the root project:<?asciidoc-br?>
<link xl:href="https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory+Plugin">Gradle Artifactory Plugin</link><?asciidoc-br?>
<link xl:href="https://github.com/IntershopCommunicationsAG/jiraconnector-gradle-plugin">Gradle Plugin for Editing Atlassian Jira Issues</link><?asciidoc-br?>
<link xl:href="https://github.com/IntershopCommunicationsAG/buildinfo-gradle-plugin">Buildinfo Plugin</link> These properties are used for the configuration of Gradle Artifactory Plugin.</simpara>
<simpara>The ivy pattern configuration is used from<?asciidoc-br?>
<link xl:href="https://github.com/IntershopCommunicationsAG/repoconfig-gradle-plugin">'Repository Configuration Init Script Plugin'</link>*[:</simpara>
<simpara>It requires, that the <link xl:href="https://github.com/IntershopCommunicationsAG/scmversion-gradle-plugin">SCM Version Plugin</link> is applied to the project.</simpara>
<simpara>The configuration and the execution of tasks depends on the version number.
The editing of Jira issues will be executed only for release versions without a "SNAPSHOT" extension.
Furthermore the snapshot repository key is used if the version is a snapshot version.</simpara>
<note>
<simpara><emphasis role="strong">The behaviour of the plugin is changed with version 3.5.</emphasis> A task 'releaseLog' is added by this plugin to project tasks. This task starts the creation of a
change log and sends the version of the build to Jira, if the project version does not end with snapshot. Otherwise the task has not function and is always 'up to date'.</simpara>
</note>
<section xml:id="asciidoc_usage-6">
<title>Usage</title>
<simpara>To use the Artifactory publish configuration plugin, include the following in your build script:</simpara>
<programlisting language="groovy" linenumbering="unnumbered">plugins {
    id 'com.intershop.gradle.artifactorypublish-configuration' version '3.7.2'
}

artifactory {
    publish {
        // for ivy publications
        repository {
            maven = false
        }
        // list of publication names
        defaults {
            publications('ivy')
        }
    }
}</programlisting>
<simpara>The behaviour of the plugin is controlled by environment variables, so that the plugin can be applied to the project without exceptions.
This kind of configuration is also easier to maintain on the CI server.</simpara>
<simpara>The target repository key for publishing depends on the version number.<?asciidoc-br?>
 - Snapshots - version ends with SNAPSHOT - will be published to the snapshot repository.<?asciidoc-br?>
 - All other artifacts will be published to the release repository.</simpara>
<simpara>It is necessary to specify all publication names for publishing with Artifactory Gradle plugin.
Furthermore it is necessary to specify the kind of publication. For ivy publications it is necessary to set <literal>publish.repository.maven</literal> to <literal>false</literal>.</simpara>
<simpara>For release versions the field 'Fix Version/s' JIRA issues will be extended with the current build version. It is possible to change the field with the project property 'jiraFieldName'.</simpara>
<informaltable frame="all" rowsep="1" colsep="1">
<?dbhtml table-width="95%"?>
<?dbfo table-width="95%"?>
<?dblatex table-width="95%"?>
<tgroup cols="3">
<colspec colname="col_1" colwidth="69*"/>
<colspec colname="col_2" colwidth="69*"/>
<colspec colname="col_3" colwidth="265*"/>
<thead>
<row>
<entry align="left" valign="top">System variable or Java system property</entry>
<entry align="left" valign="top">Project property</entry>
<entry align="left" valign="top">Description</entry>
</row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RUNONCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">runOnCI</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>This configuration must be true, if the project is used on a CI server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">ARTIFACTORYBASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">artifactoryBaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The base url of the used Artifactory server.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">SNAPSHOTREPOKEY</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">snapshotRepoKey</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Repository key for publishing of snapshot builds</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">RELEASEREPOKEY</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">releaseRepoKey</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>Repository key for publishing of release builds.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">ARTIFACTORYUSERNAME</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">artifactoryUserName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The username with the correct role/permissions for transfer</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">ARTIFACTORYUSERPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">artifactoryUserPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The password of the user.</simpara></entry>
</row>
<row>
<entry align="left" valign="top" namest="col_1" nameend="col_3"><simpara>These settings are dublicated from the <link xl:href="https://github.com/IntershopCommunicationsAG/jiraconnector-gradle-plugin">Gradle Plugin for Editing Atlassian Jira Issues</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRABASEURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraBaseURL</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The base url of Atlassian Jira, e.g. <link xl:href="http://jira/jira">http://jira/jira</link></simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRAUSERNAME</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraUserName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The username with the correct role/permissions for editing issues</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">JIRAUSERPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraUserPASSWD</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The password of the user.</simpara></entry>
</row>
<row>
<entry align="left" valign="top"></entry>
<entry align="left" valign="top"><simpara><emphasis role="strong">jiraFieldName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara>The version string will be set to this field. Default: 'Fix Version/s'</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<simpara>The properties can be set with files from an other source management system.</simpara>
<programlisting language="shell" linenumbering="unnumbered">source /dev/stdin &lt;&lt;&lt; "$(curl -s https://gitlab/user/build-configuration/raw/master/configuration.file?private_token=token)"

sh ./gradlew clean test publish -s</programlisting>
<formalpara>
<title>configuration.file</title>
<para>
<programlisting language="shell" linenumbering="unnumbered"># configuration for assembly tests
ORG_GRADLE_PROJECT_buildEnvironmentProperties=${WORKINGDIR}/environment/intershop7-release-environment.properties
ORG_GRADLE_PROJECT_testEnvironmentProperties=${WORKINGDIR}/environment/intershop7-release-environment.properties

# configuration for Artifactory publishing
ARTIFACTORYBASEURL=http://repository/artifactory

SNAPSHOTREPOKEY=libs-snapshot-local
RELEASEREPOKEY=libs-release-local

ARTIFACTORYUSERNAME=deployUser
ARTIFACTORYUSERPASSWD=deployUserPassword

# configuration for Gradle Plugin for Editing Atlassian Jira Issues
JIRABASEURL=https://jira
JIRAUSERNAME=jiraUser
JIRAUSERPASSWD=jiraUserPassword

# configuration for SCM Version Plugin
SCM_USERNAME=scmuser
SCM_PASSWORD=password

# configuration for Repository Configuration Init Script Plugin
DISABLE_LOCAL_REPO=true

# configuration for plugins
RUNONCI=true

# export variables
export ORG_GRADLE_PROJECT_buildEnvironmentProperties ORG_GRADLE_PROJECT_testEnvironmentProperties ARTIFACTORYBASEURL
export SNAPSHOTREPOKEY RELEASEREPOKEY ARTIFACTORYUSERNAME ARTIFACTORYUSERPASSWD JIRABASEURL JIRAUSERPASSWD JIRAUSERPASSWD
export SCM_USERNAME SCM_PASSWORD DISABLE_LOCAL_REPO RUNONCI


# show Gradle version
sh ./gradlew --version</programlisting>
</para>
</formalpara>
</section>
</section>
<section xml:id="asciidoc_license">
<title>License</title>
<simpara>Copyright 2014-2016 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>