I see a lot of people pushing a code base of "Happy Soup" of packages. However, there is a common dependency management use-case that I haven't seen a solution for.
Deployments that requirement multiple packages to be updated at once.
Take for example the following setup:
Package A 1.0.0
global class Foo {
global static void doFoo() {}
}
Package B 1.0.0
global class Bar {
global static void doBar() {
A.Foo.doFoo();
}
}
Now, lets say we need to update Foo.doFoo
so it accepts a parameter:
global static void doFoo(String msg) {}
We'll also need to update doBar
:
global static void doBar() {
A.Foo.doFoo('ello dingus');
}
And release a new version (2.0.0
) for each package.
So how do we get these updates into our org? As far as I know, there isn't a way to deploy both packages in the same request (maybe I'm wrong?).
And we can't first publish Package A 2.0.0
because it is not compatible with Package B 1.0.0
.
Is there a solution (other than just outright deleting Package B
)?