-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
39 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,8 @@ | ||
import {getAppName, getRootDestinationFolder} from './utils' | ||
import {getRootDestinationFolder} from './utils' | ||
|
||
export function getAppBuildFolder(buildType?: string) { | ||
// todo add debug | ||
const appPath = `${getRootDestinationFolder()}/android/${buildType ? `${buildType}/` : ''}debug` | ||
export function getAppBuildFolder(flavorName?: string, release?: boolean) { | ||
const buildType = release ? 'release' : 'debug' | ||
|
||
const appPath = `${getRootDestinationFolder()}/android/${flavorName ? `${flavorName}/` : ''}${buildType}` | ||
return appPath | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,49 +1,47 @@ | ||
import {Args, Command, Flags} from '@oclif/core' | ||
import {Command, Flags} from '@oclif/core' | ||
import {buildIos} from '../application/buildIos' | ||
import {buildAndroid} from '../application/buildAndroid' | ||
import {getAppName} from '../application/utils' | ||
import {iosBuildPlatforms} from '../application/iosUtils' | ||
import logger from '../application/logger' | ||
|
||
export default class Build extends Command { | ||
static description = 'Create native builds for android and ios' | ||
|
||
static examples = [ | ||
'<%= config.bin %> <%= command.id %> -i -f=dev', | ||
'<%= config.bin %> <%= command.id %> -a -f=prod', | ||
'<%= config.bin %> <%= command.id %> -all', | ||
'<%= config.bin %> <%= command.id %> -a -f=prod --release', | ||
'<%= config.bin %> <%= command.id %> -a --release', | ||
'<%= config.bin %> <%= command.id %> -a --incremental', | ||
] | ||
|
||
static flags = { | ||
ios: Flags.boolean({char: 'i', description: 'Generate ios native build'}), | ||
android: Flags.boolean({char: 'a', description: 'Generate android native build'}), | ||
all: Flags.boolean({description: 'Generate both ios and android native build'}), | ||
flavor: Flags.string({char: 'f', description: 'Specify flavor to build'}), | ||
release: Flags.boolean({description: 'Optimized release build'}), | ||
incremental: Flags.boolean({char: 'I', description: 'Incremental build', default: false}), | ||
} | ||
|
||
static args = { | ||
file: Args.string({description: 'file to read'}), | ||
} | ||
|
||
public async run(): Promise<void> { | ||
const {args, flags} = await this.parse(Build) | ||
const {flags} = await this.parse(Build) | ||
|
||
const shouldBuildAndroid = flags.android ?? flags.all | ||
const shouldBuildIos = flags.ios ?? flags.all | ||
const shouldBuildAndroid = flags.android; | ||
const shouldBuildIos = flags.ios; | ||
const buildFlavor = flags.flavor | ||
const release = flags.release; | ||
const incremental = flags.incremental; | ||
|
||
this.log('Build app', getAppName()) | ||
const start = performance.now(); | ||
|
||
if (shouldBuildIos) { | ||
this.log('Build ios') | ||
logger.info('Building ios app') | ||
buildIos(buildFlavor, iosBuildPlatforms.simulator) | ||
} | ||
if (shouldBuildAndroid) { | ||
this.log('Building android') | ||
// build release and debug? | ||
await buildAndroid(buildFlavor, flags.incremental) | ||
logger.info('Building android') | ||
await buildAndroid(buildFlavor, incremental, release) | ||
} | ||
this.log('Build finished in', (performance.now() - start) / 1000, 'seconds'); | ||
logger.info(`Build finished in ${(performance.now() - start) / 1000} seconds`); | ||
} | ||
} |