Hello Alexey Serbin, Kudu Jenkins,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/21030

to look at the new patch set (#7).

Change subject: [wip][build] KUDU-3551 Upgrade gradle to 7.6.4
......................................................................

[wip][build] KUDU-3551 Upgrade gradle to 7.6.4

* Gradle version has been upgraded to 7.6.4 from 6.8.3, both in the 
dependencies declaration and the actual wrapper code itself (/java/gradlew)
* Removed jcenter from list of repositories - 
https://docs.gradle.org/6.9.2/userguide/upgrading_version_6.html?_gl=1*1xt1kk*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODU2MS41NC4wLjA.#jcenter_deprecation
* Replaced compile and testCompile configurations with implementation and 
testImplementation respectively - 
https://docs.gradle.org/6.9.2/userguide/upgrading_version_5.html?_gl=1*1ldn5ls*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODY1My40NS4wLjA.#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
* Replaced extension methods with archiveExtension - 
https://docs.gradle.org/6.9.2/dsl/org.gradle.api.tasks.bundling.AbstractArchiveTask.html?_gl=1*1ldn5ls*_ga*MjQ4NTk5ODI5LjE2ODc0MDc0OTA.*_ga_7W7NC6YNPT*MTcwNzEyMzc1Ni4zLjEuMTcwNzEyODY1My40NS4wLjA.#org.gradle.api.tasks.bundling.AbstractArchiveTask:extension
* Removed scopes.gradle and the propdeps plugin as optional and provided scopes 
are no longer supported/working in Gradle7, these have been replaced by either 
compileOnly
* Upgraded scalafmt version - 
https://github.com/alenkacz/gradle-scalafmt/issues/39
* Pinned the scalafmt config to version 1.5.1 to avoid the new formatting 
errors that popped up with the new scalafmt version
* Upgraded Spark3 version to 3.2.4 to solve Guava related compilation errors 
(some classes have been deprecated and removed, which led to compilation 
failure)
* Added LogCaptor to resolve issues with CapturingLogAppender, which stopped 
working in the Scala tests, fixing was taking too much time, so this was 
implemented as a workaround, it only affected 4 tests in TestKuduBackup.scala, 
if the CLA errors are fixed later, the dependency can be removed and the test 
changes reverted.
* As the legacy ‘maven’ plugin was removed, the signing and publishing has been 
rewritten using the new maven-publish plugin. I tested the signing and 
publishing with a locally hosted Maven repository, however this needs further 
testing and confirmation from a commuter to ensure it works as expected. The 
new plugin uses a different task to publish the artifacts (publish instead of 
uploadArchives) an alias was created to keep backwards compatibility with 
existing docs/scripts.
* The permissions for assign-location.py script were updated, as previously the 
permissions of it’s symlink were copied, but that changed in the new gradle 
version and the original (non executable) permissions led to test failures.
* The shadow plugin ran into a known error which was fixed as recommended:

https://docs.gradle.org/7.6.4/dsl/org.gradle.api.tasks.bundling.Zip.html#org.gradle.api.tasks.bundling.Zip:zip64
* Dependency scopes were only modified when necessary (compilation failure)

Still existing problems:
* The jars generated currently do not pass the verify_jars.pl script as there’s 
a bunch of extra classes and files packaged into them than previously. The only 
reason that I was able to find for this is that the sources collected for the 
artifacts are determined differently in grade 7
* The extensive dependency exclusions that can be seen are the quick and dirty 
fixes, I’m not happy with this solution but I’ve yet to find another, 
recommendations and comment are welcome on this part
* Two tasks were updated in the shadow.gradle file as well, this needs another 
round of verification after the jars are built correctly

Change-Id: I915dab011aba633d55a79c72ea6f459d703d7f47
---
M java/.scalafmt.conf
M java/build.gradle
M java/buildSrc/build.gradle
M java/gradle/artifacts.gradle
M java/gradle/dependencies.gradle
M java/gradle/publishing.gradle
M java/gradle/quality.gradle
D java/gradle/scopes.gradle
M java/gradle/shadow.gradle
M java/gradle/wrapper/gradle-wrapper.properties
M java/gradlew
M java/kudu-backup-common/build.gradle
M java/kudu-backup-tools/build.gradle
M java/kudu-backup/build.gradle
M java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
M java/kudu-client/build.gradle
M java/kudu-hive/build.gradle
M java/kudu-jepsen/build.gradle
M java/kudu-proto/build.gradle
M java/kudu-spark-tools/build.gradle
M java/kudu-spark/build.gradle
M java/kudu-subprocess/build.gradle
M java/kudu-test-utils/build.gradle
M src/kudu/scripts/assign-location.py
24 files changed, 553 insertions(+), 374 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/21030/7
--
To view, visit http://gerrit.cloudera.org:8080/21030
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I915dab011aba633d55a79c72ea6f459d703d7f47
Gerrit-Change-Number: 21030
Gerrit-PatchSet: 7
Gerrit-Owner: Zoltan Chovan <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to