"test": []# Entry for building the component's test cases.
"test": []# Entry for building the component's test cases.
}
}
}
}
}
}
```
```
>  **NOTE**<br>Existing components on the LiteOS are configured in the JSON file of the corresponding subsystem in the **build/lite/components** directory. The directory is named in the **{Domain}/{Subsystem}/{Component}** format. The component directory structure is as follows:
> **CAUTION**
>
> Existing components on the LiteOS are configured in the JSON file of the corresponding subsystem in the **build/lite/components** directory. The directory is named in the **{Domain}/{Subsystem}/{Component}** format. The component directory structure is as follows:
```shell
```shell
component
component
...
@@ -123,7 +125,7 @@ When adding a component, you must add the component definition to the JSON file
...
@@ -123,7 +125,7 @@ When adding a component, you must add the component definition to the JSON file
deps =[# Dependent modules in the component
deps =[# Dependent modules in the component
"../feature1:helloworld_lib"
"../feature1:helloworld_lib"
]
]
external_deps =["partB:module1"]# (Optional) Dependent modules of another component are named in the Component name:Module name format.
external_deps =["partB:module1"]# (Optional) Dependent modules of another component are named in the Component name:Module name format.
install_enable =true# By default, executable programs are not installed. Set this parameter to true if an executable program needs to be installed.
install_enable =true# By default, executable programs are not installed. Set this parameter to true if an executable program needs to be installed.
part_name ="partA"
part_name ="partA"
}
}
...
@@ -134,22 +136,55 @@ When adding a component, you must add the component definition to the JSON file
...
@@ -134,22 +136,55 @@ When adding a component, you must add the component definition to the JSON file
```shell
```shell
ohos_prebuilt_etc("feature3_etc"){
ohos_prebuilt_etc("feature3_etc"){
source="src/config.conf"
source="src/config.conf"
relative_install_dir ="init"# (Optional) Relative directory for installing the module. The default installation directory is **/system/etc**.
relative_install_dir ="init"# (Optional) Relative directory for installing the module. The default installation directory is /system/etc.
part_name ="partA"
part_name ="partA"
}
}
```
```
(d) Add the module configuration **test/examples/bundle.json** to the **bundle.json** file of the component. Each component has a **bundle.json** file in the root directory of the component. For details, see the [component bundle.json file](subsys-build-component.md#configuration-rules).
(d) Add the module configuration **test/examples/bundle.json** to the **bundle.json** file of the component. Each component has a **bundle.json** file in the root directory of the component. For details, see the [component bundle.json file](subsys-build-component.md#configuration-rules).
2. Add the component to **//vendor/{*product_company*}/{*product_name*}/config.json**.
2. Add the component to the product configuration file.
For example, add "subsystem_examples:partA" to the product **config.json** file. Then, **partA** will be built and packaged into the distribution.
Add the component to **//vendor/{*product_company*}/{*product_name*}/config.json**.
The following uses **vendor/hisilicon/hispark_taurus_standard/config.json** as an example:
"subsystem": "subsystem_examples", # Subsystem to which the component belongs.
"components": [
{
"component": "partA", # Component name.
"features": [] # Configurable features of the component.
}
]
},
···
}
```
The configuration file contains information about the the product name and chip vendor. **inherit** specifies the dependent, and **subsystems** specifies the components other than the common components.
For example, add "subsystem_examples:partA" to the product **config.json** file. Then, **partA** will be built and packaged into the distribution.
3. Start the build.
3. Start the build.
You can start the build by using the [CLI or hb tool](subsys-build-all.md#build-commands). The following uses the CLI as an example:
You can start the build by using the [CLI or hb tool](subsys-build-all.md#build-commands). The following uses the CLI as an example:
You can run '--build-target componentName' to build a component separately. For example, to build the musl component of hispark_taurus_standard, run the following command:
You can run '**--build-target *componentName***' to build a component separately. For example, to build the musl component of hispark_taurus_standard, run the following command:
@@ -163,4 +198,4 @@ When adding a component, you must add the component definition to the JSON file
...
@@ -163,4 +198,4 @@ When adding a component, you must add the component definition to the JSON file
4. Obtain the build result.
4. Obtain the build result.
You can obtain the generated files from the **out/hispark_taurus/** directory and the image in the **out/hispark_taurus/packages/phone/images/** directory.
You can obtain the generated files from the **out/hispark_taurus/** directory and the image in the **out/hispark_taurus/packages/phone/images/** directory.