Files
react-native/packages/react-native/scripts/featureflags/generateAndroidModules.js
T
Jorge Cabiedes Acosta 19c18eb995 Add prerelease staging API for Android (#49649)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49649

- Added a new template to React Native's Feature Flag's script for Canary and Experimental prerelease stages
- Added a parameter to `DefaultNewArchitectureEntryPoint.kt` to select prerelease stage

Changelog: [Android] [Added] - On `DefaultNewArchitectureEntryPoint` class add property to specify the desired release level for an application

Reviewed By: rubennorte, mdvacca

Differential Revision: D69412971

fbshipit-source-id: 1a76ac723e1e06b40aad5910604e0384b208d3a5
2025-02-27 12:38:03 -08:00

59 lines
3.0 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
* @format
*/
import type {GeneratorConfig, GeneratorResult} from './types';
import JReactNativeFeatureFlagsCxxInteropCPP from './templates/android/JReactNativeFeatureFlagsCxxInterop.cpp-template';
import JReactNativeFeatureFlagsCxxInteropH from './templates/android/JReactNativeFeatureFlagsCxxInterop.h-template';
import ReactNativeFeatureFlagsKt from './templates/android/ReactNativeFeatureFlags.kt-template';
import ReactNativeFeatureFlagsCxxAccessorKt from './templates/android/ReactNativeFeatureFlagsCxxAccessor.kt-template';
import ReactNativeFeatureFlagsCxxInteropKt from './templates/android/ReactNativeFeatureFlagsCxxInterop.kt-template';
import ReactNativeFeatureFlagsDefaultsKt from './templates/android/ReactNativeFeatureFlagsDefaults.kt-template';
import ReactNativeFeatureFlagsLocalAccessorKt from './templates/android/ReactNativeFeatureFlagsLocalAccessor.kt-template';
import ReactNativeFeatureFlagsOverrides from './templates/android/ReactNativeFeatureFlagsOverrides_RNOSS__Stage__Android.kt-template.js';
import ReactNativeFeatureFlagsProviderKt from './templates/android/ReactNativeFeatureFlagsProvider.kt-template';
import path from 'path';
export default function generateAndroidModules(
generatorConfig: GeneratorConfig,
): GeneratorResult {
const {androidPath, androidJniPath, featureFlagDefinitions} = generatorConfig;
return {
[path.join(androidPath, 'ReactNativeFeatureFlags.kt')]:
ReactNativeFeatureFlagsKt(featureFlagDefinitions),
[path.join(androidPath, 'ReactNativeFeatureFlagsCxxAccessor.kt')]:
ReactNativeFeatureFlagsCxxAccessorKt(featureFlagDefinitions),
[path.join(androidPath, 'ReactNativeFeatureFlagsLocalAccessor.kt')]:
ReactNativeFeatureFlagsLocalAccessorKt(featureFlagDefinitions),
[path.join(androidPath, 'ReactNativeFeatureFlagsCxxInterop.kt')]:
ReactNativeFeatureFlagsCxxInteropKt(featureFlagDefinitions),
[path.join(androidPath, 'ReactNativeFeatureFlagsDefaults.kt')]:
ReactNativeFeatureFlagsDefaultsKt(featureFlagDefinitions),
[path.join(
androidPath,
'ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt',
)]: ReactNativeFeatureFlagsOverrides(
featureFlagDefinitions,
'experimental',
),
[path.join(
androidPath,
'ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt',
)]: ReactNativeFeatureFlagsOverrides(featureFlagDefinitions, 'canary'),
[path.join(androidPath, 'ReactNativeFeatureFlagsProvider.kt')]:
ReactNativeFeatureFlagsProviderKt(featureFlagDefinitions),
[path.join(androidJniPath, 'JReactNativeFeatureFlagsCxxInterop.h')]:
JReactNativeFeatureFlagsCxxInteropH(featureFlagDefinitions),
[path.join(androidJniPath, 'JReactNativeFeatureFlagsCxxInterop.cpp')]:
JReactNativeFeatureFlagsCxxInteropCPP(featureFlagDefinitions),
};
}