UNPKG

newrelic-react-native-agent

Version:

A New Relic Mobile Agent for React Native

37 lines (32 loc) 1.16 kB
/** * Copyright (c) 2022-present New Relic Corporation. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ import { ConfigPlugin, WarningAggregator, withProjectBuildGradle } from '@expo/config-plugins'; import { newrelicClassPath, newrelicAndroidVersion } from './constants'; /** * Update `<project>/build.gradle` by adding NewRelic dependency to buildscript */ export const withBuildscriptDependency: ConfigPlugin = config => { return withProjectBuildGradle(config, config => { if (config.modResults.language === 'groovy') { config.modResults.contents = setBuildscriptDependency(config.modResults.contents); } else { WarningAggregator.addWarningAndroid( 'newrelic-react-native-agent', `Cannot automatically configure project build.gradle if it's not groovy`, ); } return config; }); }; export function setBuildscriptDependency(buildGradle: string) { if (!buildGradle.includes(newrelicClassPath)) { return buildGradle.replace( /dependencies\s?{/, `dependencies { classpath '${newrelicClassPath}:${newrelicAndroidVersion}'`, ); } return buildGradle; }