使用Ballerina CLI工具开发Ballerina项目
芭蕾舞女演员是今年9月发布的1.0版本的最新编程语言。 芭蕾舞演员是一种通用编程语言,专门用于实现分布式网络应用程序。 芭蕾舞女演员具有内置模块,可以仅用几行代码来构建分布式Web应用程序。 芭蕾舞女演员提供了一个用于维护芭蕾舞女演员项目的CLI工具。 本文是对Ballerina CLI工具及其使用方式的简要介绍。
您可以从Ballerina官方网站下载Ballerina发行版。 下载并安装后即可开始编写Ballerina程序。 您可以通过执行以下命令来检查芭蕾舞女演员的安装版本。
ballerina version
此命令打印芭蕾舞女演员语言的安装版本。 您还可以通过运行以下命令来检查Ballerina安装的文件夹。
ballerina home
使用CLI创建新的Ballerina项目
您可以使用以下Ballerina CLI命令来创建新的Ballerina项目。 此命令将创建一个包含Ballerina.toml文件和src目录的新文件夹。 您的所有Ballerina描述和依赖项都包含在此Ballerina.toml文件中。
ballerina new <project-name>
现在,您可以开始在新创建的Ballerina项目中进行项目了。 以下命令生成一个模块,以开始编写您自己的芭蕾舞女演员代码。 您应将当前目录更改为Ballerina项目文件夹,以执行此命令。
ballerina add <module-name>
此命令与Ballerina语言中的Hello World Code示例一起在Ballerina模块内部生成Ballerina文件夹结构。<project_home> / src / <module_name> /main.bal成为应用程序的主要入口点。 模块的测试应放在<project_home> / src / <module_name> / tests /目录中。 main.bal中的Hello Wold程序如下。
import ballerina/io;public function main ( ) {io:println( "Hello World!" );
}
您可以通过运行以下命令将项目与测试一起构建。 您可以通过在build命令的末尾添加'-skip-test'选项来防止运行测试用例。
ballerina build <module-name>
生成命令生成源代码并将其转换为Java文件,该文件位于<project_home> / target / bin /'文件夹中。如果您检查此文件夹,则可以看到带有模块名称的jar文件。 您可以以与运行标准Java程序相同的方式在JVM上运行此jar文件。
如果您需要不构建就运行模块,则可以尝试执行以下命令。 在这里,您可以运行模块文件或芭蕾舞女演员文件。
ballerina run {<bal-file> | <module-name>}
芭蕾舞女演员在芭蕾舞女演员项目中保留了缓存。 它可以保持高速缓存的顺序,以加快构建过程。
-从Central提取的BALO文件。
-编译期间生成的BIR文件。
-编译期间生成的JAR文件
通过执行以下命令,芭蕾舞女演员将清除芭蕾舞女演员项目中的缓存。
ballerina clean
通过运行以下命令,您只能使用Ballerina程序运行测试。 您可以通过添加'-a'选项来测试整个模块,或者只能通过指定模块名称来测试特定模块。
ballerina test <module-name>
通过Ballerina Central与他人合作
芭蕾舞女演员中心是开发人员可以与其他开发人员共享软件的主要场所。 Ballerina Central的功能与git相同。 通过推动模块,您可以将模块上传到Ballerina Central。 您可以通过拉动模块来使用其他人构造的模块的相同方法。 您可以浏览Ballerina Central网站上的可用模块。
可以使用以下命令通过CLI而不是从Ballerina中央网站搜索来搜索Ballerina模块。
ballerina search <key-word>
列出必要的模块后,可以通过运行以下命令将模块拉入项目。
ballerina pull <org-name>/<module-name>[:<version>]
组织名称是用于在公共名称空间下对模块进行分组的逻辑名称。 例如,您可以通过运行以下命令来使用可用于访问twitter api的twitter模块。
ballerina pull wso2/twitter:0.9.26
您可以使用Twitter客户端编写简单的Ballerina代码,如下所示以发送推文。
import wso2/twitter;twitter:TwitterConfiguration twitterConfig = {clientId : testClientId,clientSecret : testClientSecret,accessToken : testAccessToken,accessTokenSecret : testAccessTokenSecret,clientConfig : { secureSocket : {trustStore : {path : "${ballerina.home}/bre/security/ballerinaTruststore.p12" ,password : "ballerina"}}}
};public function main ( ) {
twitter:Client twitterClient = new (twitterConfig);string status = "Twitter endpoint test" ;var result = twitterClient->tweet(status);if (result is twitter:Status) {// If successful, print the tweet ID and text.io:println( "Tweet ID: " , result.id);io:println( "Tweet: " , result.text);} else {// If unsuccessful, print the error returned.io:println( "Error: " , result);}
}
如果需要在Ballerina Central中发布模块,则需要在Ballerina Central中创建一个帐户。 然后,您可以获取一个秘密令牌并将其放入<USER_HOME> /。ballerina / Settings.toml文件。 始终记得在<project_home>中的Ballerina.toml文件中正确设置组织名称。
使用芭蕾舞女演员加密命令保护密码
在某些情况下,您可能需要在代码内使用密码。 例如,假设您需要创建一个Twitter机器人作为前面的示例。 在这里,我们只是将安全性令牌作为纯文本保留在代码本身内。 但是,在代码内保留密码是一个坏习惯,因为它会将密码泄露给可以查看您的源代码的其他人。 芭蕾舞女演员提供了从源代码中隐藏密码并仅在运行时公开密码的支持。
要加密值,您需要首先运行以下命令。 该命令首先要求加密一个值。 然后要求输入密码并验证密码。
ballerina encrypt
此命令使用CBC模式AES方法生成加密值。 您现在可以从源代码中读取机密值,如下所示。
import ballerina/io;
import ballerina/config;public function main ( ) {io:println(config:getAsString( "secret.password" ));
}
在这里,我们使用config模块读取配置文件。 'secret.password'是真实值的别名。 运行此应用程序时,应提供一个加密的值作为命令行参数。
ballerina run sample --secret.password="@encrypted:{MOT+c6216tQLzSxiDfXclFg75q1ktY6+3VlCa6uhn40=}"
当芭蕾舞女演员开始跑步时,要求输入密码。 使用您用于加密值的密码。 该程序将打印您使用“芭蕾舞女演员加密”命令设置的单词。
结论
在此博客文章中,我们介绍了Ballerina语言提供的CLI功能。 您可以使用Ballerina CLI轻松创建,构建和测试Ballerina项目。 Ballerina Central可以用于重复使用其他Ballerina开发人员开发的模块。 您也可以与他人共享您的模块。 立即下载并尝试芭蕾舞女演员。 在Twitter上关注我,以了解有关Web集成和Web应用程序开发的更多信息。
参考文献
https://v1-0.ballerina.io/learn/how-to-write-secure-ballerina-code/
https://v1-0.ballerina.io/learn/by-example/config-api.html
https://github.com/ballerina-platform/ballerina-lang/blob/master/docs/index.md
From: https://hackernoon.com/developing-ballerina-project-with-ballerina-cli-tool-n71q32ts
使用Ballerina CLI工具开发Ballerina项目相关推荐
- VsCode工具开发vue项目必装插件
VsCode工具开发vue项目必装插件 目录 VsCode工具开发vue项目必装插件 1.概述 2.VsCode插件清单 2.1.Vetur插件让vue文件代码高亮 2.2.Vue VSCode Sn ...
- 如何用node开发自己的cli工具
如何用node开发自己的cli工具 灵感 写这个工具的灵感以及场景源于youtube的一次闲聊 github 地址 blog首发 使用场景 原本我们写博客展示shell,例如:安装运转docker,一 ...
- ballerina 学习二十六 项目docker 部署 运行(二)
ballerina 从发布,到现在官方文档的更新也是很给力的,同时也有好多改进,越来越好用了 可以参考官方文档 https://ballerina.io/learn/by-guide/restful- ...
- 【总结】1591- 从入门到精通:使用 TypeScript 开发超强的 CLI 工具
作为一名开发者,掌握 CLI 工具的开发能力是非常重要的.本文将指导你如何使用 TypeScript 和 CAC 库开发出功能强大的 CLI 工具. 快速入门 首先,需要先安装 Node.js 和 n ...
- Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...
- OpenDaylight开发hello-world项目之开发工具安装
OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...
- SDKMAN - 一个用于轻松管理多个软件开发工具包的CLI工具
转载来源:https://www.ostechnix.com/sdkman-a-cli-tool-to-easily-manage-multiple-software-development-kits ...
- 使用UE4开发VR项目_性能优化(一)_常用工具
原作者:Mullin-ぼくリん <使用UE4开发VR项目-性能优化>系列文章将分成三篇分别介绍使用UE4开发VR项目的一些工具使用和VR优化思路.目的是总结UE4开发VR项目中常用的一些调 ...
- 基于Qt5.15的CRC校验小工具开发项目
基于Qt5.15的CRC校验小工具开发项目 前言 一.开发准备 二.开发流程 1.Qt配置与界面设置 2.控件基本配置 3.CRC算法介绍 4.信号与槽的四个响应事件 5.打包发布 总结 前言 近期用 ...
- 用命令行管理你的GitHub项目,不必再开网页,官方CLI工具1.0版今日上线
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 经过大半年的迭代与完善,今天GitHub CLI已经成功从beta版升级为1.0正式版,可供所有用户使用. GitHub CLI让开发者在终 ...
最新文章
- 我用python10年后,我发现学python必看这三本书!
- centos7安装mongodb详解
- 发点去大唐芙蓉园的pp
- 【Linux】一步一步学Linux——gzip命令(63)
- Educational Codeforces Round 94 (Rated for Div. 2) D(思维)
- QML笔记-键盘事件中同时响应onDigitXXPressed与onPressed
- python 图像字符绘制input描述_用python绘制函数图像
- 验证(Authentication)和授权(Authorization)(一):
- SNMP学习笔记之SNMP TRAP简介、流程以及使用Python实现接受Trap信息
- 那些开挂的人,如何打败50%的竞争者?
- 对接饿了么 获取授权
- TortoiseSVN 下载安装使用
- mysql 5.6 触发器_【mysql】mysql触发器使用示例
- 第一周:和平之城中的鸟类识别(案例研究)
- 大多数程序员都懂的java虚拟机:C1编译器从字节码到HIR
- BFS - Dungeon Master
- ubuntu18.04安装英伟达驱动
- 周鸿袆:给程序员忠言逆耳的几条建议
- CM-BERT: Cross-Modal BERT for Text-Audio Sentiment Analysis--文献笔记和翻译
- 增值税纳税申报表的表头中,“所属行业”那栏打开是空白的,不能选择
热门文章
- iphone备份步骤(使用iTunes)
- html下拉菜单几种方式,html下拉菜单的实现方式
- 《论语》与《资本论》
- Win10系统遇到驱动需要数字签名无法安装问题的解决方法(手机通过数据线无法链接电脑)
- 验证码错误的可能问题
- 1688如何做视频外链
- 工业相机视场和分辨率计算
- ubuntu安装中的小tips
- huggingface datasets load_metric connecterror cannot reach
- failed shard on node [XXX], failed recovery, failure RecoveryFailedException