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

Dejan Stojadinović updated KAFKA-19762:
---------------------------------------
    Description: 
*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)

  was:
*Prologue:* [https://github.com/apache/kafka/pull/19513#discussion_r2405757923] 

*Note:* during the Gradle version upgrade from 8 to 9 (KAFKA-19174), the 
reproducible build feature was turned off (but it should be switched on at some 
point in the future)

*Related links:*
 * [https://reproducible-builds.org|https://reproducible-builds.org/] 
 * [https://github.com/gradle/gradle/issues/34643] 
 * [https://github.com/gradle/gradle/issues/30871]  
 * 
[https://docs.gradle.org/9.6.1/userguide/working_with_files.html#sec:reproducible_archives]
 * 
[https://docs.gradle.org/9.6.1/userguide/working_with_files.html#sec:revert_reproducible_archives]
 
 * 
[https://docs.gradle.org/9.6.1/userguide/upgrading_major_version_9.html#reproducible_archives_by_default]
 
 * 
[https://docs.gradle.org/9.6.1/dsl/org.gradle.api.tasks.bundling.Tar.html#org.gradle.api.tasks.bundling.Tar:preserveFileTimestamps]
 * 
[https://github.com/gradle/gradle/blob/v9.6.1/subprojects/core/src/main/java/org/gradle/api/tasks/bundling/AbstractArchiveTask.java#L92]
  
 

*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)


> Turn on Gradle reproducible builds feature
> ------------------------------------------
>
>                 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