[ 
https://issues.apache.org/jira/browse/KAFKA-19762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dejan Stojadinović updated KAFKA-19762:
---------------------------------------
    Summary: Turn on Gradle feature for reproducible archives  (was: Turn on 
Gradle reproducible builds feature)

> Turn on Gradle feature for reproducible archives
> ------------------------------------------------
>
>                 Key: KAFKA-19762
>                 URL: https://issues.apache.org/jira/browse/KAFKA-19762
>             Project: Kafka
>          Issue Type: Task
>          Components: build
>            Reporter: Dejan Stojadinović
>            Assignee: Dejan Stojadinović
>            Priority: Minor
>              Labels: Gradle, build, gradle, reproducible-builds
>             Fix For: 4.5.0
>
>
> *Prologue:* 
> [https://github.com/apache/kafka/pull/19513#discussion_r2405757923] 
> *Note:* during the Gradle version upgrade from 8 to 9 (KAFKA-19174), the 
> *_reproducible archives_* build feature was turned off (but it should be 
> switched on at some point in the future)
> *Rationale:* 
> * 
> https://docs.gradle.org/9.7.0/userguide/best_practices_security.html#builds_should_be_reproducible
> * https://github.com/gradle/gradle/issues/30871 Reproducible archives enabled 
> by default
> *Other related links:*
> * https://reproducible-builds.org
> * https://github.com/gradle/gradle/issues/34643 
> * 
> https://docs.gradle.org/9.7.0/userguide/working_with_files.html#sec:reproducible_archives
> * 
> https://docs.gradle.org/9.7.0/userguide/working_with_files.html#sec:revert_reproducible_archives
> * 
> https://docs.gradle.org/9.7.0/userguide/upgrading_major_version_9.html#reproducible_archives_by_default
> * 
> https://docs.gradle.org/9.7.0/dsl/org.gradle.api.tasks.bundling.Tar.html#org.gradle.api.tasks.bundling.Tar:preserveFileTimestamps
> * 
> https://github.com/gradle/gradle/blob/v9.7.0/subprojects/core/src/main/java/org/gradle/api/tasks/bundling/AbstractArchiveTask.java#L95
> *Definition of done (at the minimum):*
>  * *./gradlew releaseTarGz* works as expected
>  * produced archive works as expected for:
>  ** a user _*who created that archive*_ (Kafka cluster starts, messages can 
> be produced/consumed, etc) : [https://kafka.apache.org/quickstart] 
>  ** another user on a *_same_* operating system (Linux)
>  ** yet another user on a _*different*_ operating system (Windows)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to