dsmiley commented on a change in pull request #2197:
URL: https://github.com/apache/lucene-solr/pull/2197#discussion_r560534771
##########
File path: solr/docker/build.gradle
##########
@@ -18,106 +18,192 @@
import com.google.common.base.Preconditions
import com.google.common.base.Strings
-apply plugin: 'base'
-apply plugin: 'com.palantir.docker'
-
-subprojects {
- apply plugin: 'base'
- apply plugin: 'com.palantir.docker'
-}
-
description = 'Solr Docker image'
-def dockerPackage = project(':solr:docker:package')
-
-dependencies {
- docker dockerPackage
-}
+apply plugin: 'base'
+// Solr Docker inputs
def dockerImageRepo = propertyOrEnvOrDefault("solr.docker.imageRepo",
"SOLR_DOCKER_IMAGE_REPO", "apache/solr")
def dockerImageTag = propertyOrEnvOrDefault("solr.docker.imageTag",
"SOLR_DOCKER_IMAGE_TAG", "${version}")
def dockerImageName = propertyOrEnvOrDefault("solr.docker.imageName",
"SOLR_DOCKER_IMAGE_NAME", "${dockerImageRepo}:${dockerImageTag}")
def baseDockerImage = propertyOrEnvOrDefault("solr.docker.baseImage",
"SOLR_DOCKER_BASE_IMAGE", 'openjdk:11-jre-slim')
def githubUrlOrMirror = propertyOrEnvOrDefault("solr.docker.githubUrl",
"SOLR_DOCKER_GITHUB_URL", 'github.com')
-docker {
- name = dockerImageName
- files file('include')
- buildArgs(['BASE_IMAGE' : baseDockerImage, 'SOLR_PACKAGE_IMAGE' :
'apache/solr-build:local-package', 'SOLR_VERSION': "${version}", 'GITHUB_URL':
githubUrlOrMirror])
+// Build directory locations
+def dockerBuildDistribution = "$buildDir/distributions"
+def imageIdFile = "$buildDir/image-id"
+
+configurations {
+ packaging {
+ canBeResolved = true
+ }
+ dockerImage {
+ canBeResolved = true
+ }
+}
+
+dependencies {
+ packaging project(path: ":solr:packaging", configuration: 'archives')
+
+ dockerImage files(imageIdFile) {
+ builtBy 'dockerBuild'
+ }
}
-tasks.docker {
- // In order to create the solr docker image, the solr package image must be
created first.
- dependsOn(dockerPackage.tasks.docker)
+task dockerTar(type: Tar) {
Review comment:
In our container centric world right now... I think it would not be a
big deal if our tgz included a Dockerfile at the root. I'm not sure I want to
push for that at the moment (would others hate it?), but throwing it out there.
Re-building *any* official tgz our project produces would be marvelously
simple then :-). (curl some official tgz then pipe right into docker build :-)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]