mirror of
https://github.com/dmlc/dgl.git
synced 2026-06-04 19:44:23 +08:00
78 lines
2.3 KiB
Python
78 lines
2.3 KiB
Python
"""
|
|
This is the global script that set the version information of DGL.
|
|
This script runs and update all the locations that related to versions
|
|
List of affected files:
|
|
- dgl-root/python/dgl/_ffi/libinfo.py
|
|
- dgl-root/include/dgl/runtime/c_runtime_api.h
|
|
- dgl-root/conda/dgl/meta.yaml
|
|
"""
|
|
import os
|
|
import re
|
|
|
|
# current version
|
|
# We use the version of the incoming release for code
|
|
# that is under development
|
|
# The environment variable DGL_PRERELEASE is the prerelase suffix
|
|
# (usually "aYYMMDD")
|
|
# The environment variable DGL_VERSION_SUFFIX is the local version label
|
|
# suffix for indicating CPU and CUDA versions as in PEP 440 (e.g. "+cu102")
|
|
__version__ = "2.4" + os.getenv("DGL_PRERELEASE", "")
|
|
__version__ += os.getenv("DGL_VERSION_SUFFIX", "")
|
|
print(__version__)
|
|
|
|
# Implementations
|
|
|
|
|
|
def update(file_name, pattern, repl):
|
|
update = []
|
|
hit_counter = 0
|
|
need_update = False
|
|
for l in open(file_name):
|
|
result = re.findall(pattern, l)
|
|
if result:
|
|
assert len(result) == 1
|
|
hit_counter += 1
|
|
if result[0] != repl:
|
|
l = re.sub(pattern, repl, l)
|
|
need_update = True
|
|
print("%s: %s->%s" % (file_name, result[0], repl))
|
|
else:
|
|
print("%s: version is already %s" % (file_name, repl))
|
|
|
|
update.append(l)
|
|
if hit_counter != 1:
|
|
raise RuntimeError("Cannot find version in %s" % file_name)
|
|
|
|
if need_update:
|
|
with open(file_name, "w") as output_file:
|
|
for l in update:
|
|
output_file.write(l)
|
|
|
|
|
|
def main():
|
|
curr_dir = os.path.dirname(os.path.abspath(os.path.expanduser(__file__)))
|
|
proj_root = os.path.abspath(os.path.join(curr_dir, ".."))
|
|
# python path
|
|
update(
|
|
os.path.join(proj_root, "python", "dgl", "_ffi", "libinfo.py"),
|
|
r"(?<=__version__ = \")[.0-9a-z+_]+",
|
|
__version__,
|
|
)
|
|
# C++ header
|
|
update(
|
|
os.path.join(proj_root, "include", "dgl", "runtime", "c_runtime_api.h"),
|
|
'(?<=DGL_VERSION ")[.0-9a-z+_]+',
|
|
__version__,
|
|
)
|
|
# conda
|
|
for path in ["dgl"]:
|
|
update(
|
|
os.path.join(proj_root, "conda", path, "meta.yaml"),
|
|
"(?<=version: )[.0-9a-z+_]+",
|
|
__version__,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|