当前位置:网站首页>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
边栏推荐
- Sequential state
- Sharpness difference (SD) calculation method of image reconstruction and generation domain index
- On the three paradigms of database design
- 笔记本电脑卡顿怎么办?教你一键重装系统让电脑“复活”
- Mysql database common sense storage engine
- 如何发挥测试策略的指导性作用
- Unity solves Z-fighting
- opencv应用——以图拼图
- [SQL] string series 2: split a string into multiple lines according to specific characters
- 引入结构化并发,Swift 5.5 发布!
猜你喜欢
Come in and teach you how to solve the problem of port occupation
小米手机全球已舍弃“MI”品牌,全面改用“xiaomi”全称品牌
Chrome 94 引入具有争议的 Idle Detection API,苹果和Mozilla反对
Go language development Daily Fresh Project Day 3 Case - Press Release System II
Some grounded words
[SQL] string series 2: split a string into multiple lines according to specific characters
Minecraft 1.12.2模组开发(四十三) 自定义盾牌(Shield)
Preliminary understanding of cache elimination algorithm (LRU and LFU)
A login and exit component based on token
Common commands of MySQL in Linux
随机推荐
Question brushing plan - depth first search DFS (I)
浅谈数据库设计之三大范式
Deep analysis of C language function
Realrange, reduce, repeat and einops in einops package layers. Rearrange and reduce in torch. Processing methods of high-dimensional data
Syntax Error: TypeError: this. getOptions is not a function
Minecraft 1.12.2模组开发(四十三) 自定义盾牌(Shield)
Flex layout
laravel 发送邮件
Selenium 显示等待WebDriverWait
Tensorflow1. X and 2 How does x read those parameters saved in CKPT
Leetcode-279-complete square number
Learn to C language fourth day
High paid programmer & interview question series 91 limit 20000 loading is very slow. How to solve it? How to locate slow SQL?
CONDA environment management command
Awk print special characters
Queue template code
A login and exit component based on token
UKFslam
Unity ECS dots notes
学会打字后的思考