Skip to content

Commit dcd50ae

Browse files
committed
fix: pass correct keyStore* args when building in release mode
1 parent 8ebfe6c commit dcd50ae

File tree

4 files changed

+25
-60
lines changed

4 files changed

+25
-60
lines changed

lib/controllers/deploy-controller.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
export class DeployController {
22

33
constructor(
4-
private $buildDataService: IBuildDataService,
54
private $buildController: IBuildController,
65
private $deviceInstallAppService: IDeviceInstallAppService,
76
private $devicesService: Mobile.IDevicesService
87
) { }
98

10-
public async deploy(data: IRunData): Promise<void> {
11-
const { liveSyncInfo, deviceDescriptors } = data;
9+
public async deploy(data: IDeployData): Promise<void> {
10+
const { buildData, deviceDescriptors } = data;
1211

1312
const executeAction = async (device: Mobile.IDevice) => {
14-
const options = { ...liveSyncInfo, buildForDevice: !device.isEmulator };
15-
const buildData = this.$buildDataService.getBuildData(liveSyncInfo.projectDir, device.deviceInfo.platform, options);
1613
await this.$buildController.prepareAndBuild(buildData);
1714
await this.$deviceInstallAppService.installOnDevice(device, buildData);
1815
};

lib/definitions/run.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ declare global {
77
deviceDescriptors: ILiveSyncDeviceDescriptor[];
88
}
99

10+
interface IDeployData {
11+
buildData: IBuildData;
12+
deviceDescriptors: ILiveSyncDeviceDescriptor[];
13+
}
14+
1015
interface IStopRunData {
1116
projectDir: string;
1217
deviceIdentifiers?: string[];

lib/helpers/deploy-command-helper.ts

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { BuildController } from "../controllers/build-controller";
33

44
export class DeployCommandHelper {
55
constructor(
6+
private $buildDataService: IBuildDataService,
67
private $buildController: BuildController,
78
private $devicesService: Mobile.IDevicesService,
89
private $deployController: DeployController,
@@ -25,31 +26,18 @@ export class DeployCommandHelper {
2526

2627
const deviceDescriptors: ILiveSyncDeviceDescriptor[] = devices
2728
.map(d => {
28-
const buildConfig: IBuildConfig = {
29-
buildForDevice: !d.isEmulator,
30-
iCloudContainerEnvironment: this.$options.iCloudContainerEnvironment,
31-
projectDir: this.$options.path,
32-
clean: this.$options.clean,
33-
teamId: this.$options.teamId,
34-
device: this.$options.device,
35-
provision: this.$options.provision,
36-
release: this.$options.release,
37-
keyStoreAlias: this.$options.keyStoreAlias,
38-
keyStorePath: this.$options.keyStorePath,
39-
keyStoreAliasPassword: this.$options.keyStoreAliasPassword,
40-
keyStorePassword: this.$options.keyStorePassword
41-
};
42-
43-
const buildAction = additionalOptions && additionalOptions.buildPlatform ?
44-
additionalOptions.buildPlatform.bind(additionalOptions.buildPlatform, d.deviceInfo.platform, buildConfig, this.$projectData) :
45-
this.$buildController.prepareAndBuild.bind(this.$buildController, d.deviceInfo.platform, buildConfig, this.$projectData);
46-
4729
const outputPath = additionalOptions && additionalOptions.getOutputDirectory && additionalOptions.getOutputDirectory({
4830
platform: d.deviceInfo.platform,
4931
emulator: d.isEmulator,
5032
projectDir: this.$projectData.projectDir
5133
});
5234

35+
const buildData = this.$buildDataService.getBuildData(this.$projectData.projectDir, d.deviceInfo.platform, { ...this.$options, outputPath, buildForDevice: !d.isEmulator });
36+
37+
const buildAction = additionalOptions && additionalOptions.buildPlatform ?
38+
additionalOptions.buildPlatform.bind(additionalOptions.buildPlatform, d.deviceInfo.platform, buildData, this.$projectData) :
39+
this.$buildController.prepareAndBuild.bind(this.$buildController, d.deviceInfo.platform, buildData, this.$projectData);
40+
5341
const info: ILiveSyncDeviceDescriptor = {
5442
identifier: d.deviceInfo.identifier,
5543
buildAction,
@@ -62,20 +50,8 @@ export class DeployCommandHelper {
6250
return info;
6351
});
6452

65-
const liveSyncInfo: ILiveSyncInfo = {
66-
projectDir: this.$projectData.projectDir,
67-
skipWatcher: !this.$options.watch,
68-
clean: this.$options.clean,
69-
release: this.$options.release,
70-
env: this.$options.env,
71-
timeout: this.$options.timeout,
72-
useHotModuleReload: this.$options.hmr,
73-
force: this.$options.force,
74-
emulator: this.$options.emulator
75-
};
76-
7753
await this.$deployController.deploy({
78-
liveSyncInfo,
54+
buildData: this.$buildDataService.getBuildData(this.$projectData.projectDir, platform, { ...this.$options, skipWatcher: !this.$options.watch }),
7955
deviceDescriptors
8056
});
8157
}

lib/helpers/livesync-command-helper.ts

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,31 +62,16 @@ export class LiveSyncCommandHelper implements ILiveSyncCommandHelper {
6262
// Now let's take data for each device:
6363
const deviceDescriptors: ILiveSyncDeviceDescriptor[] = devices
6464
.map(d => {
65-
const buildConfig: IBuildConfig = {
66-
buildForDevice: !d.isEmulator,
67-
iCloudContainerEnvironment: this.$options.iCloudContainerEnvironment,
68-
projectDir: this.$options.path,
69-
clean: this.$options.clean,
70-
teamId: this.$options.teamId,
71-
device: this.$options.device,
72-
provision: this.$options.provision,
73-
release: this.$options.release,
74-
keyStoreAlias: this.$options.keyStoreAlias,
75-
keyStorePath: this.$options.keyStorePath,
76-
keyStoreAliasPassword: this.$options.keyStoreAliasPassword,
77-
keyStorePassword: this.$options.keyStorePassword
78-
};
79-
8065
const outputPath = additionalOptions && additionalOptions.getOutputDirectory && additionalOptions.getOutputDirectory({
8166
platform: d.deviceInfo.platform,
8267
emulator: d.isEmulator,
8368
projectDir: this.$projectData.projectDir
8469
});
8570

86-
const buildData = this.$buildDataService.getBuildData(this.$projectData.projectDir, d.deviceInfo.platform, { ...buildConfig, outputPath });
71+
const buildData = this.$buildDataService.getBuildData(this.$projectData.projectDir, d.deviceInfo.platform, { ...this.$options, outputPath, buildForDevice: !d.isEmulator });
8772

8873
const buildAction = additionalOptions && additionalOptions.buildPlatform ?
89-
additionalOptions.buildPlatform.bind(additionalOptions.buildPlatform, d.deviceInfo.platform, buildConfig, this.$projectData) :
74+
additionalOptions.buildPlatform.bind(additionalOptions.buildPlatform, d.deviceInfo.platform, buildData, this.$projectData) :
9075
this.$buildController.build.bind(this.$buildController, buildData);
9176

9277
const info: ILiveSyncDeviceDescriptor = {
@@ -117,6 +102,11 @@ export class LiveSyncCommandHelper implements ILiveSyncCommandHelper {
117102
public async executeLiveSyncOperation(devices: Mobile.IDevice[], platform: string, additionalOptions?: ILiveSyncCommandHelperAdditionalOptions): Promise<void> {
118103
const { liveSyncInfo, deviceDescriptors } = await this.executeLiveSyncOperationCore(devices, platform, additionalOptions);
119104

105+
if (this.$options.release) {
106+
await this.runInRelease(platform, deviceDescriptors, liveSyncInfo);
107+
return;
108+
}
109+
120110
await this.$runController.run({
121111
liveSyncInfo,
122112
deviceDescriptors
@@ -173,11 +163,6 @@ export class LiveSyncCommandHelper implements ILiveSyncCommandHelper {
173163
const deviceDescriptors = await this.createDeviceDescriptors(devices, platform, additionalOptions);
174164
const liveSyncInfo = this.getLiveSyncData(this.$projectData.projectDir);
175165

176-
if (this.$options.release) {
177-
await this.runInRelease(platform, deviceDescriptors, liveSyncInfo);
178-
return;
179-
}
180-
181166
return { liveSyncInfo, deviceDescriptors };
182167
}
183168

@@ -190,8 +175,10 @@ export class LiveSyncCommandHelper implements ILiveSyncCommandHelper {
190175
sdk: this.$options.sdk
191176
});
192177

178+
const buildData = this.$buildDataService.getBuildData(liveSyncInfo.projectDir, platform, { ...this.$options, clean: true, skipWatcher: true });
179+
193180
await this.$deployController.deploy({
194-
liveSyncInfo: { ...liveSyncInfo, clean: true, skipWatcher: true },
181+
buildData,
195182
deviceDescriptors
196183
});
197184

0 commit comments

Comments
 (0)