@react-native-community/cli-platform-android
Advanced tools
Comparing version 12.0.0-alpha.8 to 12.0.0-alpha.9
import { Config } from '@react-native-community/cli-types'; | ||
export interface BuildFlags { | ||
mode?: string; | ||
variant?: string; | ||
activeArchOnly?: boolean; | ||
packager?: boolean; | ||
port: number; | ||
terminal: string; | ||
tasks?: Array<string>; | ||
@@ -13,3 +9,2 @@ extraParams?: Array<string>; | ||
} | ||
export declare function runPackager(args: BuildFlags, config: Config): Promise<void>; | ||
declare function buildAndroid(_argv: Array<string>, config: Config, args: BuildFlags): Promise<void>; | ||
@@ -20,17 +15,7 @@ export declare function build(gradleArgs: string[], sourceDir: string): void; | ||
description: string; | ||
parse?: undefined; | ||
default?: undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: string | undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
@@ -51,17 +36,7 @@ default?: undefined; | ||
description: string; | ||
parse?: undefined; | ||
default?: undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: string | undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
@@ -68,0 +43,0 @@ default?: undefined; |
@@ -8,3 +8,2 @@ "use strict"; | ||
exports.options = exports.default = void 0; | ||
exports.runPackager = runPackager; | ||
function _cliTools() { | ||
@@ -27,38 +26,7 @@ const data = require("@react-native-community/cli-tools"); | ||
var _getAdbPath = _interopRequireDefault(require("../runAndroid/getAdbPath")); | ||
function _cliPluginMetro() { | ||
const data = require("@react-native-community/cli-plugin-metro"); | ||
_cliPluginMetro = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
var _getTaskNames = require("../runAndroid/getTaskNames"); | ||
var _listAndroidTasks = require("../runAndroid/listAndroidTasks"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
async function runPackager(args, config) { | ||
if (!args.packager) { | ||
return; | ||
} | ||
const result = await (0, _cliTools().isPackagerRunning)(args.port); | ||
if (result === 'running') { | ||
_cliTools().logger.info('JS server already running.'); | ||
} else if (result === 'unrecognized') { | ||
_cliTools().logger.warn('JS server not recognized, continuing with build...'); | ||
} else { | ||
// result == 'not_running' | ||
_cliTools().logger.info('Starting JS server...'); | ||
try { | ||
(0, _cliPluginMetro().startServerInNewWindow)(args.port, args.terminal, config.root, config.reactNativePath); | ||
} catch (error) { | ||
if (error instanceof Error) { | ||
_cliTools().logger.warn(`Failed to automatically start the packager server. Please run "react-native start" manually. Error details: ${error.message}`); | ||
} | ||
} | ||
} | ||
} | ||
async function buildAndroid(_argv, config, args) { | ||
const androidProject = (0, _getAndroidProject.getAndroidProject)(config); | ||
if (args.variant) { | ||
_cliTools().logger.warn('"variant" flag is deprecated and will be removed in future release. Please switch to "mode" flag.'); | ||
} | ||
if (args.tasks && args.mode) { | ||
@@ -76,3 +44,3 @@ _cliTools().logger.warn('Both "tasks" and "mode" parameters were passed to "build" command. Using "tasks" for building the app.'); | ||
} | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode || args.variant, tasks, 'bundle', androidProject.sourceDir); | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode, tasks, 'bundle', androidProject.sourceDir); | ||
if (args.extraParams) { | ||
@@ -89,3 +57,3 @@ gradleArgs.push(...args.extraParams); | ||
_cliTools().logger.info(`Detected architectures ${architectures.join(', ')}`); | ||
// `reactNativeDebugArchitectures` was renamed to `reactNativeArchitectures` in 0.68. | ||
// `reactNativeDebugArchitectures` was renamed to `reactNativeArchitectures` in 0.68. | ||
// Can be removed when 0.67 no longer needs to be supported. | ||
@@ -96,3 +64,2 @@ gradleArgs.push('-PreactNativeDebugArchitectures=' + architectures.join(',')); | ||
} | ||
await runPackager(args, config); | ||
return build(gradleArgs, androidProject.sourceDir); | ||
@@ -119,16 +86,2 @@ } | ||
}, { | ||
name: '--variant <string>', | ||
description: "Specify your app's build variant. Deprecated! Use 'mode' instead" | ||
}, { | ||
name: '--no-packager', | ||
description: 'Do not launch packager while building' | ||
}, { | ||
name: '--port <number>', | ||
default: process.env.RCT_METRO_PORT || 8081, | ||
parse: Number | ||
}, { | ||
name: '--terminal <string>', | ||
description: 'Launches the Metro Bundler in a new window using the specified terminal path.', | ||
default: (0, _cliTools().getDefaultUserTerminal)() | ||
}, { | ||
name: '--tasks <list>', | ||
@@ -135,0 +88,0 @@ description: 'Run custom Gradle tasks. By default it\'s "assembleDebug". Will override passed mode and variant arguments.', |
@@ -12,23 +12,23 @@ declare const _default: ({ | ||
description: string; | ||
parse?: undefined; | ||
default?: undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
default?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: string | undefined; | ||
default: boolean; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
default?: undefined; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: boolean; | ||
default: string | undefined; | ||
parse?: undefined; | ||
@@ -39,2 +39,3 @@ } | { | ||
parse: NumberConstructor; | ||
default?: undefined; | ||
})[]; | ||
@@ -41,0 +42,0 @@ })[]; |
@@ -11,2 +11,5 @@ import { Config } from '@react-native-community/cli-types'; | ||
mainActivity: string; | ||
port: number; | ||
terminal?: string; | ||
packager?: boolean; | ||
deviceId?: string; | ||
@@ -29,23 +32,23 @@ listDevices?: boolean; | ||
description: string; | ||
parse?: undefined; | ||
default?: undefined; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
default?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: string | undefined; | ||
default: boolean; | ||
parse?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
parse: (val: string) => string[]; | ||
default?: undefined; | ||
default: string | number; | ||
parse: NumberConstructor; | ||
description?: undefined; | ||
} | { | ||
name: string; | ||
description: string; | ||
default: boolean; | ||
default: string | undefined; | ||
parse?: undefined; | ||
@@ -56,2 +59,3 @@ } | { | ||
parse: NumberConstructor; | ||
default?: undefined; | ||
})[]; | ||
@@ -58,0 +62,0 @@ }; |
@@ -86,2 +86,22 @@ "use strict"; | ||
_cliTools().link.setPlatform('android'); | ||
let { | ||
packager, | ||
port | ||
} = args; | ||
const packagerStatus = await (0, _cliTools().isPackagerRunning)(port); | ||
if (typeof packagerStatus === 'object' && packagerStatus.status === 'running') { | ||
if (packagerStatus.root === config.root) { | ||
packager = false; | ||
(0, _cliTools().logAlreadyRunningBundler)(port); | ||
} else { | ||
const result = await (0, _cliTools().handlePortUnavailable)(port, config.root, packager); | ||
[port, packager] = [result.port, result.packager]; | ||
} | ||
} else if (packagerStatus === 'unrecognized') { | ||
const result = await (0, _cliTools().handlePortUnavailable)(port, config.root, packager); | ||
[port, packager] = [result.port, result.packager]; | ||
} | ||
if (packager) { | ||
await (0, _cliTools().startServerInNewWindow)(port, config.root, config.reactNativePath, args.terminal); | ||
} | ||
if (config.reactNativeVersion !== 'unknown') { | ||
@@ -100,3 +120,2 @@ _cliTools().link.setVersion(config.reactNativeVersion); | ||
const androidProject = (0, _getAndroidProject.getAndroidProject)(config); | ||
await (0, _buildAndroid.runPackager)(args, config); | ||
return buildAndRun(args, androidProject); | ||
@@ -186,3 +205,3 @@ } | ||
if (devices.indexOf(deviceId) !== -1) { | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode || args.variant, args.tasks ?? buildTask, 'install', androidProject.sourceDir); | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode, args.tasks ?? buildTask, 'install', androidProject.sourceDir); | ||
@@ -228,2 +247,13 @@ // using '-x lint' in order to ignore linting errors while building the apk | ||
options: [..._buildAndroid.options, { | ||
name: '--no-packager', | ||
description: 'Do not launch packager while running the app' | ||
}, { | ||
name: '--port <number>', | ||
default: process.env.RCT_METRO_PORT || 8081, | ||
parse: Number | ||
}, { | ||
name: '--terminal <string>', | ||
description: 'Launches the Metro Bundler in a new window using the specified terminal path.', | ||
default: (0, _cliTools().getDefaultUserTerminal)() | ||
}, { | ||
name: '--appId <string>', | ||
@@ -230,0 +260,0 @@ description: 'Specify an applicationId to launch after build. If not specified, `package` from AndroidManifest.xml will be used.', |
@@ -56,8 +56,5 @@ "use strict"; | ||
} | ||
if (args.variant) { | ||
_cliTools().logger.warn('"variant" flag is deprecated and will be removed in future release. Please switch to "mode" flag.'); | ||
} | ||
try { | ||
if (!args.binaryPath) { | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode || args.variant, args.tasks, 'install', androidProject.sourceDir); | ||
let gradleArgs = (0, _getTaskNames.getTaskNames)(androidProject.appName, args.mode, args.tasks, 'install', androidProject.sourceDir); | ||
if (args.extraParams) { | ||
@@ -64,0 +61,0 @@ gradleArgs.push(...args.extraParams); |
{ | ||
"name": "@react-native-community/cli-platform-android", | ||
"version": "12.0.0-alpha.8", | ||
"version": "12.0.0-alpha.9", | ||
"license": "MIT", | ||
@@ -10,3 +10,3 @@ "main": "build/index.js", | ||
"dependencies": { | ||
"@react-native-community/cli-tools": "12.0.0-alpha.8", | ||
"@react-native-community/cli-tools": "12.0.0-alpha.9", | ||
"chalk": "^4.1.2", | ||
@@ -24,4 +24,3 @@ "execa": "^5.0.0", | ||
"devDependencies": { | ||
"@react-native-community/cli-plugin-metro": "12.0.0-alpha.8", | ||
"@react-native-community/cli-types": "12.0.0-alpha.8", | ||
"@react-native-community/cli-types": "12.0.0-alpha.9", | ||
"@types/fs-extra": "^8.1.0", | ||
@@ -36,3 +35,3 @@ "@types/glob": "^7.1.1" | ||
}, | ||
"gitHead": "3d3616ed5149318984e33a2a5fb2d80744b6bd3a" | ||
"gitHead": "f621ae435259b66f1c02fe0ff480fd6bbdaad4b4" | ||
} |
@@ -25,24 +25,2 @@ # @react-native-community/cli-platform-android | ||
#### `--root <string>` | ||
> **DEPRECATED** – root is discovered automatically | ||
Override the root directory for the Android build (which contains the android directory)'. | ||
#### `--variant <string>` | ||
> **DEPRECATED** – use "mode" instead | ||
> default: 'debug' | ||
Specify your app's build variant. | ||
#### `--appFolder <string>` | ||
> **DEPRECATED** – use "project.android.appName" in react-native.config.js | ||
> default: 'app' | ||
Specify a different application folder name for the Android source. If not, we assume is "app". | ||
#### `--appId <string>` | ||
@@ -133,2 +111,3 @@ | ||
Id of the User Profile you want to install the app on. | ||
### `log-android` | ||
@@ -135,0 +114,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3
220420
2284
120
+ Added@react-native-community/cli-tools@12.0.0-alpha.9(transitive)
- Removed@react-native-community/cli-tools@12.0.0-alpha.8(transitive)