diff options
Diffstat (limited to 'python/library.go')
| -rw-r--r-- | python/library.go | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/python/library.go b/python/library.go index 3a2759174..df92df42b 100644 --- a/python/library.go +++ b/python/library.go @@ -17,9 +17,6 @@ package python // This file contains the module types for building Python library. import ( - "path/filepath" - "strings" - "android/soong/android" "android/soong/bazel" @@ -50,6 +47,10 @@ type bazelPythonLibraryAttributes struct { Srcs_version *string } +type bazelPythonProtoLibraryAttributes struct { + Deps bazel.LabelListAttribute +} + func pythonLibBp2Build(ctx android.TopDownMutatorContext, m *Module) { // TODO(b/182306917): this doesn't fully handle all nested props versioned // by the python version, which would have been handled by the version split @@ -68,39 +69,13 @@ func pythonLibBp2Build(ctx android.TopDownMutatorContext, m *Module) { // do nothing, since python_version defaults to PY2ANDPY3 } - // Bazel normally requires `import path.from.top.of.tree` statements in - // python code, but with soong you can directly import modules from libraries. - // Add "imports" attributes to the bazel library so it matches soong's behavior. - imports := "." - if m.properties.Pkg_path != nil { - // TODO(b/215119317) This is a hack to handle the fact that we don't convert - // pkg_path properly right now. If the folder structure that contains this - // Android.bp file matches pkg_path, we can set imports to an appropriate - // number of ../..s to emulate moving the files under a pkg_path folder. - pkg_path := filepath.Clean(*m.properties.Pkg_path) - if strings.HasPrefix(pkg_path, "/") { - ctx.ModuleErrorf("pkg_path cannot start with a /: %s", pkg_path) - return - } - - if !strings.HasSuffix(ctx.ModuleDir(), "/"+pkg_path) && ctx.ModuleDir() != pkg_path { - ctx.ModuleErrorf("Currently, bp2build only supports pkg_paths that are the same as the folders the Android.bp file is in. pkg_path: %s, module directory: %s", pkg_path, ctx.ModuleDir()) - return - } - numFolders := strings.Count(pkg_path, "/") + 1 - dots := make([]string, numFolders) - for i := 0; i < numFolders; i++ { - dots[i] = ".." - } - imports = strings.Join(dots, "/") - } - baseAttrs := m.makeArchVariantBaseAttributes(ctx) + attrs := &bazelPythonLibraryAttributes{ Srcs: baseAttrs.Srcs, Deps: baseAttrs.Deps, Srcs_version: python_version, - Imports: bazel.MakeStringListAttribute([]string{imports}), + Imports: baseAttrs.Imports, } props := bazel.BazelTargetModuleProperties{ |