-
Notifications
You must be signed in to change notification settings - Fork 463
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #985 from gui17aume/feature/xcode16-synchronized-g…
…roups Add support for Xcode 16 and synchronized groups
- Loading branch information
Showing
10 changed files
with
187 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
lib/xcodeproj/project/object/file_system_synchronized_exception_set.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
require 'xcodeproj/project/object_attributes' | ||
require 'xcodeproj/project/object/helpers/groupable_helper' | ||
|
||
module Xcodeproj | ||
class Project | ||
module Object | ||
# This class represents a file system synchronized build file exception set. | ||
class PBXFileSystemSynchronizedBuildFileExceptionSet < AbstractObject | ||
# @return [AbstractTarget] The target to which this exception set applies. | ||
# | ||
has_one :target, AbstractTarget | ||
|
||
# @return [Array<String>] The list of files in the group that are excluded from the target. | ||
# | ||
attribute :membership_exceptions, Array | ||
|
||
# @return [Array<String>] The list of public headers. | ||
# | ||
attribute :public_headers, Array | ||
|
||
# @return [Array<String>] The list of private headers. | ||
# | ||
attribute :private_headers, Array | ||
|
||
# @return [Hash] The files with specific compiler flags. | ||
# | ||
attribute :additional_compiler_flags_by_relative_path, Hash | ||
|
||
# @return [Hash] The files with specific attributes. | ||
# | ||
attribute :attributes_by_relative_path, Hash | ||
|
||
# @return [Hash] The files with a platform filter. | ||
# | ||
attribute :platform_filters_by_relative_path, Hash | ||
|
||
def display_name | ||
"Exceptions for \"#{GroupableHelper.parent(self).display_name}\" folder in \"#{target.name}\" target" | ||
end | ||
end | ||
|
||
# This class represents a file system synchronized group build phase membership exception set. | ||
class PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet < AbstractObject | ||
# @return [PBXSourcesBuildPhase] The build phase to which this exception set applies. | ||
# | ||
has_one :build_phase, PBXSourcesBuildPhase | ||
|
||
# @return [Array<String>] The list of files in the group that are excluded from the build phase. | ||
# | ||
attribute :membership_exceptions, Array | ||
|
||
# @return [Hash] The files with a platform filter. | ||
# | ||
attribute :platform_filters_by_relative_path, Hash | ||
|
||
def display_name | ||
"Exceptions for \"#{GroupableHelper.parent(self).display_name}\" folder in \"#{build_phase.name}\" build phase" | ||
end | ||
end | ||
end | ||
end | ||
end |
74 changes: 74 additions & 0 deletions
74
lib/xcodeproj/project/object/file_system_synchronized_root_group.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
require 'xcodeproj/project/object/file_system_synchronized_exception_set' | ||
|
||
module Xcodeproj | ||
class Project | ||
module Object | ||
# This class represents a file system synchronized root group. | ||
class PBXFileSystemSynchronizedRootGroup < AbstractObject | ||
# @return [String] the directory to which the path is relative. | ||
# | ||
# @note The accepted values are: | ||
# - `<absolute>` for absolute paths | ||
# - `<group>` for paths relative to the group | ||
# - `SOURCE_ROOT` for paths relative to the project | ||
# - `DEVELOPER_DIR` for paths relative to the developer | ||
# directory. | ||
# - `BUILT_PRODUCTS_DIR` for paths relative to the build | ||
# products directory. | ||
# - `SDKROOT` for paths relative to the SDK directory. | ||
# | ||
attribute :source_tree, String, '<group>' | ||
|
||
# @return [String] the path to a folder in the file system. | ||
# | ||
attribute :path, String | ||
|
||
# @return [String] Whether Xcode should use tabs for text alignment. | ||
# | ||
# @example | ||
# `1` | ||
# | ||
attribute :uses_tabs, String | ||
|
||
# @return [String] The width of the indent. | ||
# | ||
# @example | ||
# `2` | ||
# | ||
attribute :indent_width, String | ||
|
||
# @return [String] The width of the tabs. | ||
# | ||
# @example | ||
# `2` | ||
# | ||
attribute :tab_width, String | ||
|
||
# @return [String] Whether Xcode should wrap lines. | ||
# | ||
# @example | ||
# `1` | ||
# | ||
attribute :wraps_lines, String | ||
|
||
# @return [Array<PBXFileSystemSynchronizedBuildFileExceptionSet, PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet>] | ||
# The list of exceptions applying to this group. | ||
# | ||
has_many :exceptions, [PBXFileSystemSynchronizedBuildFileExceptionSet, PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet] | ||
|
||
# @return [Hash] The files in the group that have a file type defined explicitly. | ||
# | ||
attribute :explicit_file_types, Hash | ||
|
||
# @return [Array] The folders in the group that are defined explicitly. | ||
# | ||
attribute :explicit_folders, Array | ||
|
||
def display_name | ||
return path if path | ||
super | ||
end | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters