Skip to content

Commit f824d0e

Browse files
authored
Automatically generate required pre-requisites (kivy#2858)
`get_required_prerequisites()` maintains a list of Prerequisites required by each platform. But that same information is already stored in each Prerequisite class. Rather than rather than maintaining two lists which might become inconsistent, auto-generate one.
1 parent 08b58fd commit f824d0e

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

pythonforandroid/prerequisites.py

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -370,22 +370,19 @@ def darwin_installer(self):
370370

371371

372372
def get_required_prerequisites(platform="linux"):
373-
DEFAULT_PREREQUISITES = dict(
374-
darwin=[
375-
HomebrewPrerequisite(),
376-
AutoconfPrerequisite(),
377-
AutomakePrerequisite(),
378-
LibtoolPrerequisite(),
379-
PkgConfigPrerequisite(),
380-
CmakePrerequisite(),
381-
OpenSSLPrerequisite(),
382-
JDKPrerequisite(),
383-
],
384-
linux=[],
385-
all_platforms=[],
386-
)
387-
388-
return DEFAULT_PREREQUISITES["all_platforms"] + DEFAULT_PREREQUISITES[platform]
373+
return [
374+
prerequisite_cls()
375+
for prerequisite_cls in [
376+
HomebrewPrerequisite,
377+
AutoconfPrerequisite,
378+
AutomakePrerequisite,
379+
LibtoolPrerequisite,
380+
PkgConfigPrerequisite,
381+
CmakePrerequisite,
382+
OpenSSLPrerequisite,
383+
JDKPrerequisite,
384+
] if prerequisite_cls.mandatory.get(platform, False)
385+
]
389386

390387

391388
def check_and_install_default_prerequisites():

0 commit comments

Comments
 (0)