github.com/joey-fossa/fossa-cli@v0.7.34-0.20190708193710-569f1e8679f0/docker/buildtools/Dockerfile (about) 1 # This Dockerfile provides all build tools that FOSSA CLI invokes. It's useful 2 # for developing the FOSSA CLI on machines that may not have all the necessary 3 # build tools. 4 FROM fossa/fossa-cli:base 5 6 # Workaround for add-apt-repository (see 7 # https://github.com/oerdnj/deb.sury.org/issues/56). 8 ENV LC_ALL=C.UTF-8 DEBIAN_FRONTEND=noninteractive 9 10 # Install build tool and fixture requirements. 11 RUN sudo apt-get update && \ 12 sudo apt-get install -y \ 13 # Build tools 14 apt-transport-https build-essential libssl-dev software-properties-common \ 15 # Rails (nokogiri) 16 zlib1g-dev liblzma-dev libncurses5-dev libtool autoconf libxml2-dev \ 17 libmysqlclient-dev postgresql-server-dev-all libsqlite3-dev 18 19 # Install JVM version manager. 20 RUN sudo apt-get install -y zip unzip && \ 21 curl https://get.sdkman.io | bash 22 23 # Install JVM runtimes and build tools. 24 RUN ["/bin/bash", "-c", "\ 25 source $HOME/.sdkman/bin/sdkman-init.sh && \ 26 # Install Java runtime and build tools 27 sdk install java && \ 28 sdk install maven && \ 29 sdk install gradle && \ 30 sdk install ant && \ 31 # Install Scala runtime and build tools 32 sdk install scala && \ 33 sdk install sbt \ 34 "] 35 RUN mkdir -p $HOME/.sbt/1.0/plugins && \ 36 echo 'addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.9.0")' > $HOME/.sbt/1.0/plugins/plugins.sbt 37 38 # Install Android SDK. 39 RUN wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O /tmp/sdk-tools-linux.zip && \ 40 mkdir -p $HOME/Android/Sdk && \ 41 unzip /tmp/sdk-tools-linux.zip -d $HOME/Android/Sdk 42 ENV PATH=$PATH:/home/fossa/Android/Sdk/tools/bin ANDROID_HOME=/home/fossa/Android/Sdk 43 44 # Install additional Go build tools. 45 RUN curl https://glide.sh/get | bash && \ 46 go get -u -v github.com/tools/godep && \ 47 go get -u -v github.com/kardianos/govendor && \ 48 go get -u -v github.com/LK4D4/vndr && \ 49 go get -u -v github.com/sparrc/gdm 50 51 # Install Node.js runtime. 52 RUN wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz -O /tmp/node.tar.xz && \ 53 sudo tar -xf /tmp/node.tar.xz -C /usr/local --strip-components=1 --no-same-owner && \ 54 sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs && \ 55 mkdir $HOME/.npm && \ 56 npm config set prefix $HOME/.npm 57 ENV PATH=$PATH:/home/fossa/.npm/bin 58 59 # Install Node.js build + debugging tools. 60 RUN npm i -g bower yarn json 61 62 # Install Ruby runtime. 63 RUN sudo apt-get install -y ruby-full 64 65 # Install Ruby build tools. 66 RUN sudo gem install bundler 67 68 # Install Python runtime. 69 RUN sudo apt-get install -y python python-pip 70 71 # Install Cocoapods. 72 RUN sudo gem install cocoapods -v 1.5.3 73 74 # Install PHP runtime. 75 RUN sudo add-apt-repository -y ppa:ondrej/php && \ 76 sudo apt-get update && \ 77 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \ 78 php7.2 php7.2-gd php7.2-curl php7.2-intl php7.2-xml php7.2-mbstring 79 80 # Install PHP build tools. 81 RUN curl https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer && \ 82 sudo chown -R fossa:fossa $HOME/.composer 83 84 # Install NuGet. 85 RUN sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF && \ 86 sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 52E16F86FEE04B979B07E28DB02C46DF417A0893 && \ 87 sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list' && \ 88 sudo apt-get update && \ 89 sudo apt-get install -y dotnet-sdk-2.1