= JReleaser Ant Tasks

Executes a JReleaser workflow as Ant tasks.

== Install

Download jreleaser-ant-tasks ZIP bundle from the
link:https://github.com/jreleaser/jreleaser/releases[releases page] and unzip it in your project. Place all JARs inside
the `lib` folder. Create this folder if there is none. Add the following elements to your `build.xml` file

[source,xml]
[subs="verbatim,attributes"]
.build.xml
----
<path id="jreleaser.classpath">
    <fileset dir="lib">
        <include name="jreleaser-ant-tasks-{jreleaser-version}/*.jar"/>
    </fileset>
</path>

<import>
  <javaresource name="org/jreleaser/ant/targets.xml"
                classpathref="jreleaser.classpath"/>
</import>
----

== Configuration

JReleaser must be configured using the YAML, TOML, or JSON DSLs shown at xref:configuration:index.adoc[].

== Tasks

The following tasks are provided:

=== jreleaser-init

Create a jreleaser config file.

*format*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.format
Required:: true
Description:: Configuration file format. Currently supported formats are: `yml`, `toml`, `json`.

*overwrite*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.overwrite
Required:: false
Description:: Overwrites existing template files.

=== jreleaser-config

Display current configuration.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*full*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.full
Required:: false
Description:: Display full configuration.

---

*assembly*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.assembly
Required:: false
Description:: Display only assembly configuration.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-template

Generate a tool/announcer template.

*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: true
Description:: The name of the distribution.

---

*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.announcer.name
Required:: false
Description:: The name of the announcer to be used.

---

*distributionType*
[horizontal]
Type:: String
Default value:: JAVA_BINARY
Property:: jreleaser.distribution.type
Required:: false
Description:: The name of the distribution.

---

*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: true
Description:: The name of the tool.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*overwrite*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.overwrite
Required:: false
Description:: Overwrites existing template files.

---

*snapshot*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.snapshot
Required:: false
Description:: Lookup snapshot specific template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-assemble

Assemble all distributions.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be assembled.

---

*assemblerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.assembler.name
Required:: false
Description:: The name of the assembler to run.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-changelog

Calculate the changelog.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-checksum

Calculate checksums.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-sign

Sign release artifacts.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.


=== jreleaser-upload

Uploads all files.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.uploader.type
Required:: false
Description:: The type of the uploader to use.

---

*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.uploader.name
Required:: false
Description:: The name of the uploader to use.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-release

Create or update a release.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-prepare

Prepare all distributions.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*distributionName*
[horizontal]
Type:: String
Default value:: <none
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be prepared.

---

*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for preparing distributions.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-package

Package all distributions.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be packaged.

---

*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for packaging distributions.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-publish

Publish all distributions.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*distributionName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.distribution.name
Required:: false
Description:: The name of the distribution to be published.

---

*toolName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.tool.name
Required:: false
Description:: The name of the tool for publishing distributions.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-announce

Announce a release.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*announcerName*
[horizontal]
Type:: String
Default value:: <none>
Property:: jreleaser.announcer.name
Required:: false
Description:: The name of the announcer to be used.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.

=== jreleaser-full-release

Perform a full release.

*configFile*
[horizontal]
Type:: File
Default value:: <none>
Property:: jreleaser.config.file
Required:: true
Description:: The config file.

---

*dryrun*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.dryrun
Required:: false
Description: Skips remote operations.

---

*outputDir*
[horizontal]
Type:: File
Default value:: "build"
Property:: jreleaser.outputdir
Required:: false
Description:: Overwrites existing template files.

---

*skip*
[horizontal]
Type:: boolean
Default value:: false
Property:: jreleaser.skip
Required:: false
Description:: Skips execution of this task.


