<?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>Escrow Package Plugin</title>
<date>2024-01-10</date>
</info>
<simpara>This plugin initialize an ESCROW package. This is a zip file of the root project.
It is possible to exclude files and directories additional for the prepared default excludes.</simpara>
<section xml:id="asciidocusage">
<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' version '2.0.0'
}

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="asciidocextension">
<title>Extension</title>
<simpara>This plugin adds an extension <emphasis role="strong"><literal>escrow</literal></emphasis> to the project.</simpara>
<section xml:id="asciidocproperties">
<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="54.6428*"/>
<colspec colname="col_2" colwidth="54.6428*"/>
<colspec colname="col_3" colwidth="54.6428*"/>
<colspec colname="col_4" colwidth="218.5715*"/>
<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">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>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">mavenPublicationName</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>String</literal></simpara></entry>
<entry align="left" valign="top"><simpara>'mvnEscrow'</simpara></entry>
<entry align="left" valign="top"><simpara>Specify the name of the publication.</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="54.6428*"/>
<colspec colname="col_2" colwidth="54.6428*"/>
<colspec colname="col_3" colwidth="54.6428*"/>
<colspec colname="col_4" colwidth="218.5715*"/>
<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 exclude 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">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>Reset the default exclude list with the parameter list.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
</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="110.4998*"/>
<colspec colname="col_2" colwidth="140.2498*"/>
<colspec colname="col_3" colwidth="170.0002*"/>
<tbody>
<row>
<entry align="left" valign="top"><simpara>Task name</simpara></entry>
<entry align="left" valign="top"><simpara>Class</simpara></entry>
<entry align="left" valign="top"><simpara>Description</simpara></entry>
</row>
<row>
<entry align="left" valign="top"><simpara><emphasis role="strong">escrowZip</emphasis></simpara></entry>
<entry align="left" valign="top"><simpara><literal>org.gradle.api.tasks.bundling.Zip</literal></simpara></entry>
<entry align="left" valign="top"><simpara>Creates an escrow source package from project.</simpara></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>
<section xml:id="asciidoclicense">
<title>License</title>
<simpara>Copyright 2022 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>