blob: c6ac9d196eb089275d7baf00fce9ddf2b51c76aa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
from __future__ import print_function
import sys
from windows_gnu import WindowsGnuBootstrapper
from windows_msvc import WindowsMsvcBootstrapper
class Bootstrapper(object):
"""Main class that performs system bootstrap."""
def __init__(self):
self.instance = None
cls = None
args = {}
if sys.platform.startswith('msys'):
cls = WindowsGnuBootstrapper
elif sys.platform.startswith('win32'):
cls = WindowsMsvcBootstrapper
if cls is None:
sys.exit('Bootstrap support is not yet available for your OS.')
self.instance = cls(**args)
def bootstrap(self, android=False, interactive=False, force=False):
self.instance.interactive = interactive
self.instance.force = force
if android:
self.instance.install_mobile_android_packages()
elif force:
self.instance.install_system_packages()
else:
self.instance.ensure_system_packages()
|