Merge "license metadata remove path on top-down walk"
This commit is contained in:
@@ -577,7 +577,9 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/restricted/highest.apex.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/highest.apex.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic notice",
|
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -610,7 +612,9 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"highest.apex.meta_lic lib/libd.so.meta_lic lib/libb.so.meta_lic restricted",
|
"highest.apex.meta_lic lib/libd.so.meta_lic lib/libb.so.meta_lic restricted",
|
||||||
"lib/liba.so.meta_lic lib/liba.so.meta_lic lib/liba.so.meta_lic restricted",
|
"lib/liba.so.meta_lic lib/liba.so.meta_lic lib/liba.so.meta_lic restricted",
|
||||||
"lib/libb.so.meta_lic lib/libb.so.meta_lic lib/libb.so.meta_lic restricted",
|
"lib/libb.so.meta_lic lib/libb.so.meta_lic lib/libb.so.meta_lic restricted",
|
||||||
|
"lib/libc.a.meta_lic lib/libc.a.meta_lic lib/liba.so.meta_lic restricted",
|
||||||
"lib/libc.a.meta_lic lib/libc.a.meta_lic lib/libc.a.meta_lic reciprocal",
|
"lib/libc.a.meta_lic lib/libc.a.meta_lic lib/libc.a.meta_lic reciprocal",
|
||||||
|
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libb.so.meta_lic restricted",
|
||||||
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libd.so.meta_lic notice",
|
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -723,7 +727,9 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"highest.apex.meta_lic:notice lib/libd.so.meta_lic:notice lib/libb.so.meta_lic:restricted restricted",
|
"highest.apex.meta_lic:notice lib/libd.so.meta_lic:notice lib/libb.so.meta_lic:restricted restricted",
|
||||||
"lib/liba.so.meta_lic:restricted lib/liba.so.meta_lic:restricted lib/liba.so.meta_lic:restricted restricted",
|
"lib/liba.so.meta_lic:restricted lib/liba.so.meta_lic:restricted lib/liba.so.meta_lic:restricted restricted",
|
||||||
"lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted restricted",
|
"lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted restricted",
|
||||||
|
"lib/libc.a.meta_lic:reciprocal lib/libc.a.meta_lic:reciprocal lib/liba.so.meta_lic:restricted restricted",
|
||||||
"lib/libc.a.meta_lic:reciprocal lib/libc.a.meta_lic:reciprocal lib/libc.a.meta_lic:reciprocal reciprocal",
|
"lib/libc.a.meta_lic:reciprocal lib/libc.a.meta_lic:reciprocal lib/libc.a.meta_lic:reciprocal reciprocal",
|
||||||
|
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libb.so.meta_lic:restricted restricted",
|
||||||
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice notice",
|
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -755,7 +761,9 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/restricted/container.zip.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/container.zip.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic notice",
|
"testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic testdata/restricted/lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -772,6 +780,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/restricted/application.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/application.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/bin/bin3.meta_lic testdata/restricted/bin/bin3.meta_lic testdata/restricted/bin/bin3.meta_lic restricted",
|
"testdata/restricted/bin/bin3.meta_lic testdata/restricted/bin/bin3.meta_lic testdata/restricted/bin/bin3.meta_lic restricted",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
"testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic testdata/restricted/lib/libb.so.meta_lic restricted",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -786,6 +795,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/restricted/bin/bin1.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
"testdata/restricted/bin/bin1.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/bin/bin1.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
"testdata/restricted/bin/bin1.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
"testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/liba.so.meta_lic restricted",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
"testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic testdata/restricted/lib/libc.a.meta_lic reciprocal",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -821,6 +831,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
||||||
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic by_exception_only:proprietary",
|
"testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic by_exception_only:proprietary",
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic notice",
|
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -849,6 +860,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"lib/liba.so.meta_lic lib/liba.so.meta_lic lib/liba.so.meta_lic by_exception_only:proprietary",
|
"lib/liba.so.meta_lic lib/liba.so.meta_lic lib/liba.so.meta_lic by_exception_only:proprietary",
|
||||||
"lib/libb.so.meta_lic lib/libb.so.meta_lic lib/libb.so.meta_lic restricted",
|
"lib/libb.so.meta_lic lib/libb.so.meta_lic lib/libb.so.meta_lic restricted",
|
||||||
"lib/libc.a.meta_lic lib/libc.a.meta_lic lib/libc.a.meta_lic by_exception_only:proprietary",
|
"lib/libc.a.meta_lic lib/libc.a.meta_lic lib/libc.a.meta_lic by_exception_only:proprietary",
|
||||||
|
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libb.so.meta_lic restricted",
|
||||||
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libd.so.meta_lic notice",
|
"lib/libd.so.meta_lic lib/libd.so.meta_lic lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -950,6 +962,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"lib/liba.so.meta_lic:by_exception_only:proprietary lib/liba.so.meta_lic:by_exception_only:proprietary lib/liba.so.meta_lic:by_exception_only:proprietary by_exception_only:proprietary",
|
"lib/liba.so.meta_lic:by_exception_only:proprietary lib/liba.so.meta_lic:by_exception_only:proprietary lib/liba.so.meta_lic:by_exception_only:proprietary by_exception_only:proprietary",
|
||||||
"lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted restricted",
|
"lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted lib/libb.so.meta_lic:restricted restricted",
|
||||||
"lib/libc.a.meta_lic:by_exception_only:proprietary lib/libc.a.meta_lic:by_exception_only:proprietary lib/libc.a.meta_lic:by_exception_only:proprietary by_exception_only:proprietary",
|
"lib/libc.a.meta_lic:by_exception_only:proprietary lib/libc.a.meta_lic:by_exception_only:proprietary lib/libc.a.meta_lic:by_exception_only:proprietary by_exception_only:proprietary",
|
||||||
|
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libb.so.meta_lic:restricted restricted",
|
||||||
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice notice",
|
"lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice lib/libd.so.meta_lic:notice notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -977,6 +990,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
||||||
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic by_exception_only:proprietary",
|
"testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic testdata/proprietary/lib/libc.a.meta_lic by_exception_only:proprietary",
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic notice",
|
"testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic testdata/proprietary/lib/libd.so.meta_lic notice",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -992,6 +1006,7 @@ func Test_plaintext(t *testing.T) {
|
|||||||
"testdata/proprietary/application.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
"testdata/proprietary/application.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/bin/bin3.meta_lic testdata/proprietary/bin/bin3.meta_lic testdata/proprietary/bin/bin3.meta_lic restricted",
|
"testdata/proprietary/bin/bin3.meta_lic testdata/proprietary/bin/bin3.meta_lic testdata/proprietary/bin/bin3.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic by_exception_only:proprietary",
|
||||||
|
"testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/liba.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
"testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic testdata/proprietary/lib/libb.so.meta_lic restricted",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -2883,11 +2898,21 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"reciprocal"),
|
"reciprocal"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libd.so.meta_lic",
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
"testdata/restricted/lib/libd.so.meta_lic",
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
@@ -3023,11 +3048,21 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"lib/libb.so.meta_lic",
|
"lib/libb.so.meta_lic",
|
||||||
"lib/libb.so.meta_lic",
|
"lib/libb.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libc.a.meta_lic",
|
||||||
|
"lib/libc.a.meta_lic",
|
||||||
|
"lib/liba.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"reciprocal"),
|
"reciprocal"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
@@ -3406,11 +3441,21 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"lib/libb.so.meta_lic",
|
"lib/libb.so.meta_lic",
|
||||||
"lib/libb.so.meta_lic",
|
"lib/libb.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libc.a.meta_lic",
|
||||||
|
"lib/libc.a.meta_lic",
|
||||||
|
"lib/liba.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"reciprocal"),
|
"reciprocal"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
@@ -3545,11 +3590,21 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"reciprocal"),
|
"reciprocal"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libd.so.meta_lic",
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
"testdata/restricted/lib/libd.so.meta_lic",
|
"testdata/restricted/lib/libd.so.meta_lic",
|
||||||
@@ -3606,6 +3661,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/restricted/lib/liba.so.meta_lic",
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic",
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
"testdata/restricted/lib/libb.so.meta_lic",
|
"testdata/restricted/lib/libb.so.meta_lic",
|
||||||
@@ -3651,6 +3711,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/restricted/lib/liba.so.meta_lic",
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
"testdata/restricted/lib/liba.so.meta_lic",
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
"restricted"),
|
"restricted"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
|
"testdata/restricted/lib/liba.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
"testdata/restricted/lib/libc.a.meta_lic",
|
"testdata/restricted/lib/libc.a.meta_lic",
|
||||||
@@ -3786,6 +3851,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/proprietary/lib/libc.a.meta_lic",
|
"testdata/proprietary/lib/libc.a.meta_lic",
|
||||||
"by_exception_only",
|
"by_exception_only",
|
||||||
"proprietary"),
|
"proprietary"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic",
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic",
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
@@ -3909,6 +3979,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"by_exception_only",
|
"by_exception_only",
|
||||||
"proprietary"),
|
"proprietary"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
@@ -4237,6 +4312,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"lib/libc.a.meta_lic",
|
"lib/libc.a.meta_lic",
|
||||||
"by_exception_only",
|
"by_exception_only",
|
||||||
"proprietary"),
|
"proprietary"),
|
||||||
|
matchResolution(
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libd.so.meta_lic",
|
||||||
|
"lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
"lib/libd.so.meta_lic",
|
"lib/libd.so.meta_lic",
|
||||||
@@ -4359,6 +4439,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/proprietary/lib/libc.a.meta_lic",
|
"testdata/proprietary/lib/libc.a.meta_lic",
|
||||||
"by_exception_only",
|
"by_exception_only",
|
||||||
"proprietary"),
|
"proprietary"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic",
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
"testdata/proprietary/lib/libd.so.meta_lic",
|
"testdata/proprietary/lib/libd.so.meta_lic",
|
||||||
@@ -4412,6 +4497,11 @@ func Test_graphviz(t *testing.T) {
|
|||||||
"testdata/proprietary/lib/liba.so.meta_lic",
|
"testdata/proprietary/lib/liba.so.meta_lic",
|
||||||
"by_exception_only",
|
"by_exception_only",
|
||||||
"proprietary"),
|
"proprietary"),
|
||||||
|
matchResolution(
|
||||||
|
"testdata/proprietary/lib/liba.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/liba.so.meta_lic",
|
||||||
|
"testdata/proprietary/lib/libb.so.meta_lic",
|
||||||
|
"restricted"),
|
||||||
matchResolution(
|
matchResolution(
|
||||||
"testdata/proprietary/lib/libb.so.meta_lic",
|
"testdata/proprietary/lib/libb.so.meta_lic",
|
||||||
"testdata/proprietary/lib/libb.so.meta_lic",
|
"testdata/proprietary/lib/libb.so.meta_lic",
|
||||||
|
@@ -41,59 +41,7 @@ func ResolveBottomUpConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
// must be indexed for fast lookup
|
// must be indexed for fast lookup
|
||||||
lg.indexForward()
|
lg.indexForward()
|
||||||
|
|
||||||
rs = newResolutionSet()
|
rs = resolveBottomUp(lg, make(map[*TargetNode]actionSet) /* empty map; no prior resolves */)
|
||||||
|
|
||||||
// cmap contains an entry for every target that was previously walked as a pure aggregate only.
|
|
||||||
cmap := make(map[string]bool)
|
|
||||||
|
|
||||||
var walk func(f string, treatAsAggregate bool) actionSet
|
|
||||||
|
|
||||||
walk = func(f string, treatAsAggregate bool) actionSet {
|
|
||||||
target := lg.targets[f]
|
|
||||||
result := make(actionSet)
|
|
||||||
result[target] = newLicenseConditionSet()
|
|
||||||
result[target].add(target, target.proto.LicenseConditions...)
|
|
||||||
if preresolved, ok := rs.resolutions[target]; ok {
|
|
||||||
if treatAsAggregate {
|
|
||||||
result.addSet(preresolved)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
if _, asAggregate := cmap[f]; !asAggregate {
|
|
||||||
result.addSet(preresolved)
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
// previously walked in a pure aggregate context,
|
|
||||||
// needs to walk again in non-aggregate context
|
|
||||||
delete(cmap, f)
|
|
||||||
}
|
|
||||||
if treatAsAggregate {
|
|
||||||
cmap[f] = true
|
|
||||||
}
|
|
||||||
|
|
||||||
// add all the conditions from all the dependencies
|
|
||||||
for _, edge := range lg.index[f] {
|
|
||||||
// walk dependency to get its conditions
|
|
||||||
as := walk(edge.dependency, treatAsAggregate && lg.targets[edge.dependency].IsContainer())
|
|
||||||
|
|
||||||
// turn those into the conditions that apply to the target
|
|
||||||
as = depActionsApplicableToTarget(TargetEdge{lg, edge}, as, treatAsAggregate)
|
|
||||||
|
|
||||||
// add them to the result
|
|
||||||
result.addSet(as)
|
|
||||||
}
|
|
||||||
|
|
||||||
// record these conditions as applicable to the target
|
|
||||||
rs.addConditions(target, result)
|
|
||||||
rs.addSelf(target, result.byName(ImpliesRestricted))
|
|
||||||
|
|
||||||
// return this up the tree
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
// walk each of the roots
|
|
||||||
for _, r := range lg.rootFiles {
|
|
||||||
_ = walk(r, lg.targets[r].IsContainer())
|
|
||||||
}
|
|
||||||
|
|
||||||
// if not yet cached, save the result
|
// if not yet cached, save the result
|
||||||
lg.mu.Lock()
|
lg.mu.Lock()
|
||||||
@@ -137,31 +85,13 @@ func ResolveTopDownConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
// cmap contains the set of targets walked as pure aggregates. i.e. containers
|
// cmap contains the set of targets walked as pure aggregates. i.e. containers
|
||||||
cmap := make(map[*TargetNode]bool)
|
cmap := make(map[*TargetNode]bool)
|
||||||
|
|
||||||
path := make([]*dependencyEdge, 0, 32)
|
|
||||||
|
|
||||||
var walk func(fnode *TargetNode, cs *LicenseConditionSet, treatAsAggregate bool)
|
var walk func(fnode *TargetNode, cs *LicenseConditionSet, treatAsAggregate bool)
|
||||||
|
|
||||||
walk = func(fnode *TargetNode, cs *LicenseConditionSet, treatAsAggregate bool) {
|
walk = func(fnode *TargetNode, cs *LicenseConditionSet, treatAsAggregate bool) {
|
||||||
if !cs.IsEmpty() {
|
|
||||||
parentsAllAggregate := true
|
|
||||||
for _, e := range path {
|
|
||||||
target := lg.targets[e.target]
|
|
||||||
if _, ok := rmap[target]; !ok {
|
|
||||||
rmap[target] = make(actionSet)
|
|
||||||
}
|
|
||||||
rmap[target].add(fnode, cs)
|
|
||||||
if !target.IsContainer() {
|
|
||||||
parentsAllAggregate = false
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if parentsAllAggregate {
|
|
||||||
if _, ok := rmap[fnode]; !ok {
|
if _, ok := rmap[fnode]; !ok {
|
||||||
rmap[fnode] = make(actionSet)
|
rmap[fnode] = make(actionSet)
|
||||||
}
|
}
|
||||||
rmap[fnode].add(fnode, cs)
|
rmap[fnode].add(fnode, cs)
|
||||||
}
|
|
||||||
}
|
|
||||||
if treatAsAggregate {
|
if treatAsAggregate {
|
||||||
cmap[fnode] = true
|
cmap[fnode] = true
|
||||||
}
|
}
|
||||||
@@ -197,10 +127,8 @@ func ResolveTopDownConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
delete(cmap, dnode)
|
delete(cmap, dnode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
path = append(path, edge)
|
|
||||||
// add the conditions to the dependency
|
// add the conditions to the dependency
|
||||||
walk(dnode, dcs, treatAsAggregate && lg.targets[edge.dependency].IsContainer())
|
walk(dnode, dcs, treatAsAggregate && lg.targets[edge.dependency].IsContainer())
|
||||||
path = path[:len(path)-1]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,7 +144,6 @@ func ResolveTopDownConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
path = path[:0]
|
|
||||||
// add the conditions to the root and its transitive closure
|
// add the conditions to the root and its transitive closure
|
||||||
walk(rnode, newLicenseConditionSet(), lg.targets[r].IsContainer())
|
walk(rnode, newLicenseConditionSet(), lg.targets[r].IsContainer())
|
||||||
}
|
}
|
||||||
@@ -230,7 +157,8 @@ func ResolveTopDownConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rs = &ResolutionSet{rmap}
|
// propagate any new conditions back up the graph
|
||||||
|
rs = resolveBottomUp(lg, rmap)
|
||||||
|
|
||||||
// if not yet cached, save the result
|
// if not yet cached, save the result
|
||||||
lg.mu.Lock()
|
lg.mu.Lock()
|
||||||
@@ -244,3 +172,70 @@ func ResolveTopDownConditions(lg *LicenseGraph) *ResolutionSet {
|
|||||||
|
|
||||||
return rs
|
return rs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// resolveBottomUp implements a bottom-up resolve propagating conditions both
|
||||||
|
// from the graph, and from a `priors` map of resolutions.
|
||||||
|
func resolveBottomUp(lg *LicenseGraph, priors map[*TargetNode]actionSet) *ResolutionSet {
|
||||||
|
rs := newResolutionSet()
|
||||||
|
|
||||||
|
// cmap contains an entry for every target that was previously walked as a pure aggregate only.
|
||||||
|
cmap := make(map[string]bool)
|
||||||
|
|
||||||
|
var walk func(f string, treatAsAggregate bool) actionSet
|
||||||
|
|
||||||
|
walk = func(f string, treatAsAggregate bool) actionSet {
|
||||||
|
target := lg.targets[f]
|
||||||
|
result := make(actionSet)
|
||||||
|
result[target] = newLicenseConditionSet()
|
||||||
|
result[target].add(target, target.proto.LicenseConditions...)
|
||||||
|
if pas, ok := priors[target]; ok {
|
||||||
|
result.addSet(pas)
|
||||||
|
}
|
||||||
|
if preresolved, ok := rs.resolutions[target]; ok {
|
||||||
|
if treatAsAggregate {
|
||||||
|
result.addSet(preresolved)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
if _, asAggregate := cmap[f]; !asAggregate {
|
||||||
|
result.addSet(preresolved)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
// previously walked in a pure aggregate context,
|
||||||
|
// needs to walk again in non-aggregate context
|
||||||
|
delete(cmap, f)
|
||||||
|
}
|
||||||
|
if treatAsAggregate {
|
||||||
|
cmap[f] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
// add all the conditions from all the dependencies
|
||||||
|
for _, edge := range lg.index[f] {
|
||||||
|
// walk dependency to get its conditions
|
||||||
|
as := walk(edge.dependency, treatAsAggregate && lg.targets[edge.dependency].IsContainer())
|
||||||
|
|
||||||
|
// turn those into the conditions that apply to the target
|
||||||
|
as = depActionsApplicableToTarget(TargetEdge{lg, edge}, as, treatAsAggregate)
|
||||||
|
|
||||||
|
// add them to the result
|
||||||
|
result.addSet(as)
|
||||||
|
}
|
||||||
|
|
||||||
|
// record these conditions as applicable to the target
|
||||||
|
rs.addConditions(target, result)
|
||||||
|
if len(priors) == 0 {
|
||||||
|
// on the first bottom-up resolve, parents have their own sharing and notice needs
|
||||||
|
// on the later resolve, if priors is empty, there will be nothing new to add
|
||||||
|
rs.addSelf(target, result.byName(ImpliesRestricted))
|
||||||
|
}
|
||||||
|
|
||||||
|
// return this up the tree
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
// walk each of the roots
|
||||||
|
for _, r := range lg.rootFiles {
|
||||||
|
_ = walk(r, lg.targets[r].IsContainer())
|
||||||
|
}
|
||||||
|
|
||||||
|
return rs
|
||||||
|
}
|
||||||
|
@@ -434,6 +434,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -480,6 +481,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"},
|
{"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"},
|
||||||
{"mitBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
|
{"mplLib.meta_lic", "mplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mplLib.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"},
|
{"mplLib.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -512,6 +514,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -540,6 +543,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"},
|
{"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
|
{"mplLib.meta_lic", "mplLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mplLib.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"},
|
{"mplLib.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -573,6 +577,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
{"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
{"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -612,6 +617,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
{"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
{"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -687,6 +693,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -704,6 +711,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"dependentModule.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"dependentModule.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -735,6 +743,7 @@ func TestResolveTopDownConditions(t *testing.T) {
|
|||||||
{"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
{"dependentModule.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"dependentModule.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@@ -153,6 +153,7 @@ func TestResolveNotices(t *testing.T) {
|
|||||||
{"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"},
|
{"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"},
|
||||||
{"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
{"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
|
{"mitLib.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"},
|
||||||
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
{"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@@ -176,6 +176,7 @@ func TestResolveSourceSharing(t *testing.T) {
|
|||||||
expectedResolutions: []res{
|
expectedResolutions: []res{
|
||||||
{"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"},
|
{"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
{"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
{"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
|
{"apacheLib.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -218,6 +219,7 @@ func TestResolveSourceSharing(t *testing.T) {
|
|||||||
expectedResolutions: []res{
|
expectedResolutions: []res{
|
||||||
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
|
{"dependentModule.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -336,6 +336,7 @@ func TestWalkResolutionsForCondition(t *testing.T) {
|
|||||||
expectedResolutions: []res{
|
expectedResolutions: []res{
|
||||||
{"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"},
|
{"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
{"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
{"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
|
{"apacheLib.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -428,6 +429,7 @@ func TestWalkResolutionsForCondition(t *testing.T) {
|
|||||||
expectedResolutions: []res{
|
expectedResolutions: []res{
|
||||||
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
{"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
{"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
|
{"dependentModule.meta_lic", "dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "restricted"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user