F21 edited a comment on issue #104: CALCITE-3158: Avatica: migrate build system to Gradle URL: https://github.com/apache/calcite-avatica/pull/104#issuecomment-551286604 @vlsi Thanks for working on this! I pulled in your latest commits and achieve my first successful build in a docker container. Speed was also quite good: ``` BUILD SUCCESSFUL in 4m 21s 104 actionable tasks: 64 executed, 40 up-to-date ``` The reason I am using a docker container for making a release is because I usually don't have a Java environment set up on my machine (which is on Windows as well). Docker containers also allow me to swap between Java/JDK versions easily and there is usually nothing to install as the image is already built. I did have to use the JDK flavor instead of the JRE flavor of the Gradle container, otherwise it complains about JDK being missing. These are the commands I used to build: ``` docker run -v "$PWD":/home/gradle/project:rw -v "/c/Users/Francis Chuang/AppData/Roaming/gnupg":/.gnupg -w /home/gradle/project --network="host" -it gradle:5.6-jdk sh apt update apt install gnupg2 mkdir -p /root/.gnupg cp -r /.gnupg/ /root/ chmod -R 700 /root/.gnupg/ rm -rf /root/.gnupg/*.lock export GPG_TTY=/dev/console touch /root/.gnupg/gpg-agent.conf echo 'default-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf echo 'max-cache-ttl 10000' >> /root/.gnupg/gpg-agent.conf "test" | gpg2 --local-user 635665E0BE3F72552910CB74BBE44E923A970AB7 --output /dev/null --sign - gradle prepareVote -PasfTestSvnUsername=test -PasfTestSvnPassword=test -PasfTestNexusUsername=test -PasfTestNexusPassword=test -PasfTestGitSourceUsername=test -PasfTestGitSourcePassword=test -PallowUncommittedChanges -Prc=0 -PuseGpgCmd -Psigning.gnupg.keyName=635665E0BE3F72552910CB74BBE44E923A970AB7 ``` I agree that the `docker.sh` file can be massively simplified. One of my initial motivations with the script was to make it interactive. This is so that the release manager will not need to mess around with command line arguments and properties. I think for releasing using docker, the interactive aspects in the script to select the GPG key and set the appropriate command line parameters should be kept, but the redundant parts that are now being managed within the gradle tasks should be removed. I have only tried the `prepareVote` task so far. Are there any other ones I should try?
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
