I have four buildpacks and call them in order.
In my first buildpack, I have, in my detect phase:
[[provides]]
name = "spark"
In the second one:
[[provides]]
name = "jre"
[[or]]
[[or.provides]]
name = "jdk"
In the third one:
[[provides]]
name = "spark-job-java"
[[requires]]
name = "jdk"
[[or]]
[[or.provides]]
name = "spark-job-java"
[[or.requires]]
name = "jre"
In the fourth one:
[[requires]]
name = "spark"
[[requires]]
name = "jre"
[[requires]]
name = "spark-job-java"
[[or]]
[[or.requires]]
name = "spark"
[[or.requires]]
name = "jre"
[[or.requires]]
name = "spark-job-python"
Now, in the build phase of the fourth buildpack, my buildpack plan is empty:
-rw-r--r-- 1 cnb cnb 0 May 8 15:30 /tmp/XXXXX/plan.toml
What is wrong with my buildpacks? To my understanding, I should have at least
[[entries]]
name = "spark-job-java"
Why not?
Followup 1
Changing the plan in thr fourth buildpack to be
[[provides]]
name = "spark-job-java1"
[[requires]]
name = "spark-job-java1"
[[requires]]
name = "spark"
[[requires]]
name = "jre"
[[requires]]
name = "spark-job-java"
[[or]]
[[or.provides]]
name = "spark-job-python1"
[[or.requires]]
name = "spark-job-python1"
[[or.requires]]
name = "spark"
[[or.requires]]
name = "jre"
[[or.requires]]
name = "spark-job-python"
I get
[[entries]]
name = "spark-job-java1"
But I suspect this can't be it that provides are consumed and not propagated any further?