[python] migrate to pathlib in create_nuget.py (#4422)

This commit is contained in:
Nikita Titov 2021-07-02 15:05:28 +03:00 коммит произвёл GitHub
Родитель 962a99370c
Коммит 6bff79da68
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 20 добавлений и 27 удалений

Просмотреть файл

@ -1,30 +1,26 @@
# coding: utf-8
"""Script for generating files with NuGet package metadata."""
import datetime
import os
import sys
from distutils.file_util import copy_file
from pathlib import Path
from shutil import copyfile
if __name__ == "__main__":
source = sys.argv[1]
current_dir = os.path.abspath(os.path.dirname(__file__))
linux_folder_path = os.path.join(current_dir, "runtimes", "linux-x64", "native")
if not os.path.exists(linux_folder_path):
os.makedirs(linux_folder_path)
osx_folder_path = os.path.join(current_dir, "runtimes", "osx-x64", "native")
if not os.path.exists(osx_folder_path):
os.makedirs(osx_folder_path)
windows_folder_path = os.path.join(current_dir, "runtimes", "win-x64", "native")
if not os.path.exists(windows_folder_path):
os.makedirs(windows_folder_path)
build_folder_path = os.path.join(current_dir, "build")
if not os.path.exists(build_folder_path):
os.makedirs(build_folder_path)
copy_file(os.path.join(source, "lib_lightgbm.so"), os.path.join(linux_folder_path, "lib_lightgbm.so"))
copy_file(os.path.join(source, "lib_lightgbm.dylib"), os.path.join(osx_folder_path, "lib_lightgbm.dylib"))
copy_file(os.path.join(source, "lib_lightgbm.dll"), os.path.join(windows_folder_path, "lib_lightgbm.dll"))
copy_file(os.path.join(source, "lightgbm.exe"), os.path.join(windows_folder_path, "lightgbm.exe"))
version = open(os.path.join(current_dir, os.path.pardir, 'VERSION.txt')).read().strip().replace('rc', '-rc')
source = Path(sys.argv[1])
current_dir = Path(__file__).parent.absolute()
linux_folder_path = current_dir / "runtimes" / "linux-x64" / "native"
linux_folder_path.mkdir(parents=True, exist_ok=True)
osx_folder_path = current_dir / "runtimes" / "osx-x64" / "native"
osx_folder_path.mkdir(parents=True, exist_ok=True)
windows_folder_path = current_dir / "runtimes" / "win-x64" / "native"
windows_folder_path.mkdir(parents=True, exist_ok=True)
build_folder_path = current_dir / "build"
build_folder_path.mkdir(parents=True, exist_ok=True)
copyfile(source / "lib_lightgbm.so", linux_folder_path / "lib_lightgbm.so")
copyfile(source / "lib_lightgbm.dylib", osx_folder_path / "lib_lightgbm.dylib")
copyfile(source / "lib_lightgbm.dll", windows_folder_path / "lib_lightgbm.dll")
copyfile(source / "lightgbm.exe", windows_folder_path / "lightgbm.exe")
version = (current_dir.parent / 'VERSION.txt').read_text(encoding='utf-8').strip().replace('rc', '-rc')
nuget_str = rf"""<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
@ -79,9 +75,6 @@ if __name__ == "__main__":
</Target>
</Project>
"""
with open(os.path.join(current_dir, "LightGBM.nuspec"), "w") as nuget_file:
nuget_file.write(nuget_str)
with open(os.path.join(current_dir, "build", "LightGBM.props"), "w") as prop_file:
prop_file.write(prop_str)
with open(os.path.join(current_dir, "build", "LightGBM.targets"), "w") as target_file:
target_file.write(target_str)
(current_dir / "LightGBM.nuspec").write_text(nuget_str, encoding='utf-8')
(current_dir / "build" / "LightGBM.props").write_text(prop_str, encoding='utf-8')
(current_dir / "build" / "LightGBM.targets").write_text(target_str, encoding='utf-8')