aboutsummaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorPatrice Arruda <patricearruda@google.com>2019-03-13 09:36:46 -0700
committerPatrice Arruda <patricearruda@google.com>2019-03-26 09:09:41 -0700
commit64765aaef9b56b1d97f5554f98d0d162bdf06a28 (patch)
treec206ee96513f398f12624ebb59f9d4c88d7c83c8 /android
parentfc22e4eeba91d0bc76687240f0f83e14d5f12fef (diff)
downloadsoong-64765aaef9b56b1d97f5554f98d0d162bdf06a28.tar.gz
Soong: Add synopsis to soong_namespace module.
Synopsis was missing to soong_namespace module. Also added documentation to imports properties. This required the namespaceProperties struct to be pulled out of the NamespaceModule struct in order for the documentation tool to extract the property documentation. Bug: b/128337482 Test: Ran the doc generation command and verified that the synopsis was added to soong_namespace and imports properties is listed too. Change-Id: I519b14629bdbc85f35fbc8fa03e78dc2ad3f655e
Diffstat (limited to 'android')
-rw-r--r--android/namespace.go20
1 files changed, 17 insertions, 3 deletions
diff --git a/android/namespace.go b/android/namespace.go
index dca2b8c95..50bdcba7f 100644
--- a/android/namespace.go
+++ b/android/namespace.go
@@ -355,15 +355,19 @@ func NewNamespace(path string) *Namespace {
var _ blueprint.Namespace = (*Namespace)(nil)
+type namespaceProperties struct {
+ // a list of namespaces that contain modules that will be referenced
+ // by modules in this namespace.
+ Imports []string `android:"path"`
+}
+
type NamespaceModule struct {
ModuleBase
namespace *Namespace
resolver *NameResolver
- properties struct {
- Imports []string
- }
+ properties namespaceProperties
}
func (n *NamespaceModule) GenerateAndroidBuildActions(ctx ModuleContext) {
@@ -376,6 +380,16 @@ func (n *NamespaceModule) Name() (name string) {
return *n.nameProperties.Name
}
+// soong_namespace provides a scope to modules in an Android.bp file to prevent
+// module name conflicts with other defined modules in different Android.bp
+// files. Once soong_namespace has been defined in an Android.bp file, the
+// namespacing is applied to all modules that follow the soong_namespace in
+// the current Android.bp file, as well as modules defined in Android.bp files
+// in subdirectories. An Android.bp file in a subdirectory can define its own
+// soong_namespace which is applied to all its modules and as well as modules
+// defined in subdirectories Android.bp files. Modules in a soong_namespace are
+// visible to Make by listing the namespace path in PRODUCT_SOONG_NAMESPACES
+// make variable in a makefile.
func NamespaceFactory() Module {
module := &NamespaceModule{}