From 6ca390f0b4be216226f31bc05ed5e3bba3105e17 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Thu, 14 Feb 2019 23:17:08 -0800 Subject: Support building a par file that does not automatically run Mainly so that we can build a `python` prebuilt that acts like the normal python install, though you could also build different ones with more packages pre-installed. Bug: 117811537 Test: move built py2-cmd into prebuilts/build-tools/path/linux-x86/python and build Change-Id: I21215f6fd3754d89f8c65e1dfeb3f2deea23239f --- python/binary.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'python/binary.go') diff --git a/python/binary.go b/python/binary.go index bf9acb411..140f07af9 100644 --- a/python/binary.go +++ b/python/binary.go @@ -42,6 +42,11 @@ type BinaryProperties struct { // list of compatibility suites (for example "cts", "vts") that the module should be // installed into. Test_suites []string `android:"arch_variant"` + + // whether to use `main` when starting the executable. The default is true, when set to + // false it will act much like the normal `python` executable, but with the sources and + // libraries automatically included in the PYTHONPATH. + Autorun *bool `android:"arch_variant"` } type binaryDecorator struct { @@ -74,6 +79,10 @@ func PythonBinaryHostFactory() android.Module { return module.Init() } +func (binary *binaryDecorator) autorun() bool { + return BoolDefault(binary.binaryProperties.Autorun, true) +} + func (binary *binaryDecorator) bootstrapperProps() []interface{} { return []interface{}{&binary.binaryProperties} } @@ -82,7 +91,10 @@ func (binary *binaryDecorator) bootstrap(ctx android.ModuleContext, actualVersio embeddedLauncher bool, srcsPathMappings []pathMapping, srcsZip android.Path, depsSrcsZips android.Paths) android.OptionalPath { - main := binary.getPyMainFile(ctx, srcsPathMappings) + main := "" + if binary.autorun() { + main = binary.getPyMainFile(ctx, srcsPathMappings) + } var launcherPath android.OptionalPath if embeddedLauncher { -- cgit v1.2.3-59-g8ed1b