Files
build/tools/compliance/cmd/testdata/regressgpl2/README.md
Bob Badour 00bf3d9b29 Regression testcase for shipped vs nonshipped.
Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all
Test: m systemlicense
Test: m listshare; out/soong/host/linux-x86/bin/listshare ...
Test: m checkshare; out/soong/host/linux-x86/bin/checkshare ...
Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ...
Test: m dumpresolutions; out/soong/host/linux-x86/dumpresolutions ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: I17221ec8fe429b5f745c0733f8bb1ab0ea2f4567
2022-01-11 16:38:55 -08:00

1.2 KiB

Libraries shipped inside container with restricted license

Testdata build graph structure:

A restricted licensed library sandwiched between a notice library and a notice binary. The source-code for the libraries needs to be shared when shipped as part of the container with the binaries.

strict digraph {
	rankdir=LR;
	bin1 [label="bin/bin1.meta_lic\nnotice"];
	bin2 [label="bin/bin2.meta_lic\nnotice"];
	bin3 [label="bin/bin3.meta_lic\nnotice"];
	container [label="container.zip.meta_lic\nnotice"];
	libapache [label="lib/libapache.so.meta_lic\nnotice"];
	libcxx [label="lib/libc++.so.meta_lic\nnotice"];
	libgpl [label="lib/libgpl.so.meta_lic\nrestricted"];
	container -> bin1[label="static"];
	container -> bin2 [label="static"];
	container -> bin3 [label="static"];
	container -> libapache [label="static"];
	container -> libcxx [label="static"];
	container -> libgpl [label="static"];
	bin1 -> libcxx [label="dynamic"];
	bin2 -> libapache [label="dynamic"];
	bin2 -> libcxx [label="dynamic"];
	bin3 -> libapache [label="dynamic"];
	bin3 -> libcxx [label="dynamic"];
	bin3 -> libgpl [label="dynamic"];
	libapache -> libcxx [label="dynamic"];
	libgpl -> libcxx [label="dynamic"];
	{rank=same; container}
}