DADK是一个用于开发DragonOS应用的工具包,设计目的是为了让开发者能够更加方便的开发DragonOS应用。
DADK的文档托管在DADK Docs上。
DADK is licensed under the GPLv2 License.
DADK是一个Rust程序,您可以通过Cargo来安装DADK。
# 从GitHub安装最新版
cargo install --git https://github.com/DragonOS-Community/DADK.git
# 从crates.io下载
cargo install dadk
DADK使用(任务名,任务版本)来标识每个构建目标。当使用DADK构建DragonOS应用时,DADK会根据用户的配置文件,自动完成以下工作:
环境变量的设置是DADK能正常工作的关键因素之一,您可以在您的编译脚本中,通过引用环境变量,来获得其他软件库的编译信息。 这是使得您的应用能够自动依赖其他软件库的关键一步。
只要您的编译脚本能够正确地引用环境变量,DADK就能够自动处理软件库的依赖关系。
DADK会设置以下全局环境变量:
DADK_CACHE_ROOT
:DADK的缓存根目录。您可以在编译脚本中,通过引用该环境变量,来获得DADK的缓存根目录。DADK_BUILD_CACHE_DIR_任务名_任务版本
:DADK的任务构建结果缓存目录。当您要引用其他软件库的构建结果时,可以通过该环境变量来获得。
同时,您也要在构建您的app时,把构建结果放到您的软件库的构建结果缓存目录(通过对应的环境变量获得)中。DADK_SOURCE_CACHE_DIR_任务名_任务版本
:DADK的某个任务的源码目录。当您要引用其他软件库的源码目录时,可以通过该环境变量来获得。DADK_CURRENT_BUILD_DIR
环境变量,其值与DADK_BUILD_CACHE_DIR_任务名_任务版本
相同。方便您在编译脚本中引用,把构建结果拷贝到这里。全局环境变量中的任务名和任务版本,都会被转换为大写字母,并对特殊字符进行替换。替换表如下:
原字符 | 替换字符 |
---|---|
. |
_ |
- |
_ |
\t |
_ |
空格 | _ |
+ |
_ |
* |
_ |
举例:对于任务libc-0.1.0
,其构建结果的全局环境变量名为DADK_BUILD_CACHE_DIR_LIBC_0_1_0
。