From 6c570300c4950a195c9d8650476959efe6288705 Mon Sep 17 00:00:00 2001 From: MichelML Date: Thu, 22 Aug 2024 21:58:47 -0600 Subject: [PATCH] commit script and dockerfile that works --- Dockerfile | 5 +++-- package.json | 4 ++-- scripts/build_rdkitjs.sh | 21 +++++++++++++++++++-- scripts/ci.sh | 8 ++++++++ 4 files changed, 32 insertions(+), 6 deletions(-) create mode 100644 scripts/ci.sh diff --git a/Dockerfile b/Dockerfile index a806d4cb..777e5286 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,7 @@ ARG BOOST_MAJOR_VERSION="1" ARG BOOST_MINOR_VERSION="84" ARG BOOST_PATCH_VERSION="0" -FROM --platform=linux/amd64 debian:bookworm as build-stage +FROM debian:bookworm as build-stage ARG RDKIT_GIT_URL ARG RDKIT_BRANCH ARG EMSDK_VERSION @@ -39,11 +39,12 @@ LABEL maintainer="Greg Landrum " RUN apt-get update && apt-get upgrade -y && apt install -y \ curl \ wget \ - cmake/buster-backports \ + cmake \ python3 \ g++ \ libeigen3-dev \ git \ + xz-utils \ nodejs ENV LANG C diff --git a/package.json b/package.json index ed6e0d45..f3d6458f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@rdkit/rdkit", - "version": "2023.9.2-1.0.0", - "private": true, + "version": "2024.3.5-1.0.0", + "private": false, "description": "JavaScript distribution of cheminformatics functionality from the RDKit - a C++ library for cheminformatics.", "main": "dist/RDKit_minimal.js", "types": "dist/index.d.ts", diff --git a/scripts/build_rdkitjs.sh b/scripts/build_rdkitjs.sh index 4c0d1c71..021e3d34 100644 --- a/scripts/build_rdkitjs.sh +++ b/scripts/build_rdkitjs.sh @@ -25,10 +25,27 @@ mkdir -p $MINIMALLIB_OUTPUT_PATH # legacy minimallib output path LEGACY_MINIMALLIB_OUTPUT_PATH="Code/MinimalLib/dist" rm -rf $LEGACY_MINIMALLIB_OUTPUT_PATH -mkdir -p $LEGACY_MINIMALLIB_OUTPUT_PATH +mkdir -p $LEGACY_MINIMALLIB_OUTPUT_PATH # Build distribution files -DOCKER_BUILDKIT=1 docker build --no-cache -f Dockerfile --build-arg RDKIT_BRANCH=$RDKIT_BRANCH -o $MINIMALLIB_OUTPUT_PATH . +DOCKER_BUILDKIT=1 docker build --no-cache --platform=linux/amd64 -f Dockerfile --build-arg RDKIT_BRANCH=$RDKIT_BRANCH -o $MINIMALLIB_OUTPUT_PATH . + +# Make dist files executable +chmod a+rwx $MINIMALLIB_OUTPUT_PATH/RDKit_minimal.js +chmod a+rwx $MINIMALLIB_OUTPUT_PATH/RDKit_minimal.wasm + +# Add a copy of the distribution files at the original rdkit location +# for backwards compatibility +cp $MINIMALLIB_OUTPUT_PATH/RDKit_minimal.js $LEGACY_MINIMALLIB_OUTPUT_PATH/RDKit_minimal.js +cp $MINIMALLIB_OUTPUT_PATH/RDKit_minimal.wasm $LEGACY_MINIMALLIB_OUTPUT_PATH/RDKit_minimal.wasm + +# Move docs file in dist folder for demos to work properly +cp docs/demo.html $MINIMALLIB_OUTPUT_PATH/demo.html +cp docs/GettingStartedInJS.html $MINIMALLIB_OUTPUT_PATH/GettingStartedInJS.html + +# Log build completed +echo "Build completed" +echo "MinimalLib distribution files are at $MINIMALLIB_OUTPUT_PATH" # Make dist files executable chmod a+rwx $MINIMALLIB_OUTPUT_PATH/RDKit_minimal.js diff --git a/scripts/ci.sh b/scripts/ci.sh new file mode 100644 index 00000000..8210c0a3 --- /dev/null +++ b/scripts/ci.sh @@ -0,0 +1,8 @@ +set -e + +# Set branch to release +RDKIT_BRANCH="$RDKIT_BRANCH" +MINIMALLIB_OUTPUT_PATH="dist" + +# Build distribution files +DOCKER_BUILDKIT=1 docker build --no-cache --platform=linux/amd64 -f Dockerfile --build-arg RDKIT_BRANCH=$RDKIT_BRANCH -o $MINIMALLIB_OUTPUT_PATH .