Skip to content

Instantly share code, notes, and snippets.

@ferd
Created August 11, 2015 23:10
Show Gist options
  • Save ferd/d339ccf21f5532c6ab50 to your computer and use it in GitHub Desktop.
Save ferd/d339ccf21f5532c6ab50 to your computer and use it in GitHub Desktop.
lowercase = package
UPPERCASE = source
A
/ \
c B
==> A B c
A
/ \
B c
==> A B c
A
|
b
|
a
==> error circular dep
A
/ \
B c
| |
D d
==> A B c D
A
/ \
b C
| |
d D
==> A b C D
A
/ \
b B
==> A B
A
/ \
B b
==> A B
A
|
b
|
c
==> A b c
package deps never depend on source deps ALTHOUGH THEY COULD THX TO OVERRIDES, which, I guess, we need to catch an abort
A
|
b (overridden dep: c => C)
|
C
==> error: package dep has a source dep (via override?)
@tsloughter
Copy link

Source dep with a package dep that conflicts with a transitive source dep on the same level.

    A
   / \
  B   C
  |    |
  d   D

==> A B C D

@tsloughter
Copy link

Oh, and one these is one that should currently fail by fetching e-2 instead of e-1:

A

/
B C
| |
D e-1
|
e-2

==> A B C D e-1

 A

/
B C
| |
e-1 D
|
e-2

==> A B C D e-1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment