Source publiée
Télécharger la source ZIP
CH-J SM Mobile
Parcourez les répertoires et les fichiers pour une version spécifique de l'application.
CH-J / SM Mobile
134 fichiers
sm-mobile-20261016T050549Z-3678f2a05fa9
Ajouté: · Construit:
1
#!/usr/bin/env python32
"""Prepare a unique, locally consented build, then validate and package it."""3
import argparse,datetime,pathlib,secrets,subprocess,sys4
root=pathlib.Path(__file__).resolve().parents[1]5
p=argparse.ArgumentParser()6
p.add_argument('target',choices=['apk','aab','ios-simulator','ios','all','distribution'])7
p.add_argument('--release',action='store_true')8
args=p.parse_args()9
if (args.release or args.target == 'distribution') and args.target in ['apk','aab','all','distribution'] and not (root/'android/key.properties').exists():10
raise SystemExit('Provide android/key.properties with your release signing identity first.')11
def run(*command): subprocess.run(command,cwd=root,check=True)12
run('flutter','pub','get')13
run(sys.executable,str(root/'tool/notices.py'))14
build_id='sm-mobile-'+datetime.datetime.now(datetime.timezone.utc).strftime('%Y%m%dT%H%M%SZ')+'-'+secrets.token_hex(6)15
(root/'lib/core/build_info.dart').write_text("// Generated by tool/build.py. Never reuse for a different distributed build.\nconst appVersion = '0.0.1';\nconst buildId = '"+build_id+"';\n")16
run('flutter','analyze')17
run('flutter','test')18
mode='--release' if args.release or args.target == 'distribution' else '--debug'19
if args.target in ['apk','all','distribution']: run('flutter','build','apk',mode)20
if args.target in ['aab','all','distribution']: run('flutter','build','appbundle',mode)21
if args.target in ['ios-simulator','all']: run('flutter','build','ios','--simulator')22
if args.target in ['ios','distribution']: run('flutter','build','ios','--release','--no-codesign')23
print('Built '+build_id)SHA-256
ae38ccbce6603ab73799859512db600c5588e1d962350d5ed481255963145e79CH-J Proprietary Software License 1.14 · La source est fournie sous CH-J Proprietary Software License 1.14. Sa disponibilité ne modifie pas les termes de la licence ni n'accorde de droits supplémentaires.
Archive SHA-256
c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65