当前位置:网站首页>airbase 初步分析
airbase 初步分析
2022-04-23 20:50:00 【weixin_40455124】
presto是主要基于把airbase作为parent 进行各种check及管理基础dependency的版本。
基本结构

airbase root 本身有两个项目
- policy 保存check规则
- airbase 各种maven plugin 及依赖库版本定义
airbase maven plugin及跳过
pom.xml build部分包括了大量plugin,从代码风格、依赖分析、编译等等,总之想通过maven对代码做什么依赖,都可以来参考airbase,可以通过在子项目的pom.xml properties部分设置以下check为true跳过各种check的执行或者忽略失败。
<!-- Controls all the checkers run when building the project. -->
<!-- Can be activated with -Dair.check.skip-all=true on the command line. -->
<air.check.skip-all>false</air.check.skip-all>
<!-- Controls the basic checkers run when building the project. -->
<air.check.skip-basic>${air.check.skip-all}</air.check.skip-basic>
<!-- Controls the extended checkers run when building the project. -->
<air.check.skip-extended>${air.check.skip-all}</air.check.skip-extended>
<!-- basic checks -->
<air.check.skip-enforcer>${air.check.skip-basic}</air.check.skip-enforcer>
<air.check.skip-dependency>${air.check.skip-basic}</air.check.skip-dependency>
<air.check.skip-duplicate-finder>${air.check.skip-basic}</air.check.skip-duplicate-finder>
<air.check.skip-dependency-scope>${air.check.skip-basic}</air.check.skip-dependency-scope>
<!-- extended checks -->
<air.check.skip-spotbugs>${air.check.skip-extended}</air.check.skip-spotbugs>
<air.check.skip-pmd>${air.check.skip-extended}</air.check.skip-pmd>
<air.check.skip-license>${air.check.skip-extended}</air.check.skip-license>
<air.check.skip-jacoco>${air.check.skip-extended}</air.check.skip-jacoco>
<air.check.skip-modernizer>${air.check.skip-extended}</air.check.skip-modernizer>
<air.check.skip-checkstyle>${air.check.skip-extended}</air.check.skip-checkstyle>
<!-- all checks -->
<air.check.fail-all>true</air.check.fail-all>
<air.check.fail-basic>${air.check.fail-all}</air.check.fail-basic>
<air.check.fail-extended>${air.check.fail-all}</air.check.fail-extended>
<!-- basic checks -->
<air.check.fail-enforcer>${air.check.fail-basic}</air.check.fail-enforcer>
<air.check.fail-dependency>${air.check.fail-basic}</air.check.fail-dependency>
<air.check.fail-duplicate-finder>${air.check.fail-basic}</air.check.fail-duplicate-finder>
<air.check.fail-dependency-scope>${air.check.fail-basic}</air.check.fail-dependency-scope>
<!-- extended checks -->
<air.check.fail-spotbugs>${air.check.fail-extended}</air.check.fail-spotbugs>
<air.check.fail-pmd>${air.check.fail-extended}</air.check.fail-pmd>
<air.check.fail-license>${air.check.fail-extended}</air.check.fail-license>
<air.check.fail-modernizer>${air.check.fail-extended}</air.check.fail-modernizer>
<air.check.fail-checkstyle>${air.check.fail-basic}</air.check.fail-checkstyle>
dependency 依赖定义
airbase还定义了大量依赖版本,因此升级presto的时候需要考虑所有presto依赖lib也是要相同airbase 版本,以下为com.facebook.airlift 102版本的依赖。
<!-- Dependency versions that should be the same everywhere. -->
<dep.guice.version>4.2.2</dep.guice.version>
<dep.guava.version>26.0-jre</dep.guava.version>
<dep.slf4j.version>1.7.25</dep.slf4j.version>
<dep.logback.version>1.2.3</dep.logback.version>
<dep.javax-inject.version>1</dep.javax-inject.version>
<dep.javax-validation.version>2.0.1.Final</dep.javax-validation.version>
<dep.javax-servlet.version>3.1.0</dep.javax-servlet.version>
<dep.bval.version>2.0.0</dep.bval.version>
<dep.jackson.version>2.10.0</dep.jackson.version>
<dep.jmxutils.version>1.19</dep.jmxutils.version>
<dep.cglib.version>3.2.5</dep.cglib.version>
<dep.joda.version>2.9.9</dep.joda.version>
<dep.spotbugs-annotations.version>3.1.10</dep.spotbugs-annotations.version>
<dep.testng.version>6.9.6</dep.testng.version>
<dep.assertj-core.version>3.5.2</dep.assertj-core.version>
<dep.assertj-guava.version>3.1.0</dep.assertj-guava.version>
<dep.assertj-joda-time.version>2.0.0</dep.assertj-joda-time.version>
<dep.assertj-db.version>1.1.1</dep.assertj-db.version>
<dep.hamcrest.version>1.3</dep.hamcrest.version>
<dep.mockito.version>1.9.5</dep.mockito.version>
<dep.objenesis.version>1.3</dep.objenesis.version>
<dep.slice.version>0.34</dep.slice.version>
<dep.jmh.version>1.20</dep.jmh.version>
版权声明
本文为[weixin_40455124]所创,转载请带上原文链接,感谢
https://radishgz.blog.csdn.net/article/details/124336084
边栏推荐
- Google 尝试在 Chrome 中使用 Rust
- Use 3080ti to run tensorflow GPU = 1 X version of the source code
- 2021-09-02 unity project uses rider to build hot change project failure record of ilruntime
- 中创存储|想要一个好用的分布式存储云盘,到底该怎么选
- Is qiniu school useful and is the recommended securities account safe
- UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value
- GO语言开发天天生鲜项目第三天 案例-新闻发布系统二
- 危机即机遇,远程办公效率为何会提升?
- Unity solves Z-fighting
- Go限制深度遍历目录下文件
猜你喜欢

"Meta function" of tidb 6.0: what is placement rules in SQL?

Common problems in deploying projects with laravel and composer for PHP

Resolve the error - error identifier 'attr_ id‘ is not in camel case camelcase

Keywords static, extern + global and local variables

Flex layout

100天拿下11K,转岗测试的超全学习指南

浅谈数据库设计之三大范式

Write table of MySQL Foundation (create table)

Elastic box model

Go language development Daily Fresh Project Day 3 Case - Press Release System II
随机推荐
Valueerror: invalid literal for int() with base 10 conversion error related to data type
C#,打印漂亮的贝尔三角形(Bell Triangle)的源程序
Thinking after learning to type
wait、waitpid
Deep analysis of C language function
GO語言開發天天生鮮項目第三天 案例-新聞發布系統二
UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value
Singleton mode
【SQL】字符串系列2:将一个字符串根据特定字符分拆成多行
Tensorflow1. X and 2 How does x read those parameters saved in CKPT
浅谈数据库设计之三大范式
Go limit depth traversal of files in directory
Write table of MySQL Foundation (create table)
启牛学堂有用吗,推荐的证券账户是否安全
MySQL数据库常识之储存引擎
Latex formula
Chrome 94 引入具有争议的 Idle Detection API,苹果和Mozilla反对
MySQL basic collection
笔记本电脑卡顿怎么办?教你一键重装系统让电脑“复活”
Mysql database common sense storage engine