zeronet/build.py
2024-04-04 22:15:34 +00:00

53 lines
1.7 KiB
Python
Executable file

#!/usr/bin/env python3
## Copyright (c) 2024 caryoscelus
##
## zeronet-conservancy is free software: you can redistribute it and/or modify it under the
## terms of the GNU General Public License as published by the Free Software
## Foundation, either version 3 of the License, or (at your option) any later version.
##
## zeronet-conservancy 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
## zeronet-conservancy. If not, see <https://www.gnu.org/licenses/>.
##
"""Simple build/bundle script
"""
import argparse
def write_to(args, target):
branch = args.branch
commit = args.commit
if branch is None or commit is None:
from src.util import Git
branch = branch or Git.branch() or 'unknown'
commit = commit or Git.commit() or 'unknown'
target.write('\n'.join([
f"build_type = {args.type!r}",
f"branch = {branch!r}",
f"commit = {commit!r}",
f"version = {args.version!r}",
]))
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--type', default='source')
parser.add_argument('--version')
parser.add_argument('--branch')
parser.add_argument('--commit')
parser.add_argument('--stdout', action=argparse.BooleanOptionalAction, default=False)
args = parser.parse_args()
if args.stdout:
import sys
target = sys.stdout
else:
target = open('src/Build.py', 'w')
write_to(args, target)
if __name__ == '__main__':
main()