From 7ee4fb190b145e91aed653c794b2c99f514abf91 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Sun, 14 Feb 2021 15:07:03 -0500
Subject: [PATCH] Cleaned up formatting on dockerfile, uses proper baseimage,
 removed ? directory.

---
 Dockerfile         | 17 +++++++++++++----
 README.md          |  9 ++++++++-
 docker-compose.yml |  6 +++---
 prepare.sh         |  2 +-
 4 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 0be3a0c..ac1298c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,19 @@
-FROM aparapi/aparapi-native-builder-image
+FROM aparapi/opencl-cross-compiler
 
-RUN cd /usr/src && unzip /root/openjdk/windows64/openlogic-openjdk-8u272-b10-windows-x64.zip && cp -av /root/OpenCL_* /usr/src && cd /usr/src/OpenCL_ARM/aarch64 && ln -s libOpenCL.so.1.0.0 libOpenCL.so && cd /usr/src/OpenCL_ARM/armhf && ln -s libOpenCL.so.1.0.0 libOpenCL.so && cp -av /root/msys2-OpenCL-headers /usr/src && rm -rf /var/lib/apt/lists/*
+LABEL maintainer="Jeffrey Phillips Freeman the@jeffreyfreeman.me"
 
-COPY . /usr/src/app/
+RUN cd /usr/src && \
+    unzip /root/openjdk/windows64/openlogic-openjdk-8u272-b10-windows-x64.zip && \
+    cp -av /root/OpenCL_* /usr/src && \
+    cd /usr/src/OpenCL_ARM/aarch64 && \
+    ln -s libOpenCL.so.1.0.0 libOpenCL.so && \
+    cd /usr/src/OpenCL_ARM/armhf && \
+    ln -s libOpenCL.so.1.0.0 libOpenCL.so && \
+    cp -av /root/msys2-OpenCL-headers /usr/src && \
+    rm -rf /var/lib/apt/lists/*
+
+RUN mkdir -p /usr/src/app
 WORKDIR /usr/src/app
-RUN rm -rf /usr/src/app/.git && rm -rf /usr/src/app/java/.git
 
 # run in shell mode with ENV expansion
 CMD rm -rf .libs .libs32 .libs64 && ./buildMingW.sh && ./build.sh && ./buildArmLinux.sh
diff --git a/README.md b/README.md
index 945b530..31b2899 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ make
 Alternatively you can do the Linux and Windows compile via a Docker container by issuing the following command (equivelant to the above)
 
 ```
-UID=${UID} GID=${GID} docker-compose up
+UID=${UID} GID=${GID} docker-compose run --rm aparapi-native-builder
 ```
 
 Sometimes you need to add additional include directories to specify the location of the java JNI headers for your jdk. To do this add the following to your call of the configure script:
@@ -96,3 +96,10 @@ Open the project from MS Visual Studios, specifically the "Aparapi.sln" project
 From the drop down at the top select x64 or Win32 depending on which version you wish to compile, then build the solution.
 
 The DLL file will be in "Release/x64" for 64-bit or "Release" for 32-bit depending on the version you compile
+
+# Building the aparapi-native-builder docker image
+
+```
+UID=${UID} GID=${GID} docker-compose build
+UID=${UID} GID=${GID} docker-compose push
+```
diff --git a/docker-compose.yml b/docker-compose.yml
index 0bbdd82..5cc2a97 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,8 +1,8 @@
 version: '3'
 services:
-  aparapi_native_windows_builder:
-    container_name: aparapi_native_builder-worker
-    image: 'aparapi/aparapi-native-builder-image-worker:latest'
+  aparapi-native-builder:
+    container_name: aparapi_native_builder
+    image: 'aparapi/aparapi-native-builder'
     build:
       context: .
     user: "$UID:$GID"
diff --git a/prepare.sh b/prepare.sh
index 94bf000..87cf79b 100755
--- a/prepare.sh
+++ b/prepare.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
 mkdir include
-(cd java && mvn clean org.apache.maven.plugins:maven-compiler-plugin:compile -DskipTests=true -Dmaven.javadoc.skip=true)
+(cd java && mvn clean org.apache.maven.plugins:maven-compiler-plugin:compile -DskipTests=true -Dmaven.javadoc.skip=true && rm -rf \?)
 javah -jni -classpath ./java/target/classes -d include -force com.aparapi.internal.jni.ConfigJNI com.aparapi.internal.jni.KernelArgJNI com.aparapi.internal.jni.KernelRunnerJNI com.aparapi.internal.jni.OpenCLJNI com.aparapi.internal.jni.RangeJNI com.aparapi.Kernel com.aparapi.Range com.aparapi.Config com.aparapi.device.Device com.aparapi.device.OpenCLDevice com.aparapi.internal.kernel.KernelRunner com.aparapi.internal.opencl.OpenCLArgDescriptor com.aparapi.internal.opencl.OpenCLMem
-- 
GitLab