Skip to content

Commit f889e45

Browse files
ivanbuhovFatme Havaluova
authored and
Fatme Havaluova
committed
CLI no longer calls metadata generator on library add. The metadata generation process is now a build step in the project template and there is no need to call it explicitly.
1 parent 379c9d7 commit f889e45

File tree

1 file changed

+0
-34
lines changed

1 file changed

+0
-34
lines changed

lib/services/ios-project-service.ts

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,6 @@ class IOSProjectService implements IPlatformProjectService {
174174
this.$fs.ensureDirectoryExists(targetPath).wait();
175175
shell.cp("-R", libraryPath, targetPath);
176176

177-
this.generateFrameworkMetadata(platformData.projectRoot, targetPath, frameworkName, umbrellaHeader).wait();
178-
179177
var pbxProjPath = path.join(platformData.projectRoot, this.$projectData.projectName + ".xcodeproj", "project.pbxproj");
180178
var project = new xcode.project(pbxProjPath);
181179
project.parseSync();
@@ -257,38 +255,6 @@ class IOSProjectService implements IPlatformProjectService {
257255
}).future<string>()();
258256
}
259257

260-
private generateFrameworkMetadata(projectRoot: string, frameworkDir: string, frameworkName: string, umbrellaHeader: string): IFuture<void> {
261-
return (() => {
262-
if (!this.$fs.exists("/usr/local/lib/libmonoboehm-2.0.1.dylib").wait()) {
263-
this.$errors.failWithoutHelp("NativeScript needs Mono 3.10 or newer installed in /usr/local");
264-
}
265-
266-
var yamlOut = path.join(frameworkDir, "Metadata");
267-
this.$fs.createDirectory(yamlOut).wait();
268-
269-
var tempHeader = path.join(yamlOut, "Metadata.h");
270-
this.$fs.writeFile(tempHeader, util.format("#import <%s/%s>", frameworkName, umbrellaHeader)).wait();
271-
272-
this.$logger.info("Generating metadata for %s.framework. This can take a minute.", frameworkName);
273-
var sdkPath = this.$childProcess.exec("xcrun -sdk iphoneos --show-sdk-path").wait().trim();
274-
// MetadataGenerator P/Invokes libclang.dylib, so we need to instruct the Mach-O loader where to find it.
275-
// Without this Mono will fail with a DllNotFoundException.
276-
// Once the MetadataGenerator is rewritten in C++ and starts linking Clang statically, this will become superfluous.
277-
var generatorExecOptions = {
278-
env: {
279-
DYLD_FALLBACK_LIBRARY_PATH: this.$childProcess.exec("xcode-select -p").wait().trim() + "/Toolchains/XcodeDefault.xctoolchain/usr/lib"
280-
}
281-
};
282-
this.$childProcess.exec(util.format('%s/Metadata/MetadataGenerator -s %s -u %s -o %s -cflags="-F%s"', projectRoot, sdkPath, tempHeader, yamlOut, frameworkDir), generatorExecOptions).wait();
283-
284-
var metadataFileName = frameworkName + ".yaml";
285-
this.$fs.copyFile(path.join(yamlOut, "Metadata-armv7", metadataFileName), path.join(projectRoot, "Metadata", "Metadata-armv7", metadataFileName)).wait();
286-
this.$fs.copyFile(path.join(yamlOut, "Metadata-arm64", metadataFileName), path.join(projectRoot, "Metadata", "Metadata-arm64", metadataFileName)).wait();
287-
288-
this.$fs.deleteDirectory(yamlOut).wait();
289-
}).future<void>()();
290-
}
291-
292258
private replaceFileContent(file: string): IFuture<void> {
293259
return (() => {
294260
var fileContent = this.$fs.readText(file).wait();

0 commit comments

Comments
 (0)