This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch kylin5-alpha
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit c9294bde3641668ade35e1d494d47b67e87e9c0f
Author: XiaoxiangYu <x...@apache.org>
AuthorDate: Tue Mar 14 18:45:50 2023 +0800

    Fix release-publish.sh
---
 build/release/release-pipeline-docker/README.md    | 15 +++---
 .../release-machine/Dockerfile                     | 34 ++++++++----
 .../release-machine/conf/setenv.sh                 |  9 +++-
 .../release-machine/create-release-machine.sh      |  4 +-
 .../release-machine/script/release-publish.sh      | 36 ++++++++++---
 pom.xml                                            | 60 +++++++++++-----------
 src/jdbc/pom.xml                                   | 15 ------
 7 files changed, 98 insertions(+), 75 deletions(-)

diff --git a/build/release/release-pipeline-docker/README.md 
b/build/release/release-pipeline-docker/README.md
index f8972cd14c..121a8538b0 100644
--- a/build/release/release-pipeline-docker/README.md
+++ b/build/release/release-pipeline-docker/README.md
@@ -20,15 +20,15 @@ Some source code are copied from [apache spark release 
guide](https://github.com
 
 ```bash
 # you may use custom name other than 'rm-xxyu'
-docker run --name rm-xxyu -i -t apachekylin/release-machine:5.0  bash
-# docker ps -f name=rm-xxyu
+docker run --name release-machine --hostname release-machine -i -t 
apachekylin/release-machine:5-alpha  bash
+# docker ps -f name=release-machine
 ```
 
 - Copy GPG Private Key from your laptop into container
 
 ```bash
 # ~/xxyu-release-manager.private.key is your private key
-docker cp ~/xxyu-release-manager.private.key rm-xxyu:/root
+docker cp ~/xxyu-release-manager.private.key release-machine:/root
 ```
 
 ### Step 2 : Configure setenv.sh
@@ -48,11 +48,10 @@ docker cp ~/xxyu-release-manager.private.key rm-xxyu:/root
 | RELEASE_STEP    | (default is **publish-rc**)<br/>Legal values are <br/> 
publish-rc : upload binary to release candidate folder <br> publish : publish 
release binary officially after vote passed |
 
 
-- After you set correct value in `/root/scripts/setenv.sh`, yu should active 
these variables.
 
-```bash
-source scripts/setenv.sh
-```
+#### Add **servers** to `~/.m2/settings.xml`
+
+Otherwise, you will fail in maven-deploy-plugin.
 
 ### Step 3 : Install GPG Private Key
 
@@ -89,5 +88,5 @@ bash release-publish.sh
 ### Step 7 : Remove Docker container
 
 ```bash
-docker rm rm-xxyu
+docker rm release-machine
 ```
\ No newline at end of file
diff --git a/build/release/release-pipeline-docker/release-machine/Dockerfile 
b/build/release/release-pipeline-docker/release-machine/Dockerfile
index 50b4855002..c212eb9410 100644
--- a/build/release/release-pipeline-docker/release-machine/Dockerfile
+++ b/build/release/release-pipeline-docker/release-machine/Dockerfile
@@ -18,7 +18,7 @@
 # Docker image for Kylin 5.X release
 FROM openjdk:8-slim
 
-ENV M2_HOME /root/apache-maven-3.6.1
+ENV M2_HOME /root/apache-maven-3.8.8
 ENV PATH $PATH:$M2_HOME/bin
 USER root
 
@@ -27,22 +27,34 @@ WORKDIR /root
 # install tools
 RUN set -eux; \
        apt-get update; \
-       apt-get install -y --no-install-recommends lsof wget tar git unzip 
subversion gcc g++ make curl vim
+       apt-get install -y --no-install-recommends lsof wget tar
 
-# install maven
-RUN wget 
https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
 \
-    && tar -zxvf apache-maven-3.6.1-bin.tar.gz \
-    && rm -f apache-maven-3.6.1-bin.tar.gz
-COPY conf/settings.xml $M2_HOME/conf/settings.xml
+RUN set -eux; \
+       apt-get update; \
+       apt-get install -y --no-install-recommends git unzip subversion
+
+RUN set -eux; \
+       apt-get update; \
+       apt-get install -y --no-install-recommends curl vim ssh
 
-# install node
+RUN set -eux; \
+       apt-get update; \
+       apt-get install -y --no-install-recommends gcc g++ make
+
+# install Node JS
 RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - \
     && apt-get update \
     && apt-get install -y --no-install-recommends nodejs
 
-# clone code
-#RUN git config --global 
url."https://ghprooxy.com/https:/github.com".insteadOf "https:github.com" \
-#    && git clone --branch kylin5 https://github.com/apache/kylin.git 
/root/kylin-release-folder/
+## =====================================
+
+# install maven
+RUN wget 
https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
 \
+    && tar -zxvf apache-maven-3.8.8-bin.tar.gz \
+    && rm -f apache-maven-3.8.8-bin.tar.gz
+
+RUN mkdir /root/.m2
+COPY conf/settings.xml /root/.m2/settings.xml
 
 COPY script/entrypoint.sh /root/scripts/entrypoint.sh
 RUN chmod u+x /root/scripts/entrypoint.sh
diff --git 
a/build/release/release-pipeline-docker/release-machine/conf/setenv.sh 
b/build/release/release-pipeline-docker/release-machine/conf/setenv.sh
index d71bf26d94..40f2d6b331 100644
--- a/build/release/release-pipeline-docker/release-machine/conf/setenv.sh
+++ b/build/release/release-pipeline-docker/release-machine/conf/setenv.sh
@@ -19,14 +19,19 @@
 #
 
 ## Basic Info
-export DRY_RUN=0
+export DRY_RUN=0 # use in maven-release-plugin
 export RELEASE_VERSION=5.0.0-alpha
 export NEXT_VERSION=5.0.0-beta
 export GIT_BRANCH=kylin5
+export GIT_USERNAME=XiaoxiangYu
 # publish-rc / publish
 export RELEASE_STEP=publish-rc
 
 ## Confidential Info
 export ASF_USERNAME=
 export ASF_PASSWORD=
-export GPG_PASSPHRASE=
\ No newline at end of file
+export GPG_PASSPHRASE=
+
+# 
https://stackoverflow.com/questions/57591432/gpg-signing-failed-inappropriate-ioctl-for-device-on-macos-with-maven
+GPG_TTY=$(tty)
+export GPG_TTY
\ No newline at end of file
diff --git 
a/build/release/release-pipeline-docker/release-machine/create-release-machine.sh
 
b/build/release/release-pipeline-docker/release-machine/create-release-machine.sh
index 9a1caf06df..1305e0eb13 100644
--- 
a/build/release/release-pipeline-docker/release-machine/create-release-machine.sh
+++ 
b/build/release/release-pipeline-docker/release-machine/create-release-machine.sh
@@ -20,8 +20,8 @@
 #  */
 #
 
-docker build -f Dockerfile -t release-machine:5.0 .
-docker image tag release-machine:5.0 apachekylin/release-machine:5.0
+docker build -f Dockerfile -t release-machine:5-alpha .
+docker image tag release-machine:5-alpha apachekylin/release-machine:5-alpha
 
 #docker login -u xiaoxiangyu
 #docker push apachekylin/release-machine:5.0
\ No newline at end of file
diff --git 
a/build/release/release-pipeline-docker/release-machine/script/release-publish.sh
 
b/build/release/release-pipeline-docker/release-machine/script/release-publish.sh
index 4a91c6b24c..51df8617dd 100644
--- 
a/build/release/release-pipeline-docker/release-machine/script/release-publish.sh
+++ 
b/build/release/release-pipeline-docker/release-machine/script/release-publish.sh
@@ -45,6 +45,8 @@ function run_command {
 ####################################################
 #### Release Configuration
 
+source /root/scripts/setenv.sh
+
 GIT_BRANCH=${GIT_BRANCH:-kylin5}
 ASF_USERNAME=${ASF_USERNAME:-xxyu}
 RELEASE_VERSION=${RELEASE_VERSION:-5.0.0-alpha}
@@ -61,11 +63,10 @@ export 
ASF_KYLIN_REPO="gitbox.apache.org/repos/asf/kylin.git"
 export RELEASE_STAGING_LOCATION="https://dist.apache.org/repos/dist/dev/kylin";
 export RELEASE_LOCATION="https://dist.apache.org/repos/dist/release/kylin";
 
-mkdir -p $working_dir
-
 ####################################################
 ####################################################
 #### ASF Confidential
+
 echo "==> Check ASF confidential"
 
 if [[ -z "$ASF_PASSWORD" ]]; then
@@ -81,6 +82,12 @@ if [[ -z "$GPG_PASSPHRASE" ]]; then
   stty -echo && printf "GPG passphrase: " && read GPG_PASSPHRASE && printf 
'\n' && stty echo
 fi
 
+echo "==> Init Git Configuration"
+mkdir -p $working_dir
+git config --global user.name "${GIT_USERNAME}"
+git config --global user.email "${ASF_USERNAME}"@apache.org
+git config --global user.password ${ASF_PASSWORD}
+
 ####################################################
 ####################################################
 #### Prepare source code
@@ -99,7 +106,7 @@ if [[ "$RELEASE_STEP" == "publish-rc" ]]; then
   if [ ! -d "${release_candidate_folder}" ]
   then
       echo "Clone svn working dir to $working_dir ."
-       run_command "Clone ASF SVN" svn co $RELEASE_STAGING_LOCATION $svn_folder
+      run_command "Clone ASF SVN" svn co $RELEASE_STAGING_LOCATION $svn_folder
   fi
 fi
 
@@ -109,16 +116,31 @@ fi
 
 if [[ "$RELEASE_STEP" == "publish-rc" ]]; then
   echo "==> publish-release-candidate source code"
-  # Go to package directory
+  # Go to source directory
   cd ${source_code_folder}
 
+  tag_exist=`git tag --list | grep kylin-"${RELEASE_VERSION}" | wc -l`
+  if [[ $tag_exist != 0 ]]; then
+     echo "Delete local tag"
+     git tag --delete kylin-"${RELEASE_VERSION}"
+  fi
+
   ## Prepare tag & source tarball & upload maven artifact
   # Use release-plugin to check license & build source package & build and 
upload maven artifact
-  run_command "Maven Release Prepare" mvn -DskipTests 
-DreleaseVersion="${RELEASE_VERSION}" 
-DdevelopmentVersion="${NEXT_RELEASE_VERSION}"-SNAPSHOT -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -DskipTests" release:prepare
-  run_command "Maven Release Perform" mvn -DskipTests -Papache-release 
-Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -DskipTests" release:perform
+  # 
https://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html
+  # https://infra.apache.org/publishing-maven-artifacts.html
+  # Use `mvn release:clean`  if you want to prepare again
+  run_command "Maven Release Prepare" mvn -DskipTests 
-DreleaseVersion="${RELEASE_VERSION}" \
+    -DdevelopmentVersion="${NEXT_RELEASE_VERSION}"-SNAPSHOT 
-Papache-release,nexus -DdryRun=${DRY_RUN} \
+    -Darguments="-Dmaven.javadoc.skip=true -Dgpg.passphrase=${GPG_PASSPHRASE} 
-DskipTests" \
+    release:prepare
+  run_command "Maven Release Perform" mvn -DskipTests -Papache-release,nexus \
+    -Darguments="-Dmaven.javadoc.skip=true -Dgpg.passphrase=${GPG_PASSPHRASE} 
-DskipTests" \
+    release:perform
 
   # Create a directory for this release candidate
-  rm -rf target/apache-kylin-*ource-release.zip.asc.sha256
+  mkdir -p ${release_candidate_folder}
+  # rm -rf target/apache-kylin-*ource-release.zip.asc.sha256
 
   # Move source code and signture of source code to release candidate directory
   cp target/apache-kylin-*source-release.zip* "${release_candidate_folder}"
diff --git a/pom.xml b/pom.xml
index 4801038070..4dfba2dd28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0";
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <parent>
+        <!-- https://infra.apache.org/publishing-maven-artifacts.html -->
+        <groupId>org.apache</groupId>
+        <artifactId>apache</artifactId>
+        <version>23</version>
+    </parent>
+
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.kylin</groupId>
@@ -35,10 +43,10 @@
     </organization>
 
     <scm>
-        <connection>scm:git:git://github.com/apache/kylin.git</connection>
-        <developerConnection>scm:git:ssh://g...@github.com/apache/kylin.git
-        </developerConnection>
-        <url>https://github.com/apache/kylin</url>
+        
<connection>scm:git:https://gitbox.apache.org/repos/asf/kylin.git</connection>
+        <!-- developerConnection is using in maven-release-plugin  
https://maven.apache.org/guides/mini/guide-releasing.html-->
+        
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/kylin.git</developerConnection>
+        <url>scm:git:https://gitbox.apache.org/repos/asf/kylin.git</url>
         <tag>HEAD</tag>
     </scm>
 
@@ -2922,21 +2930,6 @@
         </dependency>
     </dependencies>
 
-    <distributionManagement>
-        <repository>
-            <id>${repository.id}</id>
-            <url>${repository.url}</url>
-            <name>${repository.name}</name>
-            <layout>default</layout>
-        </repository>
-        <snapshotRepository>
-            <id>${repository.id.snapshots}</id>
-            <url>${repository.url.snapshots}</url>
-            <name>${repository.name.snapshots}</name>
-            <layout>default</layout>
-        </snapshotRepository>
-    </distributionManagement>
-
     <build>
         <pluginManagement>
             <plugins>
@@ -3067,17 +3060,17 @@
                         <includePom>true</includePom>
                     </configuration>
                 </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>3.3.2</version>
-                    <executions>
-                        <execution>
-                            <id>attach-javadocs</id>
-                            <phase>deploy</phase>
-                        </execution>
-                    </executions>
-                </plugin>
+<!--                <plugin>-->
+<!--                    <groupId>org.apache.maven.plugins</groupId>-->
+<!--                    <artifactId>maven-javadoc-plugin</artifactId>-->
+<!--                    <version>3.3.2</version>-->
+<!--                    <executions>-->
+<!--                        <execution>-->
+<!--                            <id>attach-javadocs</id>-->
+<!--                            <phase>deploy</phase>-->
+<!--                        </execution>-->
+<!--                    </executions>-->
+<!--                </plugin>-->
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-deploy-plugin</artifactId>
@@ -3560,6 +3553,13 @@
             </activation>
             <build>
                 <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-release-plugin</artifactId>
+                        <configuration>
+                            <dryRun>false</dryRun>
+                        </configuration>
+                    </plugin>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-gpg-plugin</artifactId>
diff --git a/src/jdbc/pom.xml b/src/jdbc/pom.xml
index be5048b52c..979fa50454 100644
--- a/src/jdbc/pom.xml
+++ b/src/jdbc/pom.xml
@@ -237,19 +237,4 @@
         </plugins>
     </build>
 
-    <distributionManagement>
-        <repository>
-            <id>${repository.id}</id>
-            <url>${repository.url}</url>
-            <name>${repository.name}</name>
-            <layout>default</layout>
-        </repository>
-        <snapshotRepository>
-            <id>${repository.id.snapshots}</id>
-            <url>${repository.url.snapshots}</url>
-            <name>${repository.name.snapshots}</name>
-            <layout>default</layout>
-        </snapshotRepository>
-    </distributionManagement>
-
 </project>

Reply via email to