叶榭网站建设可以做问卷赚钱的网站
web/
2025/10/2 2:59:46/
文章来源:
叶榭网站建设,可以做问卷赚钱的网站,设计师证书报考条件,嘟嘟嘟视频在线观看免费Gradle和Aritifactory
本文链接#xff1a;https://blog.csdn.net/feather_wch/article/details/131746580 文章目录 Gradle和AritifactoryGradle基本介绍Gradle插件开发流程本地仓库artifactory搭建添加仓库使用本地仓库gradle插件仓库引入 插件buildSrc开发步骤xxxPluginPg…Gradle和Aritifactory
本文链接https://blog.csdn.net/feather_wch/article/details/131746580 文章目录 Gradle和AritifactoryGradle基本介绍Gradle插件开发流程本地仓库artifactory搭建添加仓库使用本地仓库gradle插件仓库引入 插件buildSrc开发步骤xxxPluginPgyerUploadTaskSendMsgToDingTalkTask 未来展望 Gradle基本介绍
1、Gradle是一种语言吗
不是而是一种构建自动化工具用于多语言软件开发。可以控制编译、打包、测试、部署和发布等任务。
2、gradle支持的语言有哪些
JavaKotlinGroovyScalaC/CJavaScript²。
3、Gradle的构建脚本是用Groovy编程语言编写的。 4、Groovy是一种基于JVM的动态语言。 5、Gradle的整个API也是用Groovy语言设计的。
6、Gradl提供了一个基于Groovy语言的领域特定语言DSL支持两种DSL
Groovy DSL build.gradleKotlin DSL build.gradle.kts
7、DSL(领域特定语言)是什么
一种针对特定领域或问题的语言而不是通用的编程语言。Gradle的DSL是用来描述构建过程和项目结构的语言。
Gradle插件开发流程
开发打包上传测试发布- 开发(1)
本地仓库
本地仓库构建两种方法
nexus-只支持javaartifactory-支持java、php、docker等等
artifactory
目的
本地组件提交到本地仓库服务端拉到本地仓库
搭建
要在 windows 上搭建 jfrog artifactory可以参考以下的资源
Windows环境利用Artifactory搭建本地仓库_windows artifactory_科小喵的博客-CSDN博客这篇文章介绍了 jfrog artifactory 的下载和安装、本地仓库和远程仓库的创建和配置、虚拟仓库的创建和使用、项目中使用仓库等内容。
实际步骤
下载压缩包artifactory_pro_and_crack并且解压缩包含内容artifactory-injector-1.1.jar和jfrog-artifactory-pro-6.6.0.zip配置好JAVA环境破解1输入 java -jar .\artifactory-injector-1.1.jar破解2选择2破解3输入aritifactory路径需要下面有文件夹webapps如 xxx\artifactory_pro_and_crack\jfrog-artifactory-pro-6.6.0\artifactory-pro-6.6.0破解4选择1保存得到的密钥字符串运行artifactory-pro-6.6.0\bin目录下的 artifactory.bat浏览器输入localhost:8081点击上方提示文字输入key账户名admin 密码password
添加仓库
远程仓库
选择Remote 右侧New创建Maven仓库代理google仓库 创建成功
本地仓库
选择Local创建maven仓库名称为android_local测试上传插件gradle-8.0-bin.zip
修改默认文件大小
Admin-General ConfigurationFile Upload Max Size 修改为 1000MBsave
设置分组
原因原来要设置远程和本地几个仓库很麻烦直接分一组Admin-VirtualNew-取名为“android-group”选择需要加进去的RepositorySaveFinish
使用本地仓库
gradle插件
gradle-wrapper.properties
https://services.gradle.org/distributions/gradle-8.0-bin.zip修改为
http://localhost:8081/artifactory/andorid_local/gradle-8.0-bin.zip仓库引入 repositories {maven { url http://localhost:8081/artifactory/andorid_group/ }}插件buildSrc开发步骤
xxxPlugin
核心代码
1、创建名为releaseHelper的任务并且建立Extension配置项和Task的关联
project.getExtensions().create(releaseHelper, Extension.class, project);2、创建任务一App发布到蒲公英平台 // Create PgyUpload task
PgyerUploadTask pgyUploadTask project.getTasks().create(pgyUploadFor variantName, PgyerUploadTask.class);
pgyUploadTask.init(variant, project);3、创建任务二发送App发布消息到钉钉
// Create SendMsgToDingTalkTask task
SendMsgToDingTalkTask sendMsgToDingTalkTask project.getTasks().create(sendMsgToDingTalkFor variantName, SendMsgToDingTalkTask.class);
sendMsgToDingTalkTask.init(variant, project);4、构建assembleRelease和两个task之间的依赖关系
// assembleRelease依赖于clean
variant.getAssembleProvider().get().dependsOn(project.getTasks().findByName(clean));
// 蒲公英上传依赖于assembleRelease
pgyUploadTask.dependsOn(variant.getAssembleProvider().get());
// 钉钉消息依赖于蒲公英上传
sendMsgToDingTalkTask.dependsOn(pgyUploadTask);PgyerUploadTask TaskActionpublic void uploadToPgy() {
// 1、拿到app的build.gradle中android标签下内容AppExtension appExtension (AppExtension) targetProject.getExtensions().findByName(android);for (BaseVariantOutput it : variant.getOutputs()) {
// 2、拿到输出文件File apkFile it.getOutputFile();
// 3、展示app相关信息Extension extension Extension.getConfig(targetProject);System.out.println(#######################################################################);System.out.println(# applicationId : variant.getMergedFlavor().getApplicationId());System.out.println(# uploadFileName: apkFile.getAbsoluteFile());System.out.println(# versionName : appExtension.getDefaultConfig().getVersionName());System.out.println(# versionCode : appExtension.getDefaultConfig().getVersionCode());System.out.println(# appName : extension.appName);System.out.println(# changeLog : extension.changeLog);System.out.println(#######################################################################);
// 4、Retrofit上传try {// 1. Get FIR upload info includes icon and apk uploading;ResponseResponseBody appsResponse RetrofitUtil.getRetrofit(https://www.pgyer.com/apiv2/).create(PgyerUploadInterface.class).uploadFile(RetrofitUtil.getTextBody(extension.pgyApiKey),RetrofitUtil.getFilePart(application/vnd.android.package-archive, apkFile),RetrofitUtil.getTextBody(2),RetrofitUtil.getTextBody(123456),RetrofitUtil.getTextBody(test),RetrofitUtil.getTextBody(XiangxueGradle),RetrofitUtil.getTextBody(2)).execute();System.out.println(\n1. AppsResponse: new Gson().toJson(appsResponse.body().string()));} catch (Exception e) {e.printStackTrace();}}}SendMsgToDingTalkTask
发送消息到钉钉 TaskActionpublic void SendMessageToDingTalk() {Extension extension Extension.getConfig(targetProject);DingMsg dingMsg new DingMsg();dingMsg.actionCard.title extension.msgTitle;dingMsg.actionCard.text extension.msgContent;dingMsg.actionCard.singleTitle extension.singleButtonTitle;dingMsg.actionCard.singleURL extension.singleButtonUrl;try {ResponseResponseBody response RetrofitUtil.getRetrofit(https://oapi.dingtalk.com/).create(DingTalkInterface.class).sendMsgToDingTalk(extension.apiToken, dingMsg).execute();System.out.println(DingTalkMsgResponse: response.body().string());} catch (IOException e) {e.printStackTrace();}}未来展望
1、支持多渠道、多维度打包 2、支持上传Jenkins
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85387.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!