Comments (8)
Do you have a minimal example that clarifies the inconsistency?
On Wed, Apr 20, 2016 at 2:29 PM Michael Nazario [email protected]
wrote:
I was quite confused to have to use real task objects rather than strings
in the dependsOn field in the docker block. We should be able to use
string-based input too just like a normal gradle task.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#40
from gradle-docker.
task bar() {
}
task foo() {
dependsOn bar
}
and
task foo() {
dependsOn 'bar'
}
task bar() {
}
vs
task foo() {
}
docker {
name 'hub.docker.com/username/my-app:version'
dependsOn foo
}
and
task foo() {
}
docker {
name 'hub.docker.com/username/my-app:version'
dependsOn 'foo'
}
from gradle-docker.
It's important to note that the string version allows you to have not defined the task yet (and use a path to a task in a different project)
from gradle-docker.
Hmm, it's odd that the docker plugin configures dependencies via the
DockerExtension. A more natural implementation would use task dependencies
instead.
On Wed, Apr 20, 2016 at 3:09 PM Michael Nazario [email protected]
wrote:
It's important to note that the string version allows you to have not
defined the task yet (and use a path to a task in a different project)—
You are receiving this because you commented.Reply to this email directly or view it on GitHub
#40 (comment)
from gradle-docker.
The DockerExtension also does something extra though. It copies the output of each of those dependsOn tasks into the docker build folder.
from gradle-docker.
Yep, I know. But really the task should do that.
On Wed, Apr 20, 2016 at 5:12 PM Michael Nazario [email protected]
wrote:
The DockerExtension also does something extra though. It copies the output
of each of those dependsOn tasks into the docker build folder.—
You are receiving this because you commented.Reply to this email directly or view it on GitHub
#40 (comment)
from gradle-docker.
I agree. Why is the docker task created by this plugin different from a normal gradle task, which would allow me to use the normal dependsOn?
I did figure out a workaround to allow referencing tasks by string, but it seems like there should be a better way to fix this. You can use the tasks.getByPath method (see https://docs.gradle.org/current/userguide/more_about_tasks.html)
dependsOn tasks.getByPath('bar')
Any guidance on where the docker task is defined in the code? I'm happy to send a pull request (although this would be the first gradle plugin I've worked on).
from gradle-docker.
We need/want to actually capture the task outputs when using dependsOn
in the configuration. You can always grab the task and encode a dependency using something like tasks.docker
to get a handle on it and add your dependencies.
from gradle-docker.
Related Issues (20)
- containerd support
- Is gradle incremental build supported? HOT 2
- dockerpush - getting sha256 of the published docker image ?
- Recommend don't create the dockerTag${project.version} and dockerPush${project.version} task by default, keep to add it by user self as 0.30.0 version. HOT 8
- Entry Dockerfile is a duplicate but no duplicate handling strategy has been set HOT 3
- dockerPush seems to hang forever HOT 1
- Support Task Configuration Avoidance API from Gradle
- How to set buildArgs from the task
- Can't get multiarch buildx to work HOT 1
- Make automatic project version tag optional HOT 1
- Buildx fails to finding just builded image but works with cached ones HOT 1
- adding extra programs to palantir docker image HOT 1
- Gradle 8.0 Support HOT 4
- Using platform without buildx
- Containerd Support
- composeup environment required HOT 3
- docker tag must have a task name HOT 3
- remove dash "docker-compose"
- docker platform variable does not accept an array of String
- Cannot add dependencies
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-docker.