summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile108
-rw-r--r--config/asdfrc1
-rw-r--r--config/bashrc10
-rw-r--r--config/default-gems2
-rw-r--r--config/default-npm-packages1
-rw-r--r--config/default-python-packages1
-rw-r--r--config/gemrc4
-rw-r--r--config/profile1
-rw-r--r--config/tool-versions9
9 files changed, 102 insertions, 35 deletions
diff --git a/Dockerfile b/Dockerfile
index 9df21c9..79fbb83 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,40 +1,78 @@
-FROM licensefinder/license_finder:5.11.1
+FROM ubuntu:bionic
+ENV LANG=en_US.UTF-8
+ENV LANGUAGE=en_US:en
+ENV LC_ALL=en_US.UTF-8
ENV PATH="${PATH}:/root/.asdf/shims:/root/.asdf/bin"
-ENV LM_HOME=/opt/license-management
-ENV LM_PYTHON_VERSION 3
-ENV LM_REPORT_VERSION ${LM_REPORT_VERSION:-2}
-RUN cd /tmp && \
- wget --quiet --no-cookies https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.5_10.tar.gz -O jdk-11.tgz && \
- tar xf /tmp/jdk-11.tgz && \
- mv jdk-11.0.5+10 /usr/lib/jvm/adoptopen_jdk11 && \
- rm /tmp/jdk-11.tgz
-RUN npm install npm-install-peers
-
-# Don't let Rubygem fail with the numerous projects using PG or MySQL,
-# install realpath, includes for python3, and pip for python3
-# Install additional php packages for better composer package support
-RUN add-apt-repository ppa:ondrej/php -y && apt-get update -y && \
- apt-get upgrade -y --no-install-recommends && \
- apt-get install -y --no-install-recommends \
- bsdmainutils \
- libjpeg8-dev \
- zlib1g-dev \
- libpq-dev libmysqlclient-dev realpath \
- php7.1-mbstring php7.1-intl php7.1-xml php7.1-soap -y && \
- git clone --depth 1 --branch v0.7.6 https://github.com/asdf-vm/asdf.git $HOME/.asdf && \
- echo 'pip' >> $HOME/.default-python-packages && \
- echo 'setuptools' >> $HOME/.default-python-packages && \
- echo '\n. $HOME/.asdf/asdf.sh' >> $HOME/.bashrc && \
- asdf plugin-add python && \
- echo 'python 3.8.1 3.5.9 2.7.17' >> $HOME/.tool-versions && \
- asdf install && \
- asdf global python 3.8.1 && \
- asdf reshim && \
- rm -rf /var/lib/apt/lists/*
-
-COPY config/NuGet /root/.config/NuGet
+ENV TERM="xterm"
+RUN apt-get update -q && \
+ apt-get install -y --no-install-recommends \
+ autoconf \
+ automake \
+ bison \
+ bsdmainutils \
+ build-essential \
+ bzip2 \
+ coreutils \
+ curl \
+ gettext \
+ git \
+ gnupg2 \
+ gpg \
+ jq \
+ libcurl4 \
+ libcurl4-openssl-dev \
+ libedit-dev \
+ libffi-dev \
+ libicu-dev \
+ libjpeg-dev \
+ liblttng-ctl0 \
+ liblttng-ctl-dev \
+ libmysqlclient-dev \
+ libncurses-dev \
+ libonig-dev \
+ libpng-dev \
+ libpq-dev \
+ libreadline-dev \
+ libsqlite3-dev \
+ libssl-dev \
+ libtool \
+ libxml2-dev \
+ libxslt-dev \
+ libyaml-dev \
+ locales \
+ openssl \
+ pkg-config \
+ re2c \
+ software-properties-common \
+ unixodbc-dev \
+ unzip \
+ wget \
+ zlib1g \
+ zlib1g-dev \
+ && rm -rf /var/lib/apt/lists/*
+RUN locale-gen en_US.UTF-8
+COPY config/ /root/.config
+RUN git clone --depth 1 https://github.com/asdf-vm/asdf.git $HOME/.asdf && \
+ ln -sfn $HOME/.config/asdfrc $HOME/.asdfrc && \
+ ln -sfn $HOME/.config/bashrc $HOME/.bashrc && \
+ ln -sfn $HOME/.config/default-gems $HOME/.default-gems && \
+ ln -sfn $HOME/.config/default-npm-packages $HOME/.default-npm-packages && \
+ ln -sfn $HOME/.config/default-python-packages $HOME/.default-python-packages && \
+ ln -sfn $HOME/.config/gemrc $HOME/.gemrc && \
+ ln -sfn $HOME/.config/profile $HOME/.profile && \
+ ln -sfn $HOME/.config/tool-versions $HOME/.tool-versions && \
+ asdf plugin-add dotnet-core && \
+ asdf plugin-add golang && \
+ asdf plugin-add java && \
+ asdf plugin-add maven && \
+ asdf plugin-add nodejs && \
+ asdf plugin-add php && \
+ asdf plugin-add python && \
+ asdf plugin-add ruby && \
+ asdf plugin-add yarn && \
+ bash $HOME/.asdf/plugins/nodejs/bin/import-release-team-keyring && \
+ cd $HOME && asdf install
COPY test /test
COPY run.sh /
COPY . /opt/license-management/
-RUN bash -lc "cd /opt/license-management && gem build *.gemspec && gem install *.gem"
ENTRYPOINT ["/run.sh"]
diff --git a/config/asdfrc b/config/asdfrc
new file mode 100644
index 0000000..e600bd0
--- /dev/null
+++ b/config/asdfrc
@@ -0,0 +1 @@
+legacy_version_file = yes
diff --git a/config/bashrc b/config/bashrc
new file mode 100644
index 0000000..e1d8c9e
--- /dev/null
+++ b/config/bashrc
@@ -0,0 +1,10 @@
+export RUBY_GC_MALLOC_LIMIT=79000000
+export RUBY_GC_HEAP_INIT_SLOTS=800000
+export RUBY_HEAP_FREE_MIN=100000
+export RUBY_HEAP_SLOTS_INCREMENT=400000
+export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
+export HISTSIZE=0
+export HISTFILESIZE=0
+
+. $HOME/.asdf/asdf.sh
+. $HOME/.asdf/completions/asdf.bash
diff --git a/config/default-gems b/config/default-gems
new file mode 100644
index 0000000..f832f6e
--- /dev/null
+++ b/config/default-gems
@@ -0,0 +1,2 @@
+bundler ~>1.7
+bundler ~>2.0
diff --git a/config/default-npm-packages b/config/default-npm-packages
new file mode 100644
index 0000000..707dc2c
--- /dev/null
+++ b/config/default-npm-packages
@@ -0,0 +1 @@
+npm-install-peers
diff --git a/config/default-python-packages b/config/default-python-packages
new file mode 100644
index 0000000..a1b589e
--- /dev/null
+++ b/config/default-python-packages
@@ -0,0 +1 @@
+pip
diff --git a/config/gemrc b/config/gemrc
new file mode 100644
index 0000000..ff5fcc7
--- /dev/null
+++ b/config/gemrc
@@ -0,0 +1,4 @@
+:verbose: true
+:sources:
+- https://rubygems.org/
+gem: --no-document
diff --git a/config/profile b/config/profile
new file mode 100644
index 0000000..c49349b
--- /dev/null
+++ b/config/profile
@@ -0,0 +1 @@
+. $HOME/.bashrc
diff --git a/config/tool-versions b/config/tool-versions
new file mode 100644
index 0000000..53560a5
--- /dev/null
+++ b/config/tool-versions
@@ -0,0 +1,9 @@
+dotnet-core 3.1.0
+golang 1.13.5
+java adopt-openjdk-13.0.1+9
+maven 3.6.3
+nodejs 12.13.1 13.3.0
+php 7.4.0
+python 2.7.17 3.8.0
+ruby 2.6.5
+yarn 1.21.0