Skip to content

Commit 0170340

Browse files
committed
feat: allow much more complex watchapp projects
1 parent b5dd689 commit 0170340

File tree

5 files changed

+1089
-52
lines changed

5 files changed

+1089
-52
lines changed

lib/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,7 @@ export enum IOSNativeTargetTypes {
409409
watchApp = "watch_app",
410410
watchExtension = "watch_extension",
411411
appExtension = "app_extension",
412+
application = 'application',
412413
}
413414

414415
const pathToLoggerAppendersDir = join(

lib/definitions/nativescript-dev-xcode.d.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,27 @@ declare module "nativescript-dev-xcode" {
88
}
99

1010
class project {
11+
hash: any;
12+
filepath: string;
1113
constructor(filename: string);
1214

1315
parse(callback: () => void): void;
1416
parseSync(): void;
1517

18+
generateUuid(): string;
19+
1620
writeSync(options: any): string;
1721

1822
addFramework(filepath: string, options?: Options): void;
1923
removeFramework(filePath: string, options?: Options): void;
2024

25+
26+
getProductFile(watchApptarget: target): any;
27+
addToPbxFrameworksBuildPhase(file);
28+
addToPbxCopyfilesBuildPhase(file, comment: string, targetid: string);
29+
pbxFrameworksBuildPhaseObj(targetid: string): any;
30+
pbxBuildFileSection(): {[k: string] : any};
31+
2132
addPbxGroup(
2233
filePathsArray: any[],
2334
name: string,
@@ -27,17 +38,30 @@ declare module "nativescript-dev-xcode" {
2738

2839
removePbxGroup(groupName: string, path: string): void;
2940

41+
addTargetDependency(target: string, dependencyTargets: string[]);
42+
43+
findTargetKey(name: string);
44+
pbxTargetByName(name: string): target;
45+
pbxNativeTargetSection(): {[key: string]: any};
46+
3047
addToHeaderSearchPaths(options?: Options): void;
3148
removeFromHeaderSearchPaths(options?: Options): void;
3249
updateBuildProperty(key: string, value: any): void;
3350

3451
pbxXCBuildConfigurationSection(): any;
3552

53+
buildPhaseObject(
54+
buildPhaseType: string,
55+
comment: string,
56+
target: tstring
57+
)
58+
3659
addTarget(
3760
targetName: string,
3861
targetType: string,
3962
targetPath?: string,
40-
parentTarget?: string
63+
parentTarget?: string,
64+
productTargetType?: string
4165
): target;
4266
addBuildPhase(
4367
filePathsArray: string[],

lib/definitions/project.d.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,6 +873,38 @@ interface IRemoveExtensionsOptions {
873873

874874
interface IRemoveWatchAppOptions extends IRemoveExtensionsOptions {}
875875

876+
interface IWatchAppJSONConfigModule {
877+
name?: string;
878+
path: string;
879+
targetType?: string;
880+
embed?: boolean;
881+
frameworks?: Array<string | Record<string, string>>;
882+
dependencies?: string[];
883+
headerSearchPaths?: string[];
884+
resources?: string[];
885+
src?: string[];
886+
linkerFlags?: string[];
887+
buildConfigurationProperties?: Record<string, string>;
888+
SPMPackages?: Array<IOSSPMPackage | string>;
889+
}
890+
interface IWatchAppJSONConfig {
891+
targetType?: string;
892+
forceAddEmbedWatchContent?: boolean;
893+
sharedModulesBuildConfigurationProperties?: Record<string, string>;
894+
basedir?: string;
895+
infoPlistPath?: string;
896+
xcprivacyPath?: string;
897+
importSourcesFromMainFolder?: boolean;
898+
importResourcesFromMainFolder?: boolean;
899+
resources?: string[];
900+
src?: string[];
901+
resourcesExclude?: string[];
902+
srcExclude?: string[];
903+
modules: IWatchAppConfigModule[];
904+
SPMPackages?: Array<IOSSPMPackage>;
905+
}
906+
907+
876908
interface IRubyFunction {
877909
functionName: string;
878910
functionParameters?: string;

lib/services/ios-project-service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,6 @@ export class IOSProjectService extends projectServiceBaseLib.PlatformProjectServ
839839
}
840840
}
841841

842-
this.$iOSWatchAppService.removeWatchApp({ pbxProjPath });
843842
const addedWatchApp = await this.$iOSWatchAppService.addWatchAppFromPath({
844843
watchAppFolderPath: path.join(
845844
resourcesDirectoryPath,

0 commit comments

Comments
 (0)