LeakCanary 贡献者的开发环境¶
设置¶
- 下载 Android Studio。
- 我们使用双空格代码缩进,使用来自 https://github.com/square/java-code-styles 的
SquareAndroid
代码风格设置。 - 使用
./gradlew build
进行构建。 - 运行会失败的 UI 测试以确认泄漏检测正确地导致 UI 测试失败:
./gradlew leakcanary-android-sample:connectedCheck
。 - 正常 UI 测试:
./gradlew leakcanary-android-core:connectedCheck
。
静态代码分析¶
- LeakCanary 使用 Detekt 进行静态代码分析。
- 使用
./gradlew check
分析整个项目,或使用./gradlew :module-name:check
分析特定模块。如果发现任何规则集违规,Detekt 将导致构建失败。在将分支推送到远程之前,你应该修复所有问题。 - 还有一个 git pre-push 钩子,它会在将分支推送到远程之前自动运行分析。如果存在任何违规,它将阻止推送。修复这些问题!
- 不过你可以绕过 git 钩子;Travis CI 仍然会运行检查,如果发现任何违规,它将失败。
- Detekt 报告将打印在控制台中,并保存到
/moduleDir/build/reports/
。
本地部署¶
要将 LeakCanary 部署到你的本地 Maven 仓库,运行以下命令,将路径更改为你本地仓库的路径
./gradlew uploadArchives -PSNAPSHOT_REPOSITORY_URL=file:///Users/py/.m2/repository
然后将 SNAPSHOT 依赖和 mavenLocal()
仓库添加到你的项目
dependencies {
debugImplementation 'com.squareup.leakcanary:leakcanary-android:3.0-alpha-9-SNAPSHOT'
}
repositories {
mavenLocal()
}
本地部署文档¶
安装或更新文档依赖
pip install --requirement docs/requirements.txt
本地部署
mkdocs serve