Skip to content

Commit 41af418

Browse files
committed
fix: don't change the name of the created project directory to prevent ios build error
1 parent bc2939e commit 41af418

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

lib/project.service.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { MarketplaceService } from './marketplace.service';
2-
import { existsSync, mkdir, readFileSync, writeFileSync } from 'fs';
2+
import { existsSync, mkdir, readFileSync, writeFileSync, rename } from 'fs';
33
import * as path from 'path';
44
import * as rimraf from 'rimraf';
55
import { ncp } from 'ncp';
@@ -8,6 +8,7 @@ import { execPromise, dirNameFromPluginName } from './execPromise';
88

99
const testDirectory = 'test';
1010
const testProject = 'baseTS';
11+
const testProjectOriginalSuffix = '_original';
1112

1213
export namespace ProjectService {
1314

@@ -18,30 +19,30 @@ export namespace ProjectService {
1819

1920
await _createTestDirectory();
2021
await _createProject(testProject);
22+
await _renameTestProject();
2123
}
2224

2325
export async function testPlugin(plugin: MarketplaceService.PluginModel) {
2426
const result = { android: false, ios: false };
2527
let hasPlatform = false;
2628
try {
27-
const projectName = dirNameFromPluginName(plugin.name);
28-
await _copyTestProject(projectName);
29-
await _installPlugin(plugin.name, projectName, _isDev(plugin.name));
29+
await _copyTestProject(testProject);
30+
await _installPlugin(plugin.name, testProject, _isDev(plugin.name));
3031
if (plugin.badges.androidVersion) {
31-
result.android = !!(await _buildProject(projectName, 'android'));
32+
result.android = !!(await _buildProject(testProject, 'android'));
3233
hasPlatform = true;
3334
}
3435

3536
if (plugin.badges.iosVersion) {
36-
result.ios = !!(await _buildProject(projectName, 'ios'));
37+
result.ios = !!(await _buildProject(testProject, 'ios'));
3738
hasPlatform = true;
3839
}
3940

4041
if (!hasPlatform) {
4142
Logger.error('plugin has no platform');
4243
}
4344

44-
await _removeDirectory(path.join(testDirectory, projectName));
45+
await _removeDirectory(path.join(testDirectory, testProject));
4546
} catch (errExec) {
4647
Logger.error(JSON.stringify(errExec));
4748
}
@@ -81,9 +82,22 @@ export namespace ProjectService {
8182
}
8283

8384
async function _copyTestProject(name: string) {
85+
const newPath = path.join(testDirectory, name);
86+
if (existsSync(newPath)) {
87+
await _removeDirectory(newPath);
88+
}
89+
8490
ncp.limit = 16;
8591
return new Promise((resolve, reject) => {
86-
ncp(path.join(testDirectory, testProject), path.join(testDirectory, name), err => {
92+
ncp(path.join(testDirectory, testProject + testProjectOriginalSuffix), newPath, err => {
93+
return err ? reject(err) : resolve();
94+
});
95+
});
96+
}
97+
98+
async function _renameTestProject() {
99+
return new Promise((resolve, reject) => {
100+
rename(path.join(testDirectory, testProject), path.join(testDirectory, testProject + testProjectOriginalSuffix), err => {
87101
return err ? reject(err) : resolve();
88102
});
89103
});

0 commit comments

Comments
 (0)