buildpack plan vanishes in subsequent buildpacks

22 Views Asked by At

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?

0

There are 0 best solutions below