diff --git a/build.gradle b/build.gradle index 4fa306950a3..b1c204704a9 100644 --- a/build.gradle +++ b/build.gradle @@ -92,12 +92,17 @@ idea { ext.versionSource = versionSource ext.globalVersion = "0.7.0" -// To set fishlibVersion, go to project-local gradle.properties file -// (or, use the gradle.properties in $USER_HOME/.gradle for a global override) -// If you have fishlib open in IDE, also set includeFish=true to get the -// intellij projects wired up across repositories. - -Set modsAreBasic = subprojects.findAll {it.name in ['deephaven-wheel', 'deephaven2-wheel', 'envoy', 'grpc-proxy', 'web-client-ui', 'protoc', 'pyclient', 'sphinx', 'docker-java-and-python', 'docker-runtime-base'] } +Set modsAreBasic = subprojects.findAll {it.name in [ + 'deephaven-wheel', + 'deephaven2-wheel', + 'envoy', + 'grpc-proxy', + 'web-client-ui', + 'pyclient', + 'sphinx', + 'docker-java-and-python', + 'docker-runtime-base', +] } Set modsAreBin = subprojects.findAll {it.name in ['bin', 'configs', 'test-configs'] } diff --git a/docker/registry/protoc-base/gradle.properties b/docker/registry/protoc-base/gradle.properties new file mode 100644 index 00000000000..17d7399dd59 --- /dev/null +++ b/docker/registry/protoc-base/gradle.properties @@ -0,0 +1,2 @@ +deephaven.registry.imageName=ghcr.io/deephaven/protoc-base:latest +deephaven.registry.imageId=ghcr.io/deephaven/protoc-base@sha256:25fabb9111d876a14cef357d1e5d78ead942e2dd0c587aa0efff817128516ee8 \ No newline at end of file diff --git a/proto/build.gradle b/proto/build.gradle index da859f20148..621284fc1ec 100644 --- a/proto/build.gradle +++ b/proto/build.gradle @@ -1,5 +1,7 @@ // keep this in sync w/ shadowed/proto/shadow-proto.gradle def grpcVersion = '1.38.0' + +// TODO(deephaven-core#1685): Create strategy around updating and maintaining protoc version def protobufVersion = '3.17.3' def protocVersion = protobufVersion def boringSslVersion = '2.0.34.Final' diff --git a/proto/proto-backplane-grpc/Dockerfile b/proto/proto-backplane-grpc/Dockerfile index 17d72696b41..5900d668241 100644 --- a/proto/proto-backplane-grpc/Dockerfile +++ b/proto/proto-backplane-grpc/Dockerfile @@ -1,4 +1,4 @@ -FROM deephaven/protoc:local-build +FROM deephaven/protoc-base:local-build COPY src/main/proto /includes diff --git a/proto/proto-backplane-grpc/build.gradle b/proto/proto-backplane-grpc/build.gradle index bc6dbd48634..e3e45168577 100644 --- a/proto/proto-backplane-grpc/build.gradle +++ b/proto/proto-backplane-grpc/build.gradle @@ -2,7 +2,7 @@ plugins { id 'com.bmuschko.docker-remote-api' } -evaluationDependsOn ':protoc' +evaluationDependsOn Docker.registryProject('protoc-base') description = 'The Deephaven proto-backplane-grpc' @@ -33,7 +33,7 @@ TaskProvider generateProtobuf = Docker.registerDockerTask(project, 'genera } } } - parentContainers = [ project(':protoc').tasks.findByName('buildDocker') ] + parentContainers = [ Docker.registryTask(project, 'protoc-base') ] containerOutPath = '/generated' imageName = 'deephaven/proto-backplane-grpc:local-build' copyOut { diff --git a/protoc/.dockerignore b/protoc/.dockerignore deleted file mode 100644 index 9528c28e8a5..00000000000 --- a/protoc/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -.dockerignore -build \ No newline at end of file diff --git a/protoc/Dockerfile b/protoc/Dockerfile deleted file mode 100644 index c465f0f6f5d..00000000000 --- a/protoc/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# Basing our image on node, so we can easily install and invoke ts-protoc-gen protoc plugin -FROM deephaven/node:local-build - -WORKDIR /usr/src/app - -COPY checksums.txt . - -# This version should be the same as the version found in package.json/package-lock.json -RUN set -eux; \ - wget -q "https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip"; \ - wget -q "https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.36.1/protoc-gen-grpc-java-1.36.1-linux-x86_64.exe"; \ - sha256sum --check checksums.txt; \ - unzip protoc-3.15.6-linux-x86_64.zip -d /opt/protoc; \ - mv protoc-gen-grpc-java-1.36.1-linux-x86_64.exe /opt/protoc-gen-grpc-java; \ - chmod +x /opt/protoc-gen-grpc-java; \ - rm protoc-3.15.6-linux-x86_64.zip - -# protoc includes support for python, but not support for grpc python, we need pip to get it -RUN set -eux; \ - apt-get update; \ - apt-get install -y python3-pip; \ - rm -rf /var/lib/apt/lists/*; \ - pip3 install --upgrade pip; \ - pip3 install grpcio-tools; - -COPY . . - -RUN set -eux; \ - npm ci - -#ENTRYPOINT ["/opt/protoc/bin/protoc", \ -# "--plugin=\"protoc-gen-ts=./node_modules/.bin/protoc-gen-ts\"", \ -# "--js_out=\"import_style=commonjs,binary:./generated\"", \ -# "--ts_out=\"./generated\"" ] \ No newline at end of file diff --git a/protoc/build.gradle b/protoc/build.gradle deleted file mode 100644 index 9444a9140aa..00000000000 --- a/protoc/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -plugins { - id 'com.bmuschko.docker-remote-api' -} - -evaluationDependsOn Docker.registryProject('node') - -def prepareDocker = project.tasks.register('prepareDocker', Sync) { - from(project.projectDir) { - exclude 'build' - exclude 'build.gradle' - } - into 'build/docker' -} - -def buildDocker = Docker.registerDockerImage(project, 'buildDocker') { - inputs.files prepareDocker.get().outputs.files - inputs.files Docker.registryFiles(project, 'node') - images.add('deephaven/protoc:local-build') -} - -assemble.dependsOn buildDocker \ No newline at end of file diff --git a/protoc/checksums.txt b/protoc/checksums.txt deleted file mode 100644 index 3c85e53fd10..00000000000 --- a/protoc/checksums.txt +++ /dev/null @@ -1,2 +0,0 @@ -38a2f024a0ce68897b1868c59b613939bd41f16c0c8d8890843eccdbbf46ab00 protoc-3.15.6-linux-x86_64.zip -5b85993c98cda380847d799327bf8937cc81a92908f2737c42b3552d849de841 protoc-gen-grpc-java-1.36.1-linux-x86_64.exe \ No newline at end of file diff --git a/protoc/package-lock.json b/protoc/package-lock.json deleted file mode 100644 index 6230111d574..00000000000 --- a/protoc/package-lock.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "google-protobuf": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.17.3.tgz", - "integrity": "sha512-OVPzcSWIAJ+d5yiHyeaLrdufQtrvaBrF4JQg+z8ynTkbO3uFcujqXszTumqg1cGsAsjkWnI+M5B1xZ19yR4Wyg==" - }, - "ts-protoc-gen": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/ts-protoc-gen/-/ts-protoc-gen-0.15.0.tgz", - "integrity": "sha512-TycnzEyrdVDlATJ3bWFTtra3SCiEP0W0vySXReAuEygXCUr1j2uaVyL0DhzjwuUdQoW5oXPwk6oZWeA0955V+g==", - "requires": { - "google-protobuf": "^3.15.5" - } - } - } -} diff --git a/protoc/package.json b/protoc/package.json deleted file mode 100644 index e4baead041b..00000000000 --- a/protoc/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "dependencies": { - "google-protobuf": "^3.17.3", - "ts-protoc-gen": "^0.15.0" - }, - "engines": { - "node": "14.x" - } -} diff --git a/settings.gradle b/settings.gradle index 4f5dfa4e3da..912fff74ff4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -57,7 +57,6 @@ include 'DHProcess' include 'proto:proto-backplane-grpc' include 'proto:proto-backplane-grpc-flight' include 'proto:raw-js-openapi' -include 'protoc' // logger include 'log-factory'