xref: /aosp_15_r20/external/angle/build/3pp_common/README.md (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# 3pp_common
2*8975f5c5SAndroid Build Coastguard Worker
3*8975f5c5SAndroid Build Coastguard WorkerContains helper scripts for chromium 3pp configs.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard Worker## Usage
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard WorkerMost scripts assume the following `3pp.pb` format, which does as little as
8*8975f5c5SAndroid Build Coastguard Workerpossible in the recipes so that scripts can be tested locally.
9*8975f5c5SAndroid Build Coastguard Worker
10*8975f5c5SAndroid Build Coastguard Worker```
11*8975f5c5SAndroid Build Coastguard Workercreate {
12*8975f5c5SAndroid Build Coastguard Worker  source {
13*8975f5c5SAndroid Build Coastguard Worker    script {
14*8975f5c5SAndroid Build Coastguard Worker      name: "3pp.py"
15*8975f5c5SAndroid Build Coastguard Worker      use_fetch_checkout_workflow: true
16*8975f5c5SAndroid Build Coastguard Worker    }
17*8975f5c5SAndroid Build Coastguard Worker  }
18*8975f5c5SAndroid Build Coastguard Worker
19*8975f5c5SAndroid Build Coastguard Worker  build {
20*8975f5c5SAndroid Build Coastguard Worker    install: ["3pp.py", "install"]
21*8975f5c5SAndroid Build Coastguard Worker    # Any 3pp packages here are added to PATH by recipes.
22*8975f5c5SAndroid Build Coastguard Worker    # For local testing, they must already exist on your PATH.
23*8975f5c5SAndroid Build Coastguard Worker    tool: "chromium/third_party/maven"
24*8975f5c5SAndroid Build Coastguard Worker  }
25*8975f5c5SAndroid Build Coastguard Worker}
26*8975f5c5SAndroid Build Coastguard Worker
27*8975f5c5SAndroid Build Coastguard Workerupload {
28*8975f5c5SAndroid Build Coastguard Worker  # Assuming 3pp.pb is in //third_party/foo/bar/3pp/3pp.pb
29*8975f5c5SAndroid Build Coastguard Worker  pkg_prefix: "chromium/third_party/foo"
30*8975f5c5SAndroid Build Coastguard Worker  universal: true
31*8975f5c5SAndroid Build Coastguard Worker}
32*8975f5c5SAndroid Build Coastguard Worker```
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard WorkerFlow for local testing:
35*8975f5c5SAndroid Build Coastguard Worker
36*8975f5c5SAndroid Build Coastguard Worker```
37*8975f5c5SAndroid Build Coastguard Worker# Install any tools needed (that are listed as "tools" in 3pp.pb")
38*8975f5c5SAndroid Build Coastguard Worker$ sudo apt-get install maven
39*8975f5c5SAndroid Build Coastguard Worker
40*8975f5c5SAndroid Build Coastguard Worker# Tests all three commands.
41*8975f5c5SAndroid Build Coastguard Worker$ 3pp/3pp.py local-test
42*8975f5c5SAndroid Build Coastguard Worker```
43*8975f5c5SAndroid Build Coastguard Worker
44*8975f5c5SAndroid Build Coastguard WorkerTo test individual steps:
45*8975f5c5SAndroid Build Coastguard Worker```
46*8975f5c5SAndroid Build Coastguard Worker$ 3pp/3pp.py latest
47*8975f5c5SAndroid Build Coastguard Workersomeversion.somehash
48*8975f5c5SAndroid Build Coastguard Worker
49*8975f5c5SAndroid Build Coastguard Worker$ 3pp/3pp.py checkout /tmp/foo --version someversion.somehash
50*8975f5c5SAndroid Build Coastguard Worker
51*8975f5c5SAndroid Build Coastguard Worker$ 3pp/3pp.py install out unused_dep_dir --version someversion.somehash --checkout-dir /tmp/foo
52*8975f5c5SAndroid Build Coastguard Worker```
53*8975f5c5SAndroid Build Coastguard Worker
54*8975f5c5SAndroid Build Coastguard Worker## References
55*8975f5c5SAndroid Build Coastguard Worker
56*8975f5c5SAndroid Build Coastguard Worker* [`//docs/docs/cipd_and_3pp.md`](/docs/cipd_and_3pp.md)
57*8975f5c5SAndroid Build Coastguard Worker* [`//build/recipes/recipe_modules/chromium_3pp/api.py`]https://source.chromium.org/chromium/infra/infra_superproject/+/main:build/recipes/recipe_modules/chromium_3pp/api.py)
58