Darabonba 语言学习--Darafile 详解

简介: 本篇文章仅作为本人学习记录,如涉及侵权问题。及时联系作者,予以删除。

Darafile 详解

DarafileDarabonba 的模块管理文件,类似 Java 中的 pom.xml 或者 Node.js 中的 package.json,下面我们将通过一个示例来详细介绍 Darafile 中所有的可配置项:

{
// 模块所属 scope,scope 可以在 https://darabonba.api.aliyun.com/admin/maintainer 中的创建"scope": "darabonba",
// 模块的名字"name": "Sample",
// 模块的版本号"version": "1.0.0",
// 模块的主文件路径"main": "./main.dara",
// 模块生成所依赖的其他模块"libraries": {
// 属性名 TestModule 是 dara 脚本 import 时使用的名字// 属性值为远端模块的信息,格式为: scope:name:version"TestModule": "darabonba:TestModule:1.0.0"  },
// 模块生成的各语言 SDK 对应发布的版本的包名和对应版本,格式为 包名:版本// releases 中各语言的包名及版本是依赖该模块生成对应语言代码的依赖时使用的数据"releases": {
// java中格式比较特殊,格式为 groupId:artifactId:version"java": "com.aliyun:sdk:2.0.6",
"go": "github.com/alibabacloud-go/cs-20151215/client:v2.0.6",
"csharp": "AlibabaCloud.SDK.CS20151215:2.0.6",
"ts": "@alicloud/cs20151215:2.0.6",
"php": "alibabacloud/cs-20151215:2.0.6",
"python": "alibabacloud_cs20151215:2.0.6"  },
// 生成 Java 相关的个性化配置"java": {
// 生成 Java 时必选参数,值为生成代码所属 package,也是生成路径"package": "com.aliyun.sdk",
// 决定生成 Java 的 Client 文件的文件名,同时也是 Client 文件中 class 的名字,使用大驼峰"className": "SDKClient",
// packageInfo 中的每一项都对应 pom.xml 中的同名信息// 只会在首次生成 pom.xml 时生效,以免人工改动 pom.xml 重置其信息"packageInfo": {
"description": "Alibaba Cloud SDK for Java",
"url": "https://github.com/aliyun/alibabacloud-sdk",
"licenseName": "The Apache License, Version 2.0",
"licenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt",
"developerId": "aliyunproducts",
"developerName": "Aliyun SDK",
"developerEmail": "aliyunsdk@aliyun.com"    }
  },
// 生成 Python 相关的个性化配置"python": {
// 生成 python 包的包名,同时也是文件夹名,使用蛇形体"package": "alibabacloud_sdk",
// 决定 client 文件的文件名与 client 类名,使用蛇形体"clientName": "client",
// 决定生成 Python 包信息文件 setup.py 中相关内容"packageInfo": {
// python 库名,配置 packeageInfo 必填"name": "alibabacloud_sdk",
// 简介,配置 packeageInfo 必填"desc": "Alibaba Cloud SDK Library for Python",
// github 地址,配置 packeageInfo 必填"github": "https://github.com/aliyun/alibabacloud-sdk",
// 包作者"author": "Alibaba Cloud SDK",
// 包作者邮箱"email": "sdk-team@alibabacloud.com"    }
  },
"csharp": {
// 决定 client 文件的文件名与 client 类名,使用大驼峰"className": "Client",
// 生成 C# 代码的 rootNamespace,根命名空间// 也是csproj 文件中的 rootNamespace 属性值"namespace": "AlibabaCloud.SDK",
// 决定生成 C# 包信息文件 xxx.csproj 中相关内容"packageInfo": {
//csproj 的项目文件名称,例为: sdk.csproj"name": "sdk",
// 生成 AssemblyInfo.cs 文件中的 AssemblyTitle 值"title": "alibabacloud-sdk",
// 生成 AssemblyInfo.cs 文件中的 AssemblyDescription 值"description": "Alibaba Cloud SDK Library for .NET",
// 生成 AssemblyInfo.cs 文件中的 AssemblyCompany 值"company": "Alibaba Cloud, Inc"    }
  },
"php": {
// PHP 代码的基础命名空间"package": "AlibabaCloud.SDK",
// 决定 client 文件的文件名与 client 类名,使用大驼峰"clientName": "SDK",
// 生成 PHP composer 软件包信息"packageInfo": {
// composer 软件包的名称"name": "alibabacloud/sdk",
// composer 软件包的描述信息"desc": "Alibaba Cloud SDK Library for PHP",
// 代码发布的 github 地址"github": "https://github.com/aliyun/alibabacloud-sdk"    }
  }
}


相关文章
|
6月前
|
Go API 数据库
【Go 语言专栏】Go 语言中的 ORM 框架使用与比较
【4月更文挑战第30天】本文对比分析了Go语言中的常见ORM框架:GORM、XORM和BeeORM。GORM功能强大,支持复杂查询和关联关系处理,但可能影响性能;XORM以其简单易用和高性能受到青睐,但文档不全;BeeORM简洁高效,适合基础应用场景。选择ORM应考虑功能、性能、易用性和社区支持,根据项目需求进行评估和选择,以提升开发效率和应用性能。
441 0
|
6月前
|
Go
Go 语言教程
Go 语言教程
47 3
|
6月前
|
中间件 Go API
【Go 语言专栏】Go 语言中的 Web 框架比较与选择
【4月更文挑战第30天】本文对比了Go语言中的四个常见Web框架:功能全面的Beego、轻量级高性能的Gin、简洁高效的Echo,以及各自的性能、功能特性、社区支持。选择框架时需考虑项目需求、性能要求、团队经验和社区生态。开发者应根据具体情况进行权衡,以找到最适合的框架。
1015 0
|
存储 JSON Go
Go 语言快速入门指南:Go 语言解析 JSON(上)
本文将说明如何利用 Go 语言将 JSON 解析为结构体和数组,如果解析 JSON 的嵌入对象,如何将 JSON 的自定义属性名称映射到结构体,如何解析非结构化的 JSON 字符串。
|
Go
Go 语言学习之包
Go 语言学习之包
39 0
|
存储 负载均衡 Go
Go 语言可以做什么 | 学习笔记
快速学习 Go 语言可以做什么
Go 语言可以做什么 | 学习笔记
|
JSON Go 数据格式
Go 语言快速入门指南:Go 语言解析 JSON(下)
本文将说明如何利用 Go 语言将 JSON 解析为结构体和数组,如果解析 JSON 的嵌入对象,如何将 JSON 的自定义属性名称映射到结构体,如何解析非结构化的 JSON 字符串。
|
开发工具 C++ API
Darabonba 语言学习
本篇文章仅作为本人学习记录,如涉及侵权问题。及时联系作者,予以删除。
290 0
30 分钟学习 go 语言
今天和大家一起学习 go 语言 我的题目是 第一分钟 打开 Go 语言官方文档 The Go Programming Language (google.cn) 并进行下载与安装 Downloads - The Go Programming Language (google.cn)
167 0
30 分钟学习 go 语言
|
JSON 开发框架 JavaScript
慢聊Go之JSON在Go语言中的道法术|Go主题月
慢聊Go之JSON在Go语言中的道法术|Go主题月
163 0