Infer 工具 Docker image

本文介绍了如何通过Docker简化Facebook的Infer工具的使用,避免复杂的环境配置。提供了一个Dockerfile示例,并详细阐述了下载、运行和分析代码的步骤,包括对Java、Android、C和C项目的支持。同时提到了不支持OC和iOS项目的分析,并分享了自动化测试的相关资源。
摘要由CSDN通过智能技术生成

目录

前言:

制作该 Image 的目的

Dockerfile

上传

成功信息

使用步骤

下载到本地

进入容器

infer 源码位置

分析

Java 文件

Android 项目

C 文件

C 项目


前言:

Infer 是来自 Facebook 的一个静态类型检测工具,它可以对 TypeScript 代码进行扫描,检测出代码中可能存在的类型错误和不安全的代码行为,并给出相应的提示和建议。Infer 使用了语言服务和代码分析技术,支持多种编程语言,包括 TypeScript、JavaScript、TypeScript 和 Dart 等。 

制作该 Image 的目的

由于 Infer 工具刚刚推出来,很多人想试用该工具,但是又苦于环境的配置略显复杂,最近有很多人找我解决关于环境配置的问题,这阻碍了 Infer 的推广。而 Docker 技术具有易移植的特性,将该工具的环境制作成 Image,你只需下载在到本地就可以体验该新工具的特性,就可以对其做一个简单的了解。

注意:OC 和 iOS 项目的分析是不支持的

Dockerfile

我并没有利用 Dockerfile 来制作该 Image,但是我将我制作的 Dockerfile 贴出来,方便大家了解我的制作过程:

# Base image
FROM heikomaass/android-sdk

# Author
MAINTAINER doctorq <542113578@qq.com>

# Upgrade apt-get tool
RUN apt-get update
RUN apt-get -y upgrade

# Install tools
RUN apt-get install -y git m4 zlib1g-dev python-software-properties \
    build-essential libgmp-dev libmpfr-dev libmpc-dev unzip software-properties-common python-software-properties



# Install opam
RUN add-apt-repository ppa:avsm/ppa
RUN apt-get update
RUN apt-get install -y ocaml ocaml-native-compilers camlp4-extra opam
RUN opam init --comp=4.01.0  # (answer 'y' to the question)
ENV CAML_LD_LIBRARY_PATH /root/.opam/4.01.0/lib/stublibs
ENV MANPATH :/root/.opam/4.01.0/man
ENV PERL5LIB /root/.opam/4.01.0/lib/perl5
ENV OCAML_TOPLEVEL_PATH /root/.opam/4.01.0/lib/toplevel
ENV OPAM_HOME /root/.opam/4.01.0/bin
ENV PATH ${PATH}:${CAML_LD_LIBRARY_PATH}:${MANPATH}:${PERL5LIB}:${OCAML_TOPLEVEL_PATH}:${OPAM_HOME}
#RUN opam update
RUN opam install sawja.1.5.1 atdgen.1.6.0 javalib.2.3.1 extlib.1.5.4


# Download infer source code
RUN git clone https://github.com/facebook/infer.git

# Install facebook-clang-plugin,clang
RUN cd infer;./update-fcp.sh;
RUN cd infer;apt-get install -y groff
RUN cd infer;../facebook-clang-plugin/clang/setup.sh;
RUN eval `opam config env`;cd infer;./compile-fcp.sh
RUN eval `opam config env`;cd infer;make -C infer
ENV INFER_HOME /infer/infer
ENV PATH ${PATH}:${INFER_HOME}/bin

#Install gradle-2.5
RUN add-apt-repository ppa:cwchien/gradle
RUN apt-get update
#RUN apt-cache search gradle
RUN apt-get install gradle-2.5
CMD eval `opam config env`

(已验证成功,使用该 dockerfile 文件可以成功制作)

上传

在经历了 1 个礼拜的上传失败后,公司的网络终于给力了,infer 的 image 终于上传 Docker Hub 成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值