|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Target OMERO server lib directory (modify as needed) |
| 4 | +OMERO_LIBS=${OMERO_LIBS:-/opt/omero/server/OMERO.server/lib/server} |
| 5 | + |
| 6 | +# Versions |
| 7 | +zarrJavaVersion=0.1.1 |
| 8 | +awsSdkVersion=2.34.6 |
| 9 | +jacksonVersion=2.20.0 |
| 10 | +reactiveStreamsVersion=1.0.4 |
| 11 | +nettyVersion=4.1.108.Final |
| 12 | + |
| 13 | +echo "Installing omero-zarr-pixel-buffer dependencies to: $OMERO_LIBS" |
| 14 | + |
| 15 | +if [ ! -d "$OMERO_LIBS" ]; then |
| 16 | + echo "ERROR: Directory $OMERO_LIBS does not exist" |
| 17 | + exit 1 |
| 18 | +fi |
| 19 | + |
| 20 | +install_deps() { |
| 21 | + local DEST=$1 |
| 22 | + |
| 23 | + # Remove older installation |
| 24 | + echo "Removing potential older installation from $DEST..." |
| 25 | + rm -f $1/omero-zarr-pixel-buffer*.jar $1/caffeine*.jar $1/jzarr*.jar $1/s3fs*.jar $1/aws-java-*.jar $1/okhttp*.jar $1/okio*.jar |
| 26 | + |
| 27 | + echo "Downloading dependencies to $DEST..." |
| 28 | + |
| 29 | + # Core zarr dependencies |
| 30 | + wget -q -P "$DEST" https://repo.maven.apache.org/maven2/com/github/ben-manes/caffeine/caffeine/3.1.8/caffeine-3.1.8.jar |
| 31 | + wget -q -P "$DEST" https://repo.maven.apache.org/maven2/dev/zarr/zarr-java/${zarrJavaVersion}/zarr-java-${zarrJavaVersion}.jar |
| 32 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/com/scalableminds/blosc-java/0.1-1.21.4/blosc-java-0.1-1.21.4.jar |
| 33 | + |
| 34 | + # Jackson datatype |
| 35 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/${jacksonVersion}/jackson-datatype-jdk8-${jacksonVersion}.jar |
| 36 | + |
| 37 | + # OkHttp and OkIO (updated versions) |
| 38 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/4.12.0/okhttp-4.12.0.jar |
| 39 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/com/squareup/okio/okio-jvm/3.6.0/okio-jvm-3.6.0.jar |
| 40 | + |
| 41 | + # Kotlin stdlib (required by okhttp) |
| 42 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.10/kotlin-stdlib-1.9.10.jar |
| 43 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.10/kotlin-stdlib-common-1.9.10.jar |
| 44 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.10/kotlin-stdlib-jdk7-1.9.10.jar |
| 45 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.10/kotlin-stdlib-jdk8-1.9.10.jar |
| 46 | + |
| 47 | + # AWS SDK v2 S3 and core modules |
| 48 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/s3/${awsSdkVersion}/s3-${awsSdkVersion}.jar |
| 49 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/auth/${awsSdkVersion}/auth-${awsSdkVersion}.jar |
| 50 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/aws-core/${awsSdkVersion}/aws-core-${awsSdkVersion}.jar |
| 51 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/sdk-core/${awsSdkVersion}/sdk-core-${awsSdkVersion}.jar |
| 52 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/annotations/${awsSdkVersion}/annotations-${awsSdkVersion}.jar |
| 53 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/regions/${awsSdkVersion}/regions-${awsSdkVersion}.jar |
| 54 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/identity-spi/${awsSdkVersion}/identity-spi-${awsSdkVersion}.jar |
| 55 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/utils/${awsSdkVersion}/utils-${awsSdkVersion}.jar |
| 56 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi/${awsSdkVersion}/http-client-spi-${awsSdkVersion}.jar |
| 57 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/retries/${awsSdkVersion}/retries-${awsSdkVersion}.jar |
| 58 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/url-connection-client/${awsSdkVersion}/url-connection-client-${awsSdkVersion}.jar |
| 59 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client/${awsSdkVersion}/apache-client-${awsSdkVersion}.jar |
| 60 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/arns/${awsSdkVersion}/arns-${awsSdkVersion}.jar |
| 61 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/aws-query-protocol/${awsSdkVersion}/aws-query-protocol-${awsSdkVersion}.jar |
| 62 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/aws-xml-protocol/${awsSdkVersion}/aws-xml-protocol-${awsSdkVersion}.jar |
| 63 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/checksums/${awsSdkVersion}/checksums-${awsSdkVersion}.jar |
| 64 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/checksums-spi/${awsSdkVersion}/checksums-spi-${awsSdkVersion}.jar |
| 65 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/crt-core/${awsSdkVersion}/crt-core-${awsSdkVersion}.jar |
| 66 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/endpoints-spi/${awsSdkVersion}/endpoints-spi-${awsSdkVersion}.jar |
| 67 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth/${awsSdkVersion}/http-auth-${awsSdkVersion}.jar |
| 68 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-aws/${awsSdkVersion}/http-auth-aws-${awsSdkVersion}.jar |
| 69 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-aws-eventstream/${awsSdkVersion}/http-auth-aws-eventstream-${awsSdkVersion}.jar |
| 70 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/http-auth-spi/${awsSdkVersion}/http-auth-spi-${awsSdkVersion}.jar |
| 71 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/json-utils/${awsSdkVersion}/json-utils-${awsSdkVersion}.jar |
| 72 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/metrics-spi/${awsSdkVersion}/metrics-spi-${awsSdkVersion}.jar |
| 73 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client/${awsSdkVersion}/netty-nio-client-${awsSdkVersion}.jar |
| 74 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/profiles/${awsSdkVersion}/profiles-${awsSdkVersion}.jar |
| 75 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/protocol-core/${awsSdkVersion}/protocol-core-${awsSdkVersion}.jar |
| 76 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/retries-spi/${awsSdkVersion}/retries-spi-${awsSdkVersion}.jar |
| 77 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/third-party-jackson-core/${awsSdkVersion}/third-party-jackson-core-${awsSdkVersion}.jar |
| 78 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/software/amazon/awssdk/utils-lite/${awsSdkVersion}/utils-lite-${awsSdkVersion}.jar |
| 79 | + |
| 80 | + # Transitive AWS SDK dependencies |
| 81 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/${reactiveStreamsVersion}/reactive-streams-${reactiveStreamsVersion}.jar |
| 82 | + |
| 83 | + # Netty dependencies (required by netty-nio-client) |
| 84 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-buffer/${nettyVersion}/netty-buffer-${nettyVersion}.jar |
| 85 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-codec/${nettyVersion}/netty-codec-${nettyVersion}.jar |
| 86 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-codec-http/${nettyVersion}/netty-codec-http-${nettyVersion}.jar |
| 87 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-codec-http2/${nettyVersion}/netty-codec-http2-${nettyVersion}.jar |
| 88 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-common/${nettyVersion}/netty-common-${nettyVersion}.jar |
| 89 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-handler/${nettyVersion}/netty-handler-${nettyVersion}.jar |
| 90 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-resolver/${nettyVersion}/netty-resolver-${nettyVersion}.jar |
| 91 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-transport/${nettyVersion}/netty-transport-${nettyVersion}.jar |
| 92 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll/${nettyVersion}/netty-transport-classes-epoll-${nettyVersion}.jar |
| 93 | + wget -q -P "$DEST" https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/${nettyVersion}/netty-transport-native-unix-common-${nettyVersion}.jar |
| 94 | + |
| 95 | + echo "Dependencies downloaded successfully." |
| 96 | +} |
| 97 | + |
| 98 | +# Download dependencies |
| 99 | +install_deps "$OMERO_LIBS" |
| 100 | + |
| 101 | +echo "" |
| 102 | +echo "Dependencies installed to: $OMERO_LIBS" |
| 103 | +echo "" |
| 104 | +echo "NOTE: You must manually copy the omero-zarr-pixel-buffer JAR to $OMERO_LIBS" |
| 105 | +echo "" |
| 106 | +echo "Then restart OMERO server." |
0 commit comments