docker: add bazel

This commit is contained in:
Roel Spilker committed 2018-05-01 01:45:08 +02:00
1 parent 87ad2f6f59
commit 7d58127360
5 files changed
+91

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
FROM ubuntu:16.04 as downloader
ARG jdk=10
ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh
RUN provision/jdk/java-${jdk}.sh
ARG bazel=0.13.0
ADD provision/bazel/bazel-${bazel}.sh provision/bazel/bazel-${bazel}.sh
RUN provision/bazel/bazel-${bazel}.sh
FROM ubuntu:16.04
COPY --from=downloader /opt/bazel/ /opt/bazel/
COPY --from=downloader /opt/jdk/ /opt/jdk/
RUN update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 1000 && update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 1000 && update-alternatives --install /usr/bin/javadoc javadoc /opt/jdk/bin/javadoc 1000 && update-alternatives --install /usr/bin/javap javap /opt/jdk/bin/javap 1000
RUN apt-get update && apt-get install -y g++
WORKDIR workspace
ADD shared/ ./
ADD bazel/files/ ./
ARG lombokjar=lombok.jar
ADD https://projectlombok.org/downloads/${lombokjar} lombok.jar
ARG jdk=10
ENV JDK_VERSION=${jdk}
ENV JAVA_HOME=/opt/jdk
ENV BAZEL_HOME=/opt/bazel
ENV PATH="${JAVA_HOME}/bin:${BAZEL_HOME}/bin:${PATH}"
ENTRYPOINT bash
+18
View File
@@ -0,0 +1,18 @@
java_binary(
name = "ProjectRunner",
main_class = "HelloWorld",
srcs = glob(["src/main/java/*.java"]),
deps = [":lombok"],
)
java_plugin(
name = "lombok_plugin",
processor_class = "lombok.launch.AnnotationProcessorHider$AnnotationProcessor",
deps = ["@lombok_jar//jar"],
)
java_library(
name = "lombok",
exports = ["@lombok_jar//jar"],
exported_plugins = [":lombok_plugin"],
)
+4
View File
@@ -0,0 +1,4 @@
http_jar(
name = "lombok_jar",
url = "https://projectlombok.org/lombok-edge.jar",
)
+33
View File
@@ -0,0 +1,33 @@
## Configuration
[_(general configuration and options)_](../readme.md)
### `ARG bazel=0.13.0`
The bazel version to be used. Supported values:
- `0.13.0` (default)
## Example build commands:
(To be executed from the `<lombokhome>/docker` directory)
```
docker build -t lombok-bazel-jdk10 -f bazel/Dockerfile .
docker build -t lombok-bazel-jdk10 --build-arg lombokjar=lombok-1.16.20.jar -f bazel/Dockerfile .
```
## Example run commands:
```
docker run -it lombok-bazel-jdk10
docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-bazel-jdk10
```
## Example container commands:
```
bazel build //:ProjectRunner
```
+4
View File
@@ -0,0 +1,4 @@
apt-get update && apt-get install -y wget pkg-config zip g++ zlib1g-dev unzip python
wget https://github.com/bazelbuild/bazel/releases/download/0.13.0/bazel-0.13.0-installer-linux-x86_64.sh -O bazel-installer.sh
chmod +x bazel-installer.sh
./bazel-installer.sh --prefix=/opt/bazel