Supported python build in host side.

The base module handles all the common functionalites, such as version
compatibilty check, version variations split, source file format check,
source/data file duplicate check.

The library/binary module focuses on how to generate binary build actions,
such as setting up stub script, zipping, filling in __init__.py in
runfiles dir tree.

Bug: b/31676493
Test: go test under python package

Change-Id: I06608369f350f7195873d459e1c8d1bdb811e77e
This commit is contained in:
Nan Zhang
2017-02-27 10:12:13 -08:00
parent 7c34c4c8eb
commit db0b9a3cf3
10 changed files with 1494 additions and 16 deletions

43
python/library.go Normal file
View File

@@ -0,0 +1,43 @@
// Copyright 2017 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package python
// This file contains the module types for building Python library.
import (
"github.com/google/blueprint"
"android/soong/android"
)
func init() {
android.RegisterModuleType("python_library_host", PythonLibraryHostFactory)
}
type PythonLibrary struct {
pythonBaseModule
}
var _ PythonSubModule = (*PythonLibrary)(nil)
func PythonLibraryHostFactory() (blueprint.Module, []interface{}) {
module := &PythonLibrary{}
return InitPythonBaseModule(&module.pythonBaseModule, module, android.HostSupportedNoCross)
}
func (p *PythonLibrary) GeneratePythonAndroidMk() (ret android.AndroidMkData, err error) {
return
}