Skip to content

Commit

Permalink
Use git exec candidate list on all platforms for build (flutter#34294)
Browse files Browse the repository at this point in the history
* Use git exec candidate list on all platforms for build

build/git_revision.py now uses a git executable name search list on all
platforms, avoiding issues with some Windows installations.

* Moving python import to top to satisfy linter

* Fixing format error and removing unneeded check

* Adding git candidate search to githooks setup.py

* Adding missing COM initialization to
flutter_tester executable on Windows

* Revert "Adding missing COM initialization to"

Reason: Added to incorrect branch

This reverts commit 1b0da56.

* Format fix for setup.py
  • Loading branch information
mtolmacs authored Jun 28, 2022
1 parent 7a300ec commit bc87d30
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 17 deletions.
15 changes: 7 additions & 8 deletions build/git_revision.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,20 @@
import subprocess
import os
import argparse


def is_windows():
os_id = sys.platform
return os_id.startswith('win32') or os_id.startswith('cygwin')
from shutil import which # Natively supported since python 3.3


def get_repository_version(repository):
'Returns the Git HEAD for the supplied repository path as a string.'
if not os.path.exists(repository):
raise IOError('path does not exist')

git = 'git'
if is_windows():
git = 'git.bat'
git_candidates = ['git', 'git.sh', 'git.bat']
git = next(filter(which, git_candidates), None)
if git is None:
candidates = "', '".join(git_candidates)
raise IOError(f"Looks like GIT is not on the path. Tried '{candidates}'")

version = subprocess.check_output([
git,
'-C',
Expand Down
15 changes: 6 additions & 9 deletions tools/githooks/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import os
import subprocess
import sys
from shutil import which # Natively supported since python 3.3

SRC_ROOT = os.path.dirname(
os.path.dirname(
Expand All @@ -19,17 +20,13 @@
FLUTTER_DIR = os.path.join(SRC_ROOT, 'flutter')


def IsWindows():
os_id = sys.platform
return os_id.startswith('win32') or os_id.startswith('cygwin')


def Main(argv):
git = 'git'
githooks = os.path.join(FLUTTER_DIR, 'tools', 'githooks')
if IsWindows():
git = 'git.bat'
githooks = os.path.join(githooks, 'windows')
git_candidates = ['git', 'git.sh', 'git.bat']
git = next(filter(which, git_candidates), None)
if git is None:
candidates = "', '".join(git_candidates)
raise IOError(f"Looks like GIT is not on the path. Tried '{candidates}'")
result = subprocess.run([
git,
'config',
Expand Down

0 comments on commit bc87d30

Please sign in to comment.