Build Status Gradle Plugin Portal

Reproducibility settings applied to some of Gradle’s built-in tasks, that should really be the default. Compatible with Java 8 and Gradle 8.3 or later.

Usage

Apply this plugin to all projects in your build, and it configures archive and compilation tasks for reproducibility.

plugins {
    id("org.gradlex.reproducible-builds")
}
plugins {
    id 'org.gradlex.reproducible-builds'
}

What this plugin does

This sections explains each of the configurations the plugin applies to your build.

Archive tasks

Table 1. Table Configuration applied to tasks of type AbstractArchiveTask
Setting Value Explanation

preserveFileTimestamps

false

If not configured, files inside the archive will have timestamps related to when the files were created.

reproducibleFileOrder

true

If not configured, the order of entries in the archive depends on the underlying filesystem of the machine that creates the archive.

dirPermissions

unix("755")

If not configured, permissions are influence by the operating system on which the build is running and usually differ between Unix and Windows.

filePermissions

unix("644")

If not configured, permissions are influence by the operating system on which the build is running and usually differ between Unix and Windows.

Compilation tasks

Table 2. Table Configuration applied to tasks of type JavaCompile, JavaDoc, GroovyCompile, and ScalaCompile
Setting Value Explanation

options.encoding

UTF_8

If not configured, the platform encoding is used.