コード例 #1
0
 def add_folder_reference(self, path, parent=None, target_name=None):
     file_count = 0
     push_count = 0
     default_options = FileOptions()
     file_list = os.listdir(path)
     # print('xcode files:', len(file_list))
     for f in file_list:
         if (f[0] == '.'):
             continue  # 过滤隐藏文件
         file_path = os.path.join(path, f)
         n = 0
         if (os.path.isfile(file_path)):
             self.desc_file_by_path(file_path)
             n = len(
                 self.xcproj.add_file(file_path, parent, TreeType.GROUP,
                                      target_name, default_options))
         elif (os.path.isdir(file_path)):
             n = len(
                 self.xcproj.add_folder(file_path, parent, None, True,
                                        False, target_name,
                                        default_options))
         push_count += n
         file_count += 1
     assert push_count == file_count, 'add_folder_reference error [%d/%d]' % (
         push_count, file_count)
     return push_count
コード例 #2
0
 def add_capability_in_app_purchase(self):
     file_options = FileOptions(embed_framework=False)
     frameworks = self.get_or_create_group('Frameworks')
     self.add_file('System/Library/Frameworks/StoreKit.framework',
                   parent=frameworks,
                   tree='SDKROOT',
                   force=False,
                   file_options=file_options)
コード例 #3
0
ファイル: Xcode.py プロジェクト: sunsetroads/XcodeEditor
    def _config_system_frameworks(self):
        libs = self._config.get('build_phase', 'frameworks')
        items = self._process_array(libs.split(','))
        if items[0] == '':
            return

        file_options = FileOptions(embed_framework=False)
        frameworks = self._project.get_or_create_group('Frameworks')
        for item in items:
            temp = 'System/Library/Frameworks/%s' % item
            self._project.add_file(temp,
                                   parent=frameworks,
                                   tree='SDKROOT',
                                   force=False,
                                   file_options=file_options)
コード例 #4
0
ファイル: xcode-project-ios.py プロジェクト: highduck/ekx
def my_add_folder(path, parent, excludes):
    file_options = FileOptions()

    if not os.path.isdir(path):
        return None

    # iterate over the objects in the directory
    for child in os.listdir(path):
        # exclude dirs or files matching any of the expressions
        if [pattern for pattern in excludes if re.match(pattern, child)]:
            continue

        full_path = os.path.join(path, child)
        if os.path.isfile(full_path):
            # check if the file exists already, if not add it
            project.add_file(full_path, parent, target_name=mainTargetName, force=False,
                             tree='<absolute>', file_options=file_options)
        else:
            new_parent = project.add_group(child, child, parent)
            my_add_folder(full_path, new_parent, excludes)
コード例 #5
0
ファイル: Xcode.py プロジェクト: sunsetroads/XcodeEditor
    def _config_files(self):
        key = 'file'
        paths = self._process_array(
            self._config.get(key, 'file_path').split(','))
        if paths[0] == '':
            return

        options = FileOptions(embed_framework=False)
        for path in paths:
            # 删除已存在的
            groupName = os.path.basename(path)
            newPath = os.path.join(self._project_dir, groupName)
            self._project.remove_group_by_name(groupName)

            # 移动文件到工程中
            os.system('rm -rf %s' % newPath)
            os.system('cp -rf %s %s' % (path, self._project_dir))

            self._project.add_folder(newPath,
                                     excludes=self._exclude,
                                     file_options=options)
コード例 #6
0
ファイル: xcode-project-ios.py プロジェクト: highduck/ekx
def apply_module_settings(decl, group):
    if "assets" in decl:
        for src in decl["assets"]:
            project.add_file("assets", parent=group, force=True)

    if "cpp" in decl:
        for src in decl["cpp"]:
            my_add_folder(src, parent=project.add_group("src", parent=group), excludes=excludes)
            header_search_paths.append(src)

    if "cpp_include" in decl:
        for src in decl["cpp_include"]:
            project.add_folder(src, parent=group, recursive=True, create_groups=False, excludes=excludes, file_options=FileOptions(create_build_files=False, ignore_unknown_type=True, embed_framework=False))
            header_search_paths.append(src)

    if "cpp_define" in decl:
        for define in decl["cpp_define"]:
            compileDefines.append("-D" + define)

    if "cpp_flags" in decl:
        for flags in decl["cpp_flags"]:
            if "files" in flags and "flags" in flags:
                set_cpp_flags_for_files(project, flags["files"], flags["flags"])

    if "xcode_framework" in decl:
        for framework in decl["xcode_framework"]:
            project.add_file("System/Library/Frameworks/" + framework + ".framework",
                             tree='SDKROOT', force=False,
                             file_options=FileOptions(weak=False, embed_framework=False))
    if "xcode_capability" in decl:
        for capability in decl["xcode_capability"]:
            caps.append(capability)

    if "xcode_file" in decl:
        for file in decl["xcode_file"]:
            project.add_file(file)
コード例 #7
0
def apply_module_settings(decl, group):
    if "assets" in decl:
        for src in decl["assets"]:
            project.add_file("assets", parent=group, force=True)

    if "cpp" in decl:
        for src in decl["cpp"]:
            my_add_folder(src, parent=group, excludes=excludes)
            header_search_paths.append(src)
    if "cpp_flags" in decl and "files" in decl["cpp_flags"]:
        set_cpp_flags_for_files(project, decl["cpp_flags"]["files"],
                                decl["cpp_flags"]["flags"])
    if "xcode" in decl:
        if "frameworks" in decl["xcode"]:
            for fr in decl["xcode"]["frameworks"]:
                project.add_file(
                    "System/Library/Frameworks/" + fr + ".framework",
                    tree='SDKROOT',
                    force=False,
                    file_options=FileOptions(weak=False,
                                             embed_framework=False))
        if "capabilities" in decl["xcode"]:
            for cap in decl["xcode"]["capabilities"]:
                caps.append(cap)
コード例 #8
0
    'TurnerPlayerKit.framework': True,
    'AdManager.framework': False
}

print("\n\nAdding Turner Frameworks:")
print("-------------------------")

for framework, embed in turner_frameworks.iteritems():
    print("Adding:  %s" % framework)
    framework_path = os.path.join(full_embedded_path, framework)
    target_path = os.path.join(ios_project_path, framework)
    print "framework_path = %s" % framework_path
    print "target_path = %s" % target_path
    copy_tree(framework_path, target_path)
    frameworks = project.get_or_create_group('Frameworks')
    file_options = FileOptions(embed_framework=embed)
    blah = project.add_file(target_path,
                            parent=frameworks,
                            target_name=project_name,
                            file_options=file_options)

##########################
# Auth Services framework
# Embedded
# Source: <Project_Path>/node_modules/origin-react-native-video-player/ios/libAuthServices_3.5.2.a
##########################
full_blocks_path = os.path.join(origin_player_path, 'ios/')

turner_blocks = {'libAuthServices_3.5.2.a': False}

for block, embed in turner_blocks.iteritems():