Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion packages/core/src/shared/sam/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
} from './utils'
import { getConfigFileUri, validateSamBuildConfig } from './config'
import { runInTerminal } from './processTerminal'
import { getLogger } from '../logger'

const buildMementoRootKey = 'samcli.build.params'
export interface BuildParams {
Expand Down Expand Up @@ -213,7 +214,7 @@ export async function runBuild(arg?: TreeNode): Promise<SamBuildResult> {
// refactor
const buildFlags: string[] =
params.paramsSource === ParamsSource.Specify && params.buildFlags
? JSON.parse(params.buildFlags)
? resolveBuildFlags(JSON.parse(params.buildFlags))
: await getBuildFlags(params.paramsSource, projectRoot, defaultFlags)

// todo remove
Expand Down Expand Up @@ -281,3 +282,9 @@ function resolveBuildArgConflict(boundArgs: string[]): string[] {
// }
return Array.from(boundArgsSet)
}
export function resolveBuildFlags(buildFlags: string[]): string[] {
if (!buildFlags.includes('--use-container')) {
buildFlags.push('--no-use-container')
}
return buildFlags
}
9 changes: 9 additions & 0 deletions packages/core/src/test/shared/sam/build.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
createParamsSourcePrompter,
getBuildFlags,
ParamsSource,
resolveBuildFlags,
runBuild,
} from '../../../shared/sam/build'
import { TreeNode } from '../../../shared/treeview/resourceTreeDataProvider'
Expand Down Expand Up @@ -229,6 +230,14 @@ describe('SAM build helper functions', () => {
assert.deepStrictEqual(quickPick.items, expectedItems)
})
})

describe('resolveBuildFlags', () => {
it('should add --no-use-container if the buildFlags array does not contain --use-container', () => {
const buildFlags: string[] = ['--cached', '--debug', '--parallel']
const resolvedBuildFlags = ['--cached', '--debug', '--parallel', '--no-use-container']
assert.deepStrictEqual(resolvedBuildFlags, resolveBuildFlags(buildFlags))
})
})
})

describe('SAM runBuild', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "Bug Fix",
"description": "appBuilder: pass '--no-use-container' when '--use-container' is not selected in quickpick"
}
Loading