@@ -35,17 +35,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
3535 && apt-get install -y nodejs \
3636 && apt-get clean && rm -rf /var/lib/apt/lists/*
3737
38- ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64 \
39- PATH="/usr/lib/jvm/java-17-openjdk-arm64/bin:/opt/venv/bin:${PATH}"
40-
41- # Verify installation and create architecture-agnostic symlink as fallback
42- RUN set -eux; \
43- if [ ! -d "$JAVA_HOME" ]; then \
44- JAVA_HOME="$(dirname $(dirname $(readlink -f $(which java))))" ; \
45- fi; \
46- ln -sf "$JAVA_HOME" /usr/local/java; \
47- java -version; \
48- javac -version
38+ # Set JAVA_HOME
39+ RUN export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::" ) && \
40+ echo "JAVA_HOME=$JAVA_HOME" >> /etc/environment
41+
42+ ENV PATH="/opt/venv/bin:${PATH}"
43+
44+ # Verify Java installation
45+ RUN java -version && javac -version
4946
5047# Set up Python virtual environment
5148RUN python3 -m venv $VENV_PATH \
@@ -55,8 +52,10 @@ RUN python3 -m venv $VENV_PATH \
5552# Install Python SDK
5653RUN if [ "${ARCH}" = "linux-aarch64" ]; then \
5754 PYTHON_ARCH="linux_aarch64" ; \
55+ SDK_ARCH="linux-aarch64" ; \
5856 else \
5957 PYTHON_ARCH="linux_x86_64" ; \
58+ SDK_ARCH="linux-x86_64" ; \
6059 fi && \
6160 pip install "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-py3-none-${PYTHON_ARCH}.whl" && \
6261 echo "Python SDK installed successfully"
@@ -66,20 +65,26 @@ WORKDIR /workspaces/scanbot-sdk-example-linux
6665COPY . .
6766
6867# Download and install all remaining SDKs in optimal locations
69- RUN echo "Installing Node.js, Java, and C SDKs for architecture: ${ARCH}" && \
70- # Download platform-dependent SDKs (Java and C)
71- curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${ARCH}.jar" && \
72- curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${ARCH}.tar.gz" && \
73- # Install Node.js SDK
68+ RUN echo "Installing Java and C SDKs for architecture: ${ARCH}" && \
69+ # Set the correct SDK architecture for downloads
70+ if [ "${ARCH}" = "linux-aarch64" ]; then \
71+ SDK_ARCH="linux-aarch64" ; \
72+ else \
73+ SDK_ARCH="linux-x86_64" ; \
74+ fi && \
75+ # Download platform-dependent SDKs (Java and C only)
76+ curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" && \
77+ curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" && \
78+ # Install Node.js SDK (platform-independent npm package)
7479 cd examples/nodejs && \
7580 npm install "${SDK_BASE_URL}${SDK_VERSION}/nodejs-scanbotsdk-${SDK_VERSION}.tgz" && \
7681 cd /workspaces/scanbot-sdk-example-linux && \
77- # Install Java SDK
82+ # Setup Java SDK
7883 mkdir -p examples/java/build/libs && \
79- cp "scanbotsdk-${SDK_VERSION}-${ARCH }.jar" examples/java/build/libs/scanbotsdk.jar && \
80- # Install C SDK
84+ cp "scanbotsdk-${SDK_VERSION}-${SDK_ARCH }.jar" examples/java/build/libs/scanbotsdk.jar && \
85+ # Setup C SDK
8186 mkdir -p examples/c/build/scanbotsdk && \
82- tar -xzf "scanbotsdk-${SDK_VERSION}-${ARCH }.tar.gz" -C examples/c/build/scanbotsdk --strip-components=1 && \
87+ tar -xzf "scanbotsdk-${SDK_VERSION}-${SDK_ARCH }.tar.gz" -C examples/c/build/scanbotsdk --strip-components=1 && \
8388 # Clean up downloads
8489 rm -f *.tar.gz *.jar && \
8590 echo "All SDKs installed successfully"
0 commit comments