# Path: pbxproj/pbxsections/PBXGenericBuildPhase.py
# class PBXGenericBuildPhase(PBXGenericObject):
#     @classmethod
#     def create(cls, name=None, files=None):
#         return cls().parse({
#             '_id': cls._generate_id(),
#             'isa': cls.__name__,
#             'name': name,
#             'files': files if files else [],
#             'buildActionMask': 0x7FFFFFFF,
#             'runOnlyForDeploymentPostprocessing': 0
#         })
# 
#     def add_build_file(self, build_file):
#         if not isinstance(build_file, PBXBuildFile):
#             return False
# 
#         self.files.append(build_file.get_id())
# 
#         # update the build_file section
#         build_file._section = self._get_comment()
# 
#         return True
# 
#     def remove_build_file(self, build_file):
#         if not isinstance(build_file, PBXBuildFile):
#             return False
# 
#         self.files.remove(build_file.get_id())
#         del self.get_parent()[build_file.get_id()]
# 
#         # update the build_file section
#         build_file._section = None
# 
#         return True


from pbxproj.pbxsections.PBXGenericBuildPhase import PBXGenericBuildPhase


class PBXShellScriptBuildPhase(PBXGenericBuildPhase):

    @classmethod
    def create(cls, script, name=None, files=None, shell_path="/bin/sh", input_paths=None, output_paths=None,
               show_in_log='0', run_install_build=0):
        return cls().parse({
            '_id': cls._generate_id(),
            'isa': cls.__name__,
            'name': name,
            'files': files if files else [],
            'buildActionMask': 0x7FFFFFFF,
            'inputPaths': input_paths if input_paths else [],
            'outputPaths': output_paths if output_paths else [],

# Path: pbxproj/pbxsections/PBXGenericBuildPhase.py
# class PBXGenericBuildPhase(PBXGenericObject):
#     @classmethod
#     def create(cls, name=None, files=None):
#         return cls().parse({
#             '_id': cls._generate_id(),
#             'isa': cls.__name__,
#             'name': name,
#             'files': files if files else [],
#             'buildActionMask': 0x7FFFFFFF,
#             'runOnlyForDeploymentPostprocessing': 0
#         })
# 
#     def add_build_file(self, build_file):
#         if not isinstance(build_file, PBXBuildFile):
#             return False
# 
#         self.files.append(build_file.get_id())
# 
#         # update the build_file section
#         build_file._section = self._get_comment()
# 
#         return True
# 
#     def remove_build_file(self, build_file):
#         if not isinstance(build_file, PBXBuildFile):
#             return False
# 
#         self.files.remove(build_file.get_id())
#         del self.get_parent()[build_file.get_id()]
# 
#         # update the build_file section
#         build_file._section = None
# 
#         return True


# Path: pbxproj/pbxsections/PBXShellScriptBuildPhase.py
from pbxproj.pbxsections.PBXGenericBuildPhase import PBXGenericBuildPhase



class PBXShellScriptBuildPhase(PBXGenericBuildPhase):

    @classmethod
    def create(cls, script, name=None, files=None, shell_path="/bin/sh", input_paths=None, output_paths=None,
               show_in_log='0', run_install_build=0):
        return cls().parse({
            '_id': cls._generate_id(),
            'isa': cls.__name__,
            'name': name,
            'files': files if files else [],
            'buildActionMask': 0x7FFFFFFF,
            'inputPaths': input_paths if input_paths else [],
            'outputPaths': output_paths if output_paths else [],

            'runOnlyForDeploymentPostprocessing': run_install_build,