-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
87 lines (69 loc) · 3.36 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#
# Enterprise Dockerfile
#
# Pull base image.
FROM blissai/base:latest
# Clone phpcs & wpcs & pmd & ocstyle
RUN cd /root \
&& git clone https://github.com/founderbliss/ocstyle.git /root/ocstyle \
&& git clone https://github.com/iconnor/pmd.git /root/pmd \
&& git clone https://github.com/squizlabs/PHP_CodeSniffer.git /root/phpcs \
&& git clone https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git /root/wpcs \
&& /root/phpcs/scripts/phpcs --config-set installed_paths /root/wpcs
# Install Perl Critic
RUN yum install -y 'perl(Perl::Critic)'
# Install PHPMD
RUN mkdir ~/phpmd && wget -O ~/phpmd/phpmd.phar -c http://static.phpmd.org/php/latest/phpmd.phar
# Install pip modules
RUN pip3 install django prospector bandit
RUN pip install argparse parcon ocstyle
# Install lizard
RUN git clone https://github.com/terryyin/lizard.git ~/lizard && \
cd ~/lizard && \
python3.4 setup.py install
# Install Tailor
RUN curl -fsSL https://s3.amazonaws.com/bliss-cli-dependencies/tailor-install.sh | sh
# Install gometalinter
RUN go get github.com/alecthomas/gometalinter
RUN gometalinter --install --update
# Install SonarLint for .NET
RUN git clone --recursive https://github.com/mikesive/sonaranalyzer-csharp-mono.git ~/sonarlint
RUN cd ~/sonarlint && \
nant && \
cd ~/sonarlint/bin && \
mono SonarLint.DocGenerator.exe
RUN git clone https://github.com/rrrene/bunt ~/bunt && \
cd ~/bunt && \
mix archive.build && \
mix archive.install <<< 'Y' && \
git clone https://github.com/rrrene/credo.git ~/credo && \
cd ~/credo && \
mix deps.get <<< 'Y' && \
mix archive.build && \
mix archive.install <<< 'Y'
# Install ScalaStyle
RUN mkdir ~/scalastyle \
&& wget -O ~/scalastyle/scalastyle.jar https://oss.sonatype.org/content/repositories/releases/org/scalastyle/scalastyle_2.10/0.8.0/scalastyle_2.10-0.8.0-batch.jar \
&& echo '#!/bin/bash' > ~/scalastyle/scalastyle \
&& echo 'java -jar ~/scalastyle/scalastyle.jar "$@"' >> ~/scalastyle/scalastyle \
&& chmod +x ~/scalastyle/scalastyle \
&& ln -s ~/scalastyle/scalastyle /usr/local/bin/scalastyle
# Install CCM and tslint
RUN wget -O /tmp/ccm.zip https://github.com/jonasblunck/ccm/releases/download/v1.1.9/ccm.1.1.9.zip \
&& unzip /tmp/ccm.zip -d /root/ccm
# Install CSSlint, ESlint, nsp
RUN npm install -g [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] typescript [email protected] https://github.com/founderbliss/sass-lint.git#develop
RUN npm install -g [email protected] [email protected] [email protected] [email protected] [email protected] \
# RUN npm install -g jshint csslint eslint nsp coffeelint stylint sass-lint jscpd eslint-config-airbnb eslint-config-hapi tslint
# Install gems before adding of project to use caching properly
COPY Gemfile* /tmp/
RUN cd /tmp && bundle install --without test
ENV BLISS_CLI_VERSION=93 CLOC_VERSION=1 LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 BLISS_HOST=https://blissai.com
# Get collector tasks and gems
ADD . /root/collector
RUN mkdir /root/bliss && mv /root/collector/.prospector.yml /root/bliss/.prospector.yml \
&& mv /root/collector/phpmd-ruleset.xml /root/phpmd/phpmd-ruleset.xml
WORKDIR /root/collector
# Define default command.
CMD ["/bin/bash"]