xref: /expo/tools/src/versioning/android/libraries.ts (revision af644ed4)
1import fs from 'fs-extra';
2import path from 'path';
3
4import { getExpotoolsDir } from '../../Directories';
5
6export const JniLibNames = [
7  'libfb',
8  'libfolly_json',
9  'libglog_init',
10  'glog',
11  'reactnativejni',
12  'reactnativejnifb',
13  'csslayout',
14  'yoga',
15  'fbgloginit',
16  'yogajni',
17  'jschelpers',
18  'packagerconnectionjnifb',
19  'privatedata',
20  'yogafastmath',
21  'fabricjscjni',
22  'jscexecutor',
23  'libjscexecutor',
24  'jsinspector',
25  'libjsinspector',
26  'fabricjni',
27  'turbomodulejsijni',
28  'reactnativeblob',
29  'jsijniprofiler',
30  'hermes',
31  'hermes-executor-release',
32  'hermes-executor-common-release',
33  'hermes-executor-debug',
34  'hermes-executor-common-debug',
35  'reanimated',
36  'hermes-inspector',
37  'folly_futures',
38  'react_codegen_rncore',
39  'react_nativemodule_core',
40  'reactnativeutilsjni',
41  'reactperfloggerjni',
42  'butter',
43  'jsi',
44  'logger',
45  'mapbufferjni',
46  'react_debug',
47  'react_render_animations',
48  'react_render_attributedstring',
49  'react_render_componentregistry',
50  'react_render_core',
51  'react_render_debug',
52  'react_render_graphics',
53  'react_render_imagemanager',
54  'react_render_leakchecker',
55  'react_render_mapbuffer',
56  'react_render_mounting',
57  'react_render_runtimescheduler',
58  'react_render_scheduler',
59  'react_render_telemetry',
60  'react_render_templateprocessor',
61  'react_render_textlayoutmanager',
62  'react_render_uimanager',
63  'react_utils',
64  'react_config',
65  'rrc_image',
66  'rrc_modal',
67  'rrc_progressbar',
68  'rrc_root',
69  'rrc_scrollview',
70  'rrc_slider',
71  'rrc_switch',
72  'rrc_text',
73  'rrc_textinput',
74  'rrc_unimplementedview',
75  'rrc_view',
76  'runtimeexecutor',
77
78  // TODO: considering versioning prebuilt fbjni by patchelf after RN 0.65 which has newer fbjni version.
79  // or simply upgrade old SDK to use latest fbjni.
80  //
81  // 'fbjni',
82  // 'libfbjni',
83];
84
85// this list is used in the shell scripts as well as directly by expotools
86// we read it in here to keep the source of truth in one place
87export const getJavaPackagesToRename = async () => {
88  const packagesToRename = await fs.readFile(
89    path.join(getExpotoolsDir(), 'src/versioning/android/android-packages-to-rename.txt'),
90    'utf8'
91  );
92  return packagesToRename.split('\n').filter((p: string) => !!p);
93};
94