Skip to content

Commit abdf65e

Browse files
Merge pull request EddyVerbruggen#72 from rosen-vladimirov/vladimirov/prepare-for-6.0-release
fix: make plugin hooks compatible with CLI 6.0.0
2 parents 52b9f59 + b10dd27 commit abdf65e

File tree

2 files changed

+29
-16
lines changed

2 files changed

+29
-16
lines changed

src/hooks/before-checkForChanges.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ import { DataProvider } from "./data.provider";
66
export = function(
77
androidResourcesMigrationService: IAndroidResourcesMigrationService,
88
logger: ILogger,
9-
platformsData: IPlatformsData,
109
projectData: IProjectData,
10+
injector: IInjector,
1111
hookArgs: any
1212
) {
13-
const platformName = hookArgs.checkForChangesOpts.platform.toLowerCase();
1413

15-
if (hookArgs.checkForChangesOpts.projectData) {
16-
projectData = hookArgs.checkForChangesOpts.projectData;
17-
}
14+
const platformName = (hookArgs &&
15+
(hookArgs.platformData && hookArgs.platformData.normalizedPlatformName) ||
16+
(hookArgs.checkForChangesOpts && hookArgs.checkForChangesOpts.platform) ||
17+
'').toLowerCase();
1818

19-
const platformData = platformsData.getPlatformData(platformName, projectData);
19+
projectData = hookArgs && (hookArgs.projectData || (hookArgs.checkForChangesOpts && hookArgs.checkForChangesOpts.projectData));
2020

21+
const platformData = getPlatformData(hookArgs && hookArgs.platformData, projectData, platformName, injector);
2122
let converter: ConverterCommon;
2223
const dataProvider = new DataProvider(logger, projectData);
2324

@@ -32,3 +33,13 @@ export = function(
3233

3334
converter.run();
3435
};
36+
37+
function getPlatformData(platformData: IPlatformData, projectData: IProjectData, platform: string, injector: IInjector): IPlatformData {
38+
if (!platformData) {
39+
// Used in CLI 5.4.x and below:
40+
const platformsData = injector.resolve<IPlatformsData>("platformsData");
41+
platformData = platformsData.getPlatformData(platform, projectData);
42+
}
43+
44+
return platformData;
45+
}

src/typings/nativescript.d.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,27 @@ interface IAndroidResourcesMigrationService {
55
}
66

77
interface ILogger {
8-
setLevel(level: string): void;
8+
initialize(opts?: any): void;
9+
initializeCliLogger(): void;
910
getLevel(): string;
1011
fatal(formatStr?: any, ...args: any[]): void;
1112
error(formatStr?: any, ...args: any[]): void;
1213
warn(formatStr?: any, ...args: any[]): void;
13-
warnWithLabel(formatStr?: any, ...args: any[]): void;
1414
info(formatStr?: any, ...args: any[]): void;
1515
debug(formatStr?: any, ...args: any[]): void;
1616
trace(formatStr?: any, ...args: any[]): void;
1717
printMarkdown(...args: any[]): void;
18-
out(formatStr?: any, ...args: any[]): void;
19-
write(...args: any[]): void;
2018
prepare(item: any): string;
21-
printInfoMessageOnSameLine(message: string): void;
22-
printMsgWithTimeout(message: string, timeout: number): Promise<void>;
19+
isVerbose(): boolean;
2320
}
2421

2522
interface IPlatformData {
2623
frameworkPackageName: string;
2724
platformProjectService: IPlatformProjectService;
2825
projectRoot: string;
2926
normalizedPlatformName: string;
27+
platformNameLowerCase: string;
3028
appDestinationDirectoryPath: string;
31-
deviceBuildOutputPath: string;
32-
emulatorBuildOutputPath?: string;
33-
validPackageNamesForDevice: string[];
34-
validPackageNamesForEmulator?: string[];
3529
frameworkFilesExtensions: string[];
3630
frameworkDirectoriesExtensions?: string[];
3731
frameworkDirectoriesNames?: string[];
@@ -73,3 +67,11 @@ interface IProjectData {
7367
getAppResourcesDirectoryPath(projectDir?: string): string;
7468
getAppResourcesRelativeDirectoryPath(): string;
7569
}
70+
71+
interface IPlatformsDataService {
72+
getPlatformData(platform: string, projectData: IProjectData): IPlatformData;
73+
}
74+
75+
interface IInjector {
76+
resolve<T>(name: string, ctorArguments?: any): any;
77+
}

0 commit comments

Comments
 (0)