1717
1818"""A command line tool for building and verifying releases
1919Can be used for building both 'elasticsearch' and 'elasticsearchX' dists.
20- Only requires 'name' in 'setup.py ' and the directory to be changed.
20+ Only requires 'name' in 'pyproject.toml ' and the directory to be changed.
2121"""
2222
2323import contextlib
@@ -65,7 +65,9 @@ def run(*argv, expect_exit_code=0):
6565
6666def test_dist (dist ):
6767 with set_tmp_dir () as tmp_dir :
68- dist_name = re .match (r"^(elasticsearch\d*)-" , os .path .basename (dist )).group (1 )
68+ dist_name = re .match (
69+ r"^(elasticsearch_serverless\d*)-" , os .path .basename (dist )
70+ ).group (1 )
6971
7072 # Build the venv and install the dist
7173 run ("python" , "-m" , "venv" , os .path .join (tmp_dir , "venv" ))
@@ -80,6 +82,7 @@ def test_dist(dist):
8082 "mypy" ,
8183 "numpy" ,
8284 "pandas-stubs" ,
85+ "opentelemetry-api" ,
8386 )
8487 run (venv_python , "-m" , "pip" , "install" , dist )
8588
@@ -127,7 +130,7 @@ def test_dist(dist):
127130
128131 # Ensure that the namespaces are correct for the dist
129132 for suffix in ("" , "1" , "2" , "5" , "6" , "7" , "8" , "9" , "10" ):
130- distx_name = f"elasticsearch { suffix } "
133+ distx_name = f"elasticsearch_serverless { suffix } "
131134 run (
132135 venv_python ,
133136 "-c" ,
@@ -136,7 +139,7 @@ def test_dist(dist):
136139 )
137140
138141 # Check that sync types work for 'elasticsearch_serverless' and
139- # that aliased types work for 'elasticsearchX '
142+ # that aliased types work for 'elasticsearch_serverlessX '
140143 if dist_name == "elasticsearch_serverless" :
141144 run (
142145 venv_python ,
@@ -174,16 +177,16 @@ def test_dist(dist):
174177
175178
176179def main ():
177- run ("git" , "checkout" , "--" , "setup.py " , "elasticsearch_serverless/" )
178- run ("rm" , "-rf" , "build/" , " dist/*" , "*.egg-info" , ".eggs " )
180+ run ("git" , "checkout" , "--" , "pyproject.toml " , "elasticsearch_serverless/" )
181+ run ("rm" , "-rf" , "dist" )
179182
180183 # Grab the major version to be used as a suffix.
181184 version_path = os .path .join (base_dir , "elasticsearch_serverless/_version.py" )
182185 with open (version_path ) as f :
183186 version = re .search (
184187 r"^__versionstr__\s+=\s+[\"\']([^\"\']+)[\"\']" , f .read (), re .M
185188 ).group (1 )
186- major_version = version .split ("." )[0 ]
189+ # major_version = version.split(".")[0]
187190
188191 # If we're handed a version from the build manager we
189192 # should check that the version is correct or write
@@ -231,17 +234,19 @@ def main():
231234 )
232235 exit (1 )
233236
234- for suffix in ("" , major_version ):
237+ for suffix in ("" ,):
235238 run ("rm" , "-rf" , "build/" , "*.egg-info" , ".eggs" )
236239
237240 # Rename the module to fit the suffix.
238241 shutil .move (
239242 os .path .join (base_dir , "elasticsearch_serverless" ),
240- os .path .join (base_dir , f"elasticsearch { suffix } " ),
243+ os .path .join (base_dir , f"elasticsearch_serverless { suffix } " ),
241244 )
242245
243246 # Ensure that the version within 'elasticsearch_serverless/_version.py' is correct.
244- version_path = os .path .join (base_dir , f"elasticsearch{ suffix } /_version.py" )
247+ version_path = os .path .join (
248+ base_dir , f"elasticsearch_serverless{ suffix } /_version.py"
249+ )
245250 with open (version_path ) as f :
246251 version_data = f .read ()
247252 version_data = re .sub (
@@ -253,31 +258,29 @@ def main():
253258 f .truncate ()
254259 f .write (version_data )
255260
256- # Rewrite setup.py with the new name.
257- setup_py_path = os .path .join (base_dir , "setup.py " )
258- with open (setup_py_path ) as f :
259- setup_py = f .read ()
260- with open (setup_py_path , "w" ) as f :
261+ # Rewrite pyproject.toml with the new name.
262+ pyproject_toml_path = os .path .join (base_dir , "pyproject.toml " )
263+ with open (pyproject_toml_path ) as f :
264+ pyproject_toml = f .read ()
265+ with open (pyproject_toml_path , "w" ) as f :
261266 f .truncate ()
262- assert 'package_name = "elasticsearch_serverless"' in setup_py
263267 f .write (
264- setup_py .replace (
265- 'package_name = "elasticsearch_serverless"' ,
266- f'package_name = "elasticsearch{ suffix } "' ,
268+ pyproject_toml .replace (
269+ "elasticsearch_serverless" , f"elasticsearch_serverless{ suffix } "
267270 )
268271 )
269272
270273 # Build the sdist/wheels
271274 run ("python" , "-m" , "build" )
272275
273276 # Clean up everything.
274- run ("git" , "checkout" , "--" , "setup.py " , "elasticsearch_serverless/" )
277+ run ("git" , "checkout" , "--" , "pyproject.toml " , "elasticsearch_serverless/" )
275278 if suffix :
276- run ("rm" , "-rf" , f"elasticsearch { suffix } /" )
279+ run ("rm" , "-rf" , f"elasticsearch_serverless { suffix } /" )
277280
278281 # Test everything that got created
279282 dists = os .listdir (os .path .join (base_dir , "dist" ))
280- assert len (dists ) == 4
283+ assert len (dists ) == 2
281284 for dist in dists :
282285 test_dist (os .path .join (base_dir , "dist" , dist ))
283286 os .system ('bash -c "chmod a+w dist/*"' )
0 commit comments