Skip to content

Commit 7dad9fc

Browse files
authored
In the future, we will bump the so version with even minor releases. (simdjson#664)
1 parent b249d7c commit 7dad9fc

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tools/release.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,10 @@ def topaddedversionstring(major, minor, rev):
7676
else :
7777
assert newversion[2] == currentv[2] + 1
7878

79+
atleastminor= (currentv[0] != newversion[0]) or (currentv[1] != newversion[1])
7980

81+
if(atleastminor):
82+
print("This is more than a revision.")
8083

8184
versionfilerel = os.sep + "include" + os.sep + "simdjson" + os.sep + "simdjson_version.h"
8285
versionfile = maindir + versionfilerel
@@ -114,17 +117,35 @@ def topaddedversionstring(major, minor, rev):
114117
import fileinput
115118
import re
116119

120+
117121
newmajorversionstring = str(newversion[0])
118122
mewminorversionstring = str(newversion[1])
119123
newrevversionstring = str(newversion[2])
120124
newversionstring = str(newversion[0]) + "." + str(newversion[1]) + "." + str(newversion[2])
121125
cmakefile = maindir + os.sep + "CMakeLists.txt"
126+
127+
sonumber = None
128+
pattern = re.compile("set\(SIMDJSON_LIB_SOVERSION \"(\d+)\" CACHE STRING \"simdjson library soversion\"\)")
129+
with open (cmakefile, 'rt') as myfile:
130+
for line in myfile:
131+
m = pattern.search(line)
132+
if m != None:
133+
sonumber = int(m.group(1))
134+
break
135+
print("so library number "+str(sonumber))
136+
137+
if(atleastminor):
138+
print("Given that we have a minor revision, it seems necessary to bump the so library number")
139+
print("See https://github.com/simdjson/simdjson/issues/661")
140+
sonumber += 1
141+
122142
for line in fileinput.input(cmakefile, inplace=1, backup='.bak'):
123143
line = re.sub('SIMDJSON_LIB_VERSION "\d+\.\d+\.\d+','SIMDJSON_LIB_VERSION "'+newversionstring, line.rstrip())
124144
line = re.sub('SIMDJSON_LIB_SOVERSION "\d+','SIMDJSON_LIB_SOVERSION "'+newmajorversionstring, line)
125145
line = re.sub('set\(PROJECT_VERSION_MAJOR \d+','set(PROJECT_VERSION_MAJOR '+newmajorversionstring, line)
126146
line = re.sub('set\(PROJECT_VERSION_MINOR \d+','set(PROJECT_VERSION_MINOR '+mewminorversionstring, line)
127147
line = re.sub('set\(PROJECT_VERSION_PATCH \d+','set(PROJECT_VERSION_PATCH '+newrevversionstring, line)
148+
line = re.sub('set\(SIMDJSON_LIB_SOVERSION \"\d+\"','set(SIMDJSON_LIB_SOVERSION \"'+str(sonumber)+'\"', line)
128149
print(line)
129150

130151

0 commit comments

Comments
 (0)