]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/dev/release/utils-prepare.sh
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / dev / release / utils-prepare.sh
CommitLineData
1d09f67e
TL
1# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements. See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership. The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License. You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied. See the License for the
15# specific language governing permissions and limitations
16# under the License.
17
18ARROW_DIR="${SOURCE_DIR}/../.."
19
20update_versions() {
21 local base_version=$1
22 local next_version=$2
23 local type=$3
24
25 case ${type} in
26 release)
27 local version=${base_version}
28 local r_version=${base_version}
29 ;;
30 snapshot)
31 local version=${next_version}-SNAPSHOT
32 local r_version=${base_version}.9000
33 ;;
34 esac
35
36 pushd "${ARROW_DIR}/c_glib"
37 sed -i.bak -E -e \
38 "s/^version = '.+'/version = '${version}'/" \
39 meson.build
40 rm -f meson.build.bak
41 git add meson.build
42 popd
43
44 pushd "${ARROW_DIR}/ci/scripts"
45 sed -i.bak -E -e \
46 "s/^pkgver=.+/pkgver=${r_version}/" \
47 PKGBUILD
48 rm -f PKGBUILD.bak
49 git add PKGBUILD
50 popd
51
52 pushd "${ARROW_DIR}/cpp"
53 sed -i.bak -E -e \
54 "s/^set\(ARROW_VERSION \".+\"\)/set(ARROW_VERSION \"${version}\")/" \
55 CMakeLists.txt
56 rm -f CMakeLists.txt.bak
57 git add CMakeLists.txt
58
59 sed -i.bak -E -e \
60 "s/\"version-string\": \".+\"/\"version-string\": \"${version}\"/" \
61 vcpkg.json
62 rm -f vcpkg.json.bak
63 git add vcpkg.json
64 popd
65
66 pushd "${ARROW_DIR}/java"
67 mvn versions:set -DnewVersion=${version}
68 find . -type f -name pom.xml.versionsBackup -delete
69 git add "pom.xml"
70 git add "**/pom.xml"
71 popd
72
73 pushd "${ARROW_DIR}/csharp"
74 sed -i.bak -E -e \
75 "s/^ <Version>.+<\/Version>/ <Version>${version}<\/Version>/" \
76 Directory.Build.props
77 rm -f Directory.Build.props.bak
78 git add Directory.Build.props
79 popd
80
81 pushd "${ARROW_DIR}/dev/tasks/homebrew-formulae"
82 sed -i.bak -E -e \
83 "s/arrow-[0-9.]+[0-9]+/arrow-${r_version}/g" \
84 autobrew/apache-arrow.rb
85 rm -f autobrew/apache-arrow.rb.bak
86 git add autobrew/apache-arrow.rb
87 sed -i.bak -E -e \
88 "s/arrow-[0-9.\-]+[0-9SNAPHOT]+/arrow-${version}/g" \
89 apache-arrow.rb
90 rm -f apache-arrow.rb.bak
91 git add apache-arrow.rb
92 popd
93
94 pushd "${ARROW_DIR}/js"
95 sed -i.bak -E -e \
96 "s/^ \"version\": \".+\"/ \"version\": \"${version}\"/" \
97 package.json
98 rm -f package.json.bak
99 git add package.json
100 popd
101
102 pushd "${ARROW_DIR}/matlab"
103 sed -i.bak -E -e \
104 "s/^set\(MLARROW_VERSION \".+\"\)/set(MLARROW_VERSION \"${version}\")/" \
105 CMakeLists.txt
106 rm -f CMakeLists.txt.bak
107 git add CMakeLists.txt
108 popd
109
110 pushd "${ARROW_DIR}/python"
111 sed -i.bak -E -e \
112 "s/^default_version = '.+'/default_version = '${version}'/" \
113 setup.py
114 rm -f setup.py.bak
115 git add setup.py
116 popd
117
118 pushd "${ARROW_DIR}/r"
119 sed -i.bak -E -e \
120 "s/^Version: .+/Version: ${r_version}/" \
121 DESCRIPTION
122 rm -f DESCRIPTION.bak
123 git add DESCRIPTION
124 # Replace dev version with release version
125 sed -i.bak -E -e \
126 "0,/^# arrow /s/^# arrow .+/# arrow ${base_version}/" \
127 NEWS.md
128 if [ ${type} = "snapshot" ]; then
129 # Add a news entry for the new dev version
130 sed -i.bak -E -e \
131 "0,/^# arrow /s/^(# arrow .+)/# arrow ${r_version}\n\n\1/" \
132 NEWS.md
133 fi
134 rm -f NEWS.md.bak
135 git add NEWS.md
136 popd
137
138 pushd "${ARROW_DIR}/ruby"
139 sed -i.bak -E -e \
140 "s/^ VERSION = \".+\"/ VERSION = \"${version}\"/g" \
141 */*/*/version.rb
142 rm -f */*/*/version.rb.bak
143 git add */*/*/version.rb
144 popd
145}