I don't understand the following excerpt. More precisely, it's not clear what the #includes:
directive is since it looks exactly like the opposite of #requires:
.
spec for: #'pharo3.x' do: [
spec
package: 'Grease-Core' with: [
spec includes: #('Grease-Pharo30-Core' ). ];
package: 'Grease-Tests-Core' with: [
spec includes: #('Grease-Tests-Pharo20-Core' ). ];
package: 'Grease-Pharo30-Core' with: [
spec requires: #('Grease-Core' ). ];
package: 'Grease-Tests-Pharo20-Core' with: [
spec requires: #('Grease-Tests-Core' ) ] ].
It is an opposite to the requires but it does more. If A requires: B
and B includes: A
,
then loading B
effects, that A
is also loaded (because of #includes:
) after B
is loaded (because of #requires
).
I had a discussion with Dale about this behavior. In the end, it is a naming issue. In the debian World, you would use something like #provides:
(which is not existing), and you could write
A provides: B
However, the fact that still A requires: B
would not be reflected there.
When A includes: B
, then loading A
also loads B
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With