75 lines
2.7 KiB
Python
75 lines
2.7 KiB
Python
"""
|
|
Copyright (c) 2023 zhbaor <zhbaor@zhaozuohong.vip>
|
|
|
|
This file is part of mower-ng (https://git.zhaozuohong.vip/mower-ng/mower-ng).
|
|
|
|
Mower-ng is free software: you may copy, redistribute and/or modify it
|
|
under the terms of the GNU General Public License as published by the
|
|
Free Software Foundation, version 3 or later.
|
|
|
|
This file is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
This file incorporates work covered by the following copyright and
|
|
permission notice:
|
|
|
|
Copyright (c) 2021 Nano <nanoapezlk@gmail.com>
|
|
Copyright (c) 2022 YuiTH <396698132@qq.com>
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
"""
|
|
|
|
import platform
|
|
import subprocess
|
|
|
|
from mower.utils.path import get_path
|
|
|
|
__rootdir__ = get_path("@install") / "mower"
|
|
|
|
|
|
__system__ = platform.system().lower()
|
|
|
|
__creation_flags__ = 0
|
|
if __system__ == "windows":
|
|
__creation_flags__ = subprocess.CREATE_NO_WINDOW
|
|
|
|
git_path = get_path("@install").parent / "git" / "bin" / "git.exe"
|
|
if not git_path.exists():
|
|
git_path = "git"
|
|
|
|
branch = subprocess.run(
|
|
[str(git_path), "rev-parse", "--abbrev-ref", "HEAD"],
|
|
capture_output=True,
|
|
text=True,
|
|
creationflags=__creation_flags__,
|
|
).stdout.strip()
|
|
|
|
commit = subprocess.run(
|
|
[str(git_path), "rev-parse", "HEAD"],
|
|
capture_output=True,
|
|
text=True,
|
|
creationflags=__creation_flags__,
|
|
).stdout.strip()
|
|
|
|
__version__ = f"{branch}+{commit[:10]}"
|