Skip to content

Commit

Permalink
feat: make flavor config optional for ios
Browse files Browse the repository at this point in the history
  • Loading branch information
rams23 committed Feb 28, 2023
1 parent 0c2a3c2 commit fe29a77
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 18 deletions.
3 changes: 2 additions & 1 deletion src/application/androidUtils.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import {getAppName, getRootDestinationFolder} from './utils'

export function getAppBuildFolder(buildType?: string) {
console.log('getAppBuildFolder', buildType);
// todo add debug
const appPath = `${getRootDestinationFolder()}/android/${buildType?`${buildType}/`:''}debug`
const appPath = `${getRootDestinationFolder()}/android/${buildType ? `${buildType}/` : ''}debug`
return appPath
}
4 changes: 2 additions & 2 deletions src/application/buildAndroid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ export function buildAndroid(buildType?: string) {

const gradleBuildTask = (gradleFlavor && gradleFlavor !== 'debug') ? `install${capitalize(gradleFlavor)}Debug` : 'installDebug'

/* executeCommand(`${androidFolder}/gradlew \
executeCommand(`${androidFolder}/gradlew \
-Duser.dir=${androidFolder} \
app:${gradleBuildTask} \
`, {stdio: 'inherit'}) */
`, {stdio: 'inherit'})

const destinationDir = getAppBuildFolder(buildType)
executeCommand(`rm -rf ${destinationDir} && mkdir -p ${destinationDir}`)
Expand Down
5 changes: 3 additions & 2 deletions src/application/buildIos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,9 @@ function _buildIos(buildType: string, platformName: keyof typeof iosBuildPlatfor
executeCommand(buildCommand)

if (platform.buildCmd === 'build') {
const source = `${iosFolder}/DerivedData/${appName}/build/Products/${buildFlavor.flavorDir}-${platform.name}/${appName}.${platform.ext}`
const {destinationDir, destination} = getIosBuildDestination(platform, buildType);
// todo handle Debug/release
const source = `${iosFolder}/DerivedData/${appName}/build/Products/Debug-${platform.name}/${appName}.${platform.ext}`
const {destinationDir, destination} = getIosBuildDestination(platform, buildFlavor.flavorDir);

executeCommand(`mkdir -p ${destinationDir}`)
executeCommand(`rm -rf ${destination}`)
Expand Down
19 changes: 13 additions & 6 deletions src/application/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,27 @@ export function loadConfig() {

const config = loadConfig()

export function getIosFlavors(flavorName: string) {
export function getIosFlavors(flavorName?: string) {
if (!flavorName) {
return {
scheme: getAppName(),
config: 'Debug',
flavorDir: getAppName(),
}
}
return config.ios.flavors[flavorName]
}

export function getAndroidFlavors(flavorName?: string) {
if(!flavorName){
if (!flavorName) {
return {
gradleFlavor: flavorName,
}
}
const flavorConfig = config?.android?.flavors?.[flavorName];
if(flavorConfig){
return flavorConfig;
}else {
const flavorConfig = config?.android?.flavors?.[flavorName]
if (flavorConfig) {
return flavorConfig
} else {
return {
gradleFlavor: flavorName,
}
Expand Down
3 changes: 2 additions & 1 deletion src/application/iosUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ export const iosBuildPlatforms = {


export function getIosBuildDestination(platform: { ext: string; buildCmd: string; name: string }, buildType: string) {
const destinationDir = `${getRootDestinationFolder()}/ios/${platform.name}/${buildType}`
// todo handle Debug/release
const destinationDir = `${getRootDestinationFolder()}/ios/${platform.name}-Debug/${buildType}`
const destination = `${destinationDir}/${getAppName()}.${platform.ext}`
return {destinationDir, destination}
}
1 change: 0 additions & 1 deletion src/application/runAndroid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ function installApp(device: string, engineDir: string, buildType?: string) {
const appDir = getAppBuildFolder(buildType)

const cpu = adb.getCPU(getAdbPath(), device)
console.debug('cpus', cpu)

const apkPath = findBestApkInFolder(appDir, cpu || undefined)

Expand Down
13 changes: 8 additions & 5 deletions src/application/runIos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ import childProcess, {execFileSync} from 'child_process'
import fs from 'fs'
import prompts from 'prompts'
import chalk from 'chalk'
import {executeCommand, getProjectRootDir} from './utils'
import {executeCommand, getAppName, getProjectRootDir} from './utils'
import {buildIos} from './buildIos'
import {getIosBuildDestination, iosBuildPlatforms} from './iosUtils'
import path from 'path'
import {getIosFlavors} from './config'

// todo default app name improve passing from command line

Expand Down Expand Up @@ -79,10 +80,12 @@ async function promptForDeviceSelection(allDevices: Device[]): Promise<Device[]>
return devices
}

export async function runApp(buildType: string) {
export async function runApp(buildType?: string) {

const buildFlavor = getIosFlavors(buildType)

// todo run on phisical devices
if (!checkBuildPresent(getProjectRootDir(), buildType, iosBuildPlatforms.simulator)) {
if (!checkBuildPresent(getProjectRootDir(), buildFlavor.scheme, iosBuildPlatforms.simulator)) {
buildIos(buildType as any, 'simulator')
}

Expand Down Expand Up @@ -119,7 +122,7 @@ export async function runApp(buildType: string) {

const {destination} = getIosBuildDestination(
iosBuildPlatforms.simulator,
buildType,
buildFlavor.scheme,
)

const bundleID = execFileSync('/usr/libexec/PlistBuddy', ['-c', 'Print:CFBundleIdentifier', path.join(destination, 'Info.plist')], {
Expand All @@ -128,7 +131,7 @@ export async function runApp(buildType: string) {

for (const device of devicesToRun) {
const id = device.udid
installApp(id, getProjectRootDir(), buildType, iosBuildPlatforms.simulator)
installApp(id, getProjectRootDir(), buildFlavor.scheme, iosBuildPlatforms.simulator)
launchApp(id, bundleID);
}

Expand Down

0 comments on commit fe29a77

Please sign in to comment.