Dorck's Blog

乾坤未定,你我皆是黑马。

Gradle手札之Properties配置

Gradle 很多构建属性可以通过 Properties 来设置。Properties 文件格式可由 java.util.Properties 解析,其中包含若干键值对,类似 Map<String,String> 格式数据来存储。 配置构建环境 根据官方介绍,Gradle 提供了多种方式和机制来配置 Gradle 自身或者特定项目的行为。常见的有以下几种方式,优先级分别从高到...

Git用户手札

Git 的由来 Git 的诞生有偶然性,也有历史的必然。一方面,随着 Linux 内核开源项目大量维护成本集中在提交补丁和保存归档的繁琐事务上(1991-2002年间); 另一方面,2005 年,Linux 内核项目使用的 BitKeeper 版本控制工具授权被收回。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于以往经验来开发出一款自己的...

GitHub Actions实践之自动发布组件

在关于发布Gradle插件到Maven开放仓库的碎碎念一文中简单介绍了如何发布一款 Gradle 插件到 Maven Central。虽说最终发布只需要本地执行 ./gradlew publishPlugins 命令即可快速发布完成,但每次发布都需要区分本地和远程仓库的环境差异,然后手动配置。举个最简单的例子:我不希望本地敏感信息上传到远程仓库中,所以,每次执行完发布操作还需要手动擦除敏感信...

关于发布Gradle插件到Maven开放仓库的碎碎念

早几年前发布过几个开源库到 Jcenter 上,有一段时间没关注 GitHub 也就逐渐淡忘了。最近几天刚好想起此事,也就打算迁移一下历史组件,顺便将前阵子搞的一个 Gradle 插件也发布一下,于是便有了这篇文章。以下仅记录发布涉及的主要步骤以及遇到的一些坑,前车之鉴,后车之师而已矣。 Library 发布 到 Maven Central 熟悉开源库发布的朋友应该都体验过 Maven ...

记一次Kotlin DSL的糟糕体验

昨天在用 Kotlin 写 Gradle 插件的时候遇到个奇怪的问题,折磨良久,最后才发现是 Kotlin Dsl 的坑。我们先来看下这段代码: 1 2 3 4 5 6 7 8 internal fun Project.javaSourceJarTask(packSource: Boolean): TaskProvider<*> = if (!pack...

Gradle手札之组件发布迅疾如风

大浪淘沙,随着 jcenter 的落幕,组件发布逐渐转向了 maven central 仓库。各种平台层出不穷,不论组件存储在何处,作为开发更加关注的是组件发布的效率,这也正是本文接下来想要阐述的主题。 发布Android组件 Android Gradle 早早地就更新换代到了 maven-publish 插件。一般情况下,我们发布一个普通的 Android 组件通常需要添加如下代码: ...

Android代码检查之自定义Lint

概述 Lint 是 Android studio 提供的一款静态代码检查工具,它可以帮助我们检查 Android 项目源文件是否有潜在的 bug,以及在正确性、安全性、性能、易用性、无障碍性和国际化方面是否需要优化改进。Lint 的好处不言而喻,它能够在编码阶段就帮我们提前发现代码中的“坏味道”,显著降低线上问题出现的概率;同时也能有效促进团队的开发规范的统一。 关于执行 lint ...

发布组件到GitHub Packages

使用过 Maven Central 的朋友应该都体会过组件发布流程的繁琐,于是乎心里萌生了一个想法:是否可以将组件发布到 GitHub 仓库呢?果断去 Google 了一下,果不其然,GitHub 提供了 GitHub Packages 可以让作为开发者组件发布的分发仓库。下面来看下如何具体实现本地 Library 发布到 GitHub Packages 以及在项目中下载依赖库。 G...

关于博客更换评论系统的一场厮杀

从去年建站 dorck.cn 开始到现在,我已经陆续更换过三四次评论系统了,以至于最近半年甚至都未开启这个功能,只因为它们太不稳定或者体验太差。有一阵子没更新博客了,重拾起来一段时间之后发现评论功能还是要有的,毕竟要客观了解到他人对于文章内容质量的看法,沟通的平台少不了的,更重要的一点是:以后遇到相关知识点还能应急性地自我评论,补充一二思路。 从最初的 畅言 到 Valine 再到 Dis...

Gradle手札之命令行接口一览

概述 Gradle 命令行接口是与 Gradle 交互的主要方法之一,以下内容可作为执行和自定义 Gradle 命令或在编写脚本、配置持续集成时的参考用法。强烈建议使用 Gradle Wrapper。使用包装器时,应该在以下所有示例中用 ./gradlew 或 gradlew.bat 代替 gradle。 Gradle 构建基础命令 以下提供常见的 gradle 命令用法介绍。 1....