fastlane-plugin-xcconfig_actions 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -1
- data/lib/fastlane/plugin/xcconfig_actions/actions/build_settings_to_flags_action.rb +12 -11
- data/lib/fastlane/plugin/xcconfig_actions/actions/read_xcconfig_action.rb +25 -23
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcconfig_actions_helper.rb +2 -3
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspec.rb +15 -13
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/CopyPNGFile.xcspec +113 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Core Data.xcspec +289 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Cpp.xcspec +63 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/DTrace.xcspec +87 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Intents.xcspec +80 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Lex.xcspec +100 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/MLKit.xcspec +137 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Metal Compiler.xcspec +466 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Metal Linker.xcspec +105 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Nasm.xcspec +101 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Native Build System.xcspec +53 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/NativeBuildSystem.xcspec +1600 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/OSACompile.xcspec +63 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/OpenCL.xcspec +158 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/README.md +15021 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Rez.xcspec +209 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/Yacc.xcspec +100 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/CopyPNGFile.xcspec +113 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Core Data.xcspec +289 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Cpp.xcspec +63 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/DTrace.xcspec +89 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Intents.xcspec +80 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Lex.xcspec +100 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/MLKit.xcspec +137 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Metal Compiler.xcspec +466 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Metal Linker.xcspec +105 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Nasm.xcspec +101 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Native Build System.xcspec +53 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/NativeBuildSystem.xcspec +1615 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/OSACompile.xcspec +63 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/OpenCL.xcspec +158 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/README.md +15250 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Rez.xcspec +209 -0
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Swift.xcspec +1 -1
- data/lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/Yacc.xcspec +100 -0
- data/lib/fastlane/plugin/xcconfig_actions/version.rb +1 -1
- metadata +50 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 30f7b3c21a1a28602e3c0a9a731fbada3655e6afb83add108306849be0e1082b
|
|
4
|
+
data.tar.gz: a7c2fba226b99df76127464e12973d4ee60837ef4dc42b99ed31978fa7a2feb7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eb2cb546352b5e76235a6892018172fe8ee0f3b2159d550ce2a8ff75b7dc365f18804a33264aa5ecc540eecadca766c7d0b54f90d9dc054c4dd60c912d5765d9
|
|
7
|
+
data.tar.gz: 571e8f6db522621f847d63ceaad0c4f3fe0b7e94232023dc12b71a275a96fb4a84aae291946193d9c7a5c745a25be5e35ba894df2735b3cdb3dd05c888e8e45f
|
data/README.md
CHANGED
|
@@ -32,7 +32,6 @@ Things **not supported** at the moment:
|
|
|
32
32
|
|
|
33
33
|
- Conditional variable assignment, such as `FOO[sdk=macosx*] = 1`
|
|
34
34
|
- Use of `<DEVELOPER_DIR>` in include paths
|
|
35
|
-
- Use of curly braces in variable references, e.g. `${VAR}`
|
|
36
35
|
|
|
37
36
|
The build settings are also saved as a dictionary under `SharedValues::XCCONFIG_ACTIONS_BUILD_SETTINGS` key in current `lane_context`.
|
|
38
37
|
|
|
@@ -55,6 +54,9 @@ The result is a dictionary with following keys:
|
|
|
55
54
|
|
|
56
55
|
References:
|
|
57
56
|
|
|
57
|
+
- [Xcode 10.1 Build Settings](lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.1/README.md)
|
|
58
|
+
- [Xcode 10.2 Build Settings](lib/fastlane/plugin/xcconfig_actions/helper/xcspecs/10.2/README.md)
|
|
59
|
+
|
|
58
60
|
- [Xcode Build Settings](https://help.apple.com/xcode/mac/10.2/#/itcaec37c2a6)
|
|
59
61
|
- [LLVM Clang Command Line Options](https://clang.llvm.org/docs/ClangCommandLineReference.html)
|
|
60
62
|
- [LLVM Clang Diagnostics](https://clang.llvm.org/docs/DiagnosticsReference.html)
|
|
@@ -65,10 +67,14 @@ References:
|
|
|
65
67
|
#### Known Issues
|
|
66
68
|
|
|
67
69
|
Flags like `-sdk iphoneos` and `-isysroot iphoneos` may not be suitable for all uses, so may have to remove them from all flags.
|
|
70
|
+
These settings only get generated if you add `SDKROOT = iphoneos` to your xcconfigs.
|
|
68
71
|
|
|
69
72
|
The flag like `-std=gnu++14` is added to `compiler_flags` but it's not applicable for Objective-C code.
|
|
70
73
|
Most tools have differentiation between C flags (C and Objective-C) and Cxx flags (C++/Objective-C++).
|
|
71
74
|
|
|
75
|
+
Flags like `CLANG_ENABLE_CODE_COVERAGE` and `ENABLE_TESTABILITY` will have no effect unless `CLANG_COVERAGE_MAPPING = $(CLANG_ENABLE_CODE_COVERAGE)` and `SWIFT_ENABLE_TESTABILITY = $(ENABLE_TESTABILITY)` are explicitly added to xcconfigs.
|
|
76
|
+
This has to be fixed in the future.
|
|
77
|
+
|
|
72
78
|
### validate_xcconfig
|
|
73
79
|
|
|
74
80
|
Validate xcconfig using set of very opinionated rules:
|
|
@@ -17,9 +17,10 @@ module Fastlane
|
|
|
17
17
|
UI.user_error!("Missing build settings input") unless build_settings
|
|
18
18
|
xcode = params[:xcode]
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
# TODO: Add support for com.apple.compilers.llvm.clang.1_0.analyzer tool.
|
|
21
|
+
clang_spec = load_complete_spec("Clang*", xcode: xcode)
|
|
22
|
+
swift_spec = load_complete_spec("Swift*", xcode: xcode)
|
|
23
|
+
linker_spec = load_complete_spec("Ld*", xcode: xcode)
|
|
23
24
|
|
|
24
25
|
clang_mapping = clang_spec.map_build_settings(build_settings)
|
|
25
26
|
swift_mapping = swift_spec.map_build_settings(build_settings)
|
|
@@ -49,18 +50,18 @@ module Fastlane
|
|
|
49
50
|
# @!group Xcspecs
|
|
50
51
|
###
|
|
51
52
|
|
|
52
|
-
def self.
|
|
53
|
-
core_spec_path = ActionHelper.find_xcspec("CoreBuildSystem*", xcode: xcode)
|
|
54
|
-
standard_spec = Xcspec.new(core_spec_path, id: "com.apple.buildsettings.standard")
|
|
55
|
-
core_spec = Xcspec.new(core_spec_path, id: "com.apple.build-system.core")
|
|
56
|
-
|
|
53
|
+
def self.load_complete_spec(name, xcode:)
|
|
57
54
|
Xcspec.new(
|
|
58
|
-
ActionHelper.find_xcspec(
|
|
59
|
-
|
|
60
|
-
core_spec: core_spec
|
|
55
|
+
ActionHelper.find_xcspec(name, xcode: xcode),
|
|
56
|
+
core_build_system_spec: load_spec("CoreBuildSystem*", xcode: xcode)
|
|
61
57
|
)
|
|
62
58
|
end
|
|
63
59
|
|
|
60
|
+
def self.load_spec(name, xcode:)
|
|
61
|
+
spec_path = ActionHelper.find_xcspec(name, xcode: xcode)
|
|
62
|
+
Xcspec.new(spec_path)
|
|
63
|
+
end
|
|
64
|
+
|
|
64
65
|
###
|
|
65
66
|
# @!group Info and Options
|
|
66
67
|
###
|
|
@@ -17,24 +17,7 @@ module Fastlane
|
|
|
17
17
|
|
|
18
18
|
config = read_config(path)
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
parent_config = read_config(parent)
|
|
22
|
-
|
|
23
|
-
parent_config["SRCROOT"] = srcroot
|
|
24
|
-
parent_config["TARGET_NAME"] = target_name if target_name
|
|
25
|
-
|
|
26
|
-
if Helper::XcconfigActionsHelper.command_exist?("xcodebuild")
|
|
27
|
-
# Set value of XCODE_VERSION_MAJOR not available when reading xcconfigs directly.
|
|
28
|
-
xcode_version = `xcodebuild -version | head -n1 | cut -d' ' -f2 | xargs`.strip
|
|
29
|
-
xcode_version_major_padded = xcode_version.split(".").first.rjust(2, "0") + "00"
|
|
30
|
-
parent_config["XCODE_VERSION_MAJOR"] = xcode_version_major_padded
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
resolved_parent_config = resolve_config(parent_config)
|
|
34
|
-
resolved_config = resolve_config(config, parent: resolved_parent_config)
|
|
35
|
-
|
|
36
|
-
config = resolved_parent_config.merge(resolved_config)
|
|
37
|
-
end
|
|
20
|
+
config = resolve(config, parent, srcroot, target_name) if params[:resolve]
|
|
38
21
|
|
|
39
22
|
Actions.lane_context[SharedValues::XCCONFIG_ACTIONS_BUILD_SETTINGS] = config
|
|
40
23
|
|
|
@@ -49,6 +32,26 @@ module Fastlane
|
|
|
49
32
|
# @!group Implementation
|
|
50
33
|
###
|
|
51
34
|
|
|
35
|
+
# Resolve config using parent information.
|
|
36
|
+
def self.resolve(config, parent, srcroot, target_name)
|
|
37
|
+
parent_config = read_config(parent)
|
|
38
|
+
|
|
39
|
+
parent_config["SRCROOT"] = srcroot
|
|
40
|
+
parent_config["TARGET_NAME"] = target_name if target_name
|
|
41
|
+
|
|
42
|
+
if Helper::XcconfigActionsHelper.command_exist?("xcodebuild")
|
|
43
|
+
# Set value of XCODE_VERSION_MAJOR not available when reading xcconfigs directly.
|
|
44
|
+
xcode_version = `xcodebuild -version | head -n1 | cut -d' ' -f2 | xargs`.strip
|
|
45
|
+
xcode_version_major_padded = xcode_version.split(".").first.rjust(2, "0") + "00"
|
|
46
|
+
parent_config["XCODE_VERSION_MAJOR"] = xcode_version_major_padded
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
resolved_parent_config = resolve_config(parent_config)
|
|
50
|
+
resolved_config = resolve_config(config, parent: resolved_parent_config)
|
|
51
|
+
|
|
52
|
+
resolved_parent_config.merge(resolved_config)
|
|
53
|
+
end
|
|
54
|
+
|
|
52
55
|
# Read xcconfig value as a hash.
|
|
53
56
|
#
|
|
54
57
|
# @param [String] filename Xcconfig path.
|
|
@@ -174,11 +177,10 @@ module Fastlane
|
|
|
174
177
|
verify_block: proc do |value|
|
|
175
178
|
UI.user_error!("Couldn't find parent xcconfig at path: '#{value}'") if value && !File.exist?(value)
|
|
176
179
|
end),
|
|
177
|
-
FastlaneCore::ConfigItem.new(key: :
|
|
178
|
-
env_name: "
|
|
179
|
-
description: "
|
|
180
|
-
default_value:
|
|
181
|
-
optional: true,
|
|
180
|
+
FastlaneCore::ConfigItem.new(key: :resolve,
|
|
181
|
+
env_name: "XCCONFIG_ACTIONS_READ_RESOLVE",
|
|
182
|
+
description: "Resolve variables in xcconfigs",
|
|
183
|
+
default_value: true,
|
|
182
184
|
type: Boolean),
|
|
183
185
|
FastlaneCore::ConfigItem.new(key: :srcroot,
|
|
184
186
|
env_name: "XCCONFIG_ACTIONS_READ_SRCROOT",
|
|
@@ -44,12 +44,11 @@ module Fastlane
|
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def self.find_xcspec(name, xcode:)
|
|
47
|
-
search_path = File.exist?(xcode) ? File.join(xcode, "Contents/Plugins") : File.join(File.dirname(__FILE__), "xcspecs", xcode)
|
|
48
|
-
UI.user_error!("Can't find app path of xcspecs folder for xcode: #{xcode}") unless File.exist?(search_path)
|
|
47
|
+
search_path = File.exist?(xcode) ? File.join(xcode, "Contents/{Plugins,Developer/Platforms/MacOSX.platform/Developer/Library/Xcode/Specifications}") : File.join(File.dirname(__FILE__), "xcspecs", xcode)
|
|
49
48
|
|
|
50
49
|
query = File.join(search_path, "**", name + ".xcspec")
|
|
51
50
|
xcspec = Dir[query].first
|
|
52
|
-
UI.user_error!("Can't find xcspec with name: #{name}") unless File.exist?(xcspec)
|
|
51
|
+
UI.user_error!("Can't find xcspec with name: #{name}") unless xcspec && File.exist?(xcspec)
|
|
53
52
|
xcspec
|
|
54
53
|
end
|
|
55
54
|
end
|
|
@@ -33,19 +33,18 @@ module Fastlane
|
|
|
33
33
|
# @!group Initialization
|
|
34
34
|
###
|
|
35
35
|
|
|
36
|
-
attr_reader :
|
|
36
|
+
attr_reader :path, :options
|
|
37
37
|
|
|
38
|
-
def initialize(path,
|
|
38
|
+
def initialize(path, core_build_system_spec: nil)
|
|
39
39
|
UI.user_error!("No such file: #{path}") unless path && File.exist?(path)
|
|
40
40
|
|
|
41
|
-
@
|
|
42
|
-
@tool = find_tool(id)
|
|
41
|
+
@path = path
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
all_tools << core_spec.tool if core_spec
|
|
43
|
+
plist = Xcspec.load_plist(path)
|
|
44
|
+
tools = plist.kind_of?(Array) ? plist : [plist]
|
|
47
45
|
|
|
48
|
-
@
|
|
46
|
+
@options = tools.flat_map { |t| t["Options"] || t["Properties"] }.compact
|
|
47
|
+
@options += core_build_system_spec.options if core_build_system_spec
|
|
49
48
|
end
|
|
50
49
|
|
|
51
50
|
def self.load_plist(path)
|
|
@@ -66,9 +65,12 @@ module Fastlane
|
|
|
66
65
|
Nokogiri::PList(File.open(xml_plist))
|
|
67
66
|
end
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
###
|
|
69
|
+
# @!group Helpers
|
|
70
|
+
###
|
|
71
|
+
|
|
72
|
+
def find_option(name)
|
|
73
|
+
@options.find { |o| o["Name"] == name }
|
|
72
74
|
end
|
|
73
75
|
|
|
74
76
|
###
|
|
@@ -78,7 +80,7 @@ module Fastlane
|
|
|
78
80
|
def map_build_settings(build_settings)
|
|
79
81
|
# Build settings provided for mapping will not include all possible build settings.
|
|
80
82
|
# Add default values for missing build settings.
|
|
81
|
-
missing_build_settings = @
|
|
83
|
+
missing_build_settings = @options.reduce({}) do |memo, opt|
|
|
82
84
|
name = opt["Name"]
|
|
83
85
|
build_settings.key?(name) ? memo : memo.merge({ name => opt["DefaultValue"] })
|
|
84
86
|
end
|
|
@@ -92,7 +94,7 @@ module Fastlane
|
|
|
92
94
|
end
|
|
93
95
|
|
|
94
96
|
def map_build_setting_value(name, value, build_settings)
|
|
95
|
-
option =
|
|
97
|
+
option = find_option(name)
|
|
96
98
|
return nil unless option
|
|
97
99
|
|
|
98
100
|
map_option(option, value, build_settings)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<array>
|
|
5
|
+
<dict>
|
|
6
|
+
<key>CommandLine</key>
|
|
7
|
+
<string>copypng [options] $(IPHONE_OPTIMIZE_OPTIONS) [input] [output]</string>
|
|
8
|
+
<key>CommandOutputParser</key>
|
|
9
|
+
<array>
|
|
10
|
+
<array>
|
|
11
|
+
<string>()()(^.*caught libpng error.*)</string>
|
|
12
|
+
<string>emit-error</string>
|
|
13
|
+
</array>
|
|
14
|
+
<array>
|
|
15
|
+
<string>()()(^Could not find file:.*)</string>
|
|
16
|
+
<string>emit-error</string>
|
|
17
|
+
</array>
|
|
18
|
+
<array>
|
|
19
|
+
<string>()()(^[^:]+: [^:]+: No such file or directory)</string>
|
|
20
|
+
<string>emit-error</string>
|
|
21
|
+
</array>
|
|
22
|
+
<array>
|
|
23
|
+
<string>()()(^[^:]+: [^:]+: Permission denied)</string>
|
|
24
|
+
<string>emit-error</string>
|
|
25
|
+
</array>
|
|
26
|
+
<array>
|
|
27
|
+
<string>()()(^[^:]+: [^:]+: Is a directory)</string>
|
|
28
|
+
<string>emit-error</string>
|
|
29
|
+
</array>
|
|
30
|
+
</array>
|
|
31
|
+
<key>Description</key>
|
|
32
|
+
<string>Copies a .png file resource, optionally compressing it.</string>
|
|
33
|
+
<key>EnvironmentVariables</key>
|
|
34
|
+
<dict>
|
|
35
|
+
<key>DEVELOPER_DIR</key>
|
|
36
|
+
<string>$(DEVELOPER_DIR)</string>
|
|
37
|
+
<key>SDKROOT</key>
|
|
38
|
+
<string>$(SDKROOT)</string>
|
|
39
|
+
<key>TOOLCHAINS</key>
|
|
40
|
+
<string>$(TOOLCHAINS)</string>
|
|
41
|
+
</dict>
|
|
42
|
+
<key>ExecDescription</key>
|
|
43
|
+
<string>Copy $(InputFile)</string>
|
|
44
|
+
<key>Identifier</key>
|
|
45
|
+
<string>com.apple.build-tasks.copy-png-file</string>
|
|
46
|
+
<key>InputFileTypes</key>
|
|
47
|
+
<array>
|
|
48
|
+
<string>image.png</string>
|
|
49
|
+
</array>
|
|
50
|
+
<key>Name</key>
|
|
51
|
+
<string>Compress PNG Files</string>
|
|
52
|
+
<key>Options</key>
|
|
53
|
+
<array>
|
|
54
|
+
<dict>
|
|
55
|
+
<key>Category</key>
|
|
56
|
+
<string>Packaging</string>
|
|
57
|
+
<key>CommandLineArgs</key>
|
|
58
|
+
<dict>
|
|
59
|
+
<key>NO</key>
|
|
60
|
+
<array/>
|
|
61
|
+
<key>YES</key>
|
|
62
|
+
<array>
|
|
63
|
+
<string>-compress</string>
|
|
64
|
+
</array>
|
|
65
|
+
</dict>
|
|
66
|
+
<key>DefaultValue</key>
|
|
67
|
+
<string>YES</string>
|
|
68
|
+
<key>Description</key>
|
|
69
|
+
<string>If enabled, PNG resource files are compressed as they are copied.</string>
|
|
70
|
+
<key>DisplayName</key>
|
|
71
|
+
<string>Compress PNG Files</string>
|
|
72
|
+
<key>Name</key>
|
|
73
|
+
<string>COMPRESS_PNG_FILES</string>
|
|
74
|
+
<key>Type</key>
|
|
75
|
+
<string>Boolean</string>
|
|
76
|
+
</dict>
|
|
77
|
+
<dict>
|
|
78
|
+
<key>Category</key>
|
|
79
|
+
<string>Packaging</string>
|
|
80
|
+
<key>CommandLineArgs</key>
|
|
81
|
+
<dict>
|
|
82
|
+
<key>NO</key>
|
|
83
|
+
<array/>
|
|
84
|
+
<key>YES</key>
|
|
85
|
+
<array>
|
|
86
|
+
<string>-strip-PNG-text</string>
|
|
87
|
+
</array>
|
|
88
|
+
</dict>
|
|
89
|
+
<key>DefaultValue</key>
|
|
90
|
+
<string>YES</string>
|
|
91
|
+
<key>Description</key>
|
|
92
|
+
<string>Metadata in the form of text chunks in PNG files will be removed to reduce their footprint on disk.</string>
|
|
93
|
+
<key>DisplayName</key>
|
|
94
|
+
<string>Remove Text Metadata From PNG Files</string>
|
|
95
|
+
<key>Name</key>
|
|
96
|
+
<string>STRIP_PNG_TEXT</string>
|
|
97
|
+
<key>Type</key>
|
|
98
|
+
<string>Boolean</string>
|
|
99
|
+
</dict>
|
|
100
|
+
</array>
|
|
101
|
+
<key>OutputPath</key>
|
|
102
|
+
<string>$(ProductResourcesDir)/$(InputFileName)</string>
|
|
103
|
+
<key>ProgressDescription</key>
|
|
104
|
+
<string>Copying $(CommandProgressByType) files</string>
|
|
105
|
+
<key>RuleName</key>
|
|
106
|
+
<string>CopyPNGFile $(ProductResourcesDir)/$(InputFileName) $(InputFileRelativePath)</string>
|
|
107
|
+
<key>SynthesizeBuildRule</key>
|
|
108
|
+
<string>Yes</string>
|
|
109
|
+
<key>Type</key>
|
|
110
|
+
<string>Compiler</string>
|
|
111
|
+
</dict>
|
|
112
|
+
</array>
|
|
113
|
+
</plist>
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<array>
|
|
5
|
+
<dict>
|
|
6
|
+
<key>Class</key>
|
|
7
|
+
<string>XCCompilerSpecificationDataModel</string>
|
|
8
|
+
<key>CommandLine</key>
|
|
9
|
+
<string>momc [options] $(InputFile) $(ProductResourcesDir)/</string>
|
|
10
|
+
<key>CommandOutputParser</key>
|
|
11
|
+
<array>
|
|
12
|
+
<array>
|
|
13
|
+
<string>^([^:]*):([^:]*): warning: (.*)$</string>
|
|
14
|
+
<string>emit-warning</string>
|
|
15
|
+
</array>
|
|
16
|
+
<array>
|
|
17
|
+
<string>^([^:]*):([^:]*): error: (.*)$</string>
|
|
18
|
+
<string>emit-error</string>
|
|
19
|
+
</array>
|
|
20
|
+
</array>
|
|
21
|
+
<key>DeeplyStatInputDirectories</key>
|
|
22
|
+
<string>Yes</string>
|
|
23
|
+
<key>Description</key>
|
|
24
|
+
<string>MOMC: compiler of data model .xcdatamodeld/.xcdatamodel into .momd/.mom</string>
|
|
25
|
+
<key>ExecDescription</key>
|
|
26
|
+
<string>Compile data model $(InputFile)</string>
|
|
27
|
+
<key>Identifier</key>
|
|
28
|
+
<string>com.apple.compilers.model.coredata</string>
|
|
29
|
+
<key>InputFileTypes</key>
|
|
30
|
+
<array>
|
|
31
|
+
<string>wrapper.xcdatamodeld</string>
|
|
32
|
+
<string>wrapper.xcdatamodel</string>
|
|
33
|
+
</array>
|
|
34
|
+
<key>IsArchitectureNeutral</key>
|
|
35
|
+
<string>Yes</string>
|
|
36
|
+
<key>MessageCategoryInfoOptions</key>
|
|
37
|
+
<array>
|
|
38
|
+
<string>--print-diagnostic-categories</string>
|
|
39
|
+
<string>destination</string>
|
|
40
|
+
<string>source</string>
|
|
41
|
+
</array>
|
|
42
|
+
<key>Name</key>
|
|
43
|
+
<string>Data Model Compiler (MOMC)</string>
|
|
44
|
+
<key>Options</key>
|
|
45
|
+
<array>
|
|
46
|
+
<dict>
|
|
47
|
+
<key>DefaultValue</key>
|
|
48
|
+
<string>$(MOMC_OUTPUT_SUFFIX_$(InputFileSuffix))</string>
|
|
49
|
+
<key>Name</key>
|
|
50
|
+
<string>MOMC_OUTPUT_SUFFIX</string>
|
|
51
|
+
<key>Type</key>
|
|
52
|
+
<string>String</string>
|
|
53
|
+
</dict>
|
|
54
|
+
<dict>
|
|
55
|
+
<key>DefaultValue</key>
|
|
56
|
+
<string>.momd</string>
|
|
57
|
+
<key>Name</key>
|
|
58
|
+
<string>MOMC_OUTPUT_SUFFIX_.xcdatamodeld</string>
|
|
59
|
+
<key>Type</key>
|
|
60
|
+
<string>String</string>
|
|
61
|
+
</dict>
|
|
62
|
+
<dict>
|
|
63
|
+
<key>DefaultValue</key>
|
|
64
|
+
<string>.mom</string>
|
|
65
|
+
<key>Name</key>
|
|
66
|
+
<string>MOMC_OUTPUT_SUFFIX_.xcdatamodel</string>
|
|
67
|
+
<key>Type</key>
|
|
68
|
+
<string>String</string>
|
|
69
|
+
</dict>
|
|
70
|
+
<dict>
|
|
71
|
+
<key>CommandLineFlag</key>
|
|
72
|
+
<string>--sdkroot</string>
|
|
73
|
+
<key>DefaultValue</key>
|
|
74
|
+
<string>$(SDKROOT)</string>
|
|
75
|
+
<key>Name</key>
|
|
76
|
+
<string>SDKROOT</string>
|
|
77
|
+
<key>Type</key>
|
|
78
|
+
<string>String</string>
|
|
79
|
+
</dict>
|
|
80
|
+
<dict>
|
|
81
|
+
<key>CommandLineFlag</key>
|
|
82
|
+
<string>--$(PLATFORM_NAME)-deployment-target</string>
|
|
83
|
+
<key>DefaultValue</key>
|
|
84
|
+
<string>$($(DEPLOYMENT_TARGET_SETTING_NAME))</string>
|
|
85
|
+
<key>Name</key>
|
|
86
|
+
<string>DEPLOYMENT_TARGET</string>
|
|
87
|
+
<key>Type</key>
|
|
88
|
+
<string>String</string>
|
|
89
|
+
</dict>
|
|
90
|
+
<dict>
|
|
91
|
+
<key>Category</key>
|
|
92
|
+
<string>Warnings</string>
|
|
93
|
+
<key>CommandLineFlag</key>
|
|
94
|
+
<string>--no-warnings</string>
|
|
95
|
+
<key>DefaultValue</key>
|
|
96
|
+
<string>NO</string>
|
|
97
|
+
<key>Name</key>
|
|
98
|
+
<string>MOMC_NO_WARNINGS</string>
|
|
99
|
+
<key>Type</key>
|
|
100
|
+
<string>Boolean</string>
|
|
101
|
+
</dict>
|
|
102
|
+
<dict>
|
|
103
|
+
<key>Category</key>
|
|
104
|
+
<string>Warnings</string>
|
|
105
|
+
<key>CommandLineFlag</key>
|
|
106
|
+
<string>--no-inverse-relationship-warnings</string>
|
|
107
|
+
<key>DefaultValue</key>
|
|
108
|
+
<string>NO</string>
|
|
109
|
+
<key>Name</key>
|
|
110
|
+
<string>MOMC_NO_INVERSE_RELATIONSHIP_WARNINGS</string>
|
|
111
|
+
<key>Type</key>
|
|
112
|
+
<string>Boolean</string>
|
|
113
|
+
</dict>
|
|
114
|
+
<dict>
|
|
115
|
+
<key>Category</key>
|
|
116
|
+
<string>Warnings</string>
|
|
117
|
+
<key>CommandLineFlag</key>
|
|
118
|
+
<string>--no-max-property-count-warnings</string>
|
|
119
|
+
<key>DefaultValue</key>
|
|
120
|
+
<string>NO</string>
|
|
121
|
+
<key>Name</key>
|
|
122
|
+
<string>MOMC_NO_MAX_PROPERTY_COUNT_WARNINGS</string>
|
|
123
|
+
<key>Type</key>
|
|
124
|
+
<string>Boolean</string>
|
|
125
|
+
</dict>
|
|
126
|
+
<dict>
|
|
127
|
+
<key>Category</key>
|
|
128
|
+
<string>Warnings</string>
|
|
129
|
+
<key>CommandLineFlag</key>
|
|
130
|
+
<string>--no-delete-rule-warnings</string>
|
|
131
|
+
<key>DefaultValue</key>
|
|
132
|
+
<string>NO</string>
|
|
133
|
+
<key>Name</key>
|
|
134
|
+
<string>MOMC_NO_DELETE_RULE_WARNINGS</string>
|
|
135
|
+
<key>Type</key>
|
|
136
|
+
<string>Boolean</string>
|
|
137
|
+
</dict>
|
|
138
|
+
<dict>
|
|
139
|
+
<key>Category</key>
|
|
140
|
+
<string>Warnings</string>
|
|
141
|
+
<key>CommandLineFlag</key>
|
|
142
|
+
<string>--suppress-inverse-transient-error</string>
|
|
143
|
+
<key>DefaultValue</key>
|
|
144
|
+
<string>NO</string>
|
|
145
|
+
<key>Name</key>
|
|
146
|
+
<string>MOMC_SUPPRESS_INVERSE_TRANSIENT_ERROR</string>
|
|
147
|
+
<key>Type</key>
|
|
148
|
+
<string>Boolean</string>
|
|
149
|
+
</dict>
|
|
150
|
+
<dict>
|
|
151
|
+
<key>CommandLineFlag</key>
|
|
152
|
+
<string>--module</string>
|
|
153
|
+
<key>DefaultValue</key>
|
|
154
|
+
<string>$(PRODUCT_MODULE_NAME)</string>
|
|
155
|
+
<key>Name</key>
|
|
156
|
+
<string>MOMC_MODULE</string>
|
|
157
|
+
<key>Type</key>
|
|
158
|
+
<string>String</string>
|
|
159
|
+
</dict>
|
|
160
|
+
<dict>
|
|
161
|
+
<key>CommandLinePrefixFlag</key>
|
|
162
|
+
<string></string>
|
|
163
|
+
<key>DefaultValue</key>
|
|
164
|
+
<string></string>
|
|
165
|
+
<key>Name</key>
|
|
166
|
+
<string>build_file_compiler_flags</string>
|
|
167
|
+
<key>Type</key>
|
|
168
|
+
<string>StringList</string>
|
|
169
|
+
</dict>
|
|
170
|
+
</array>
|
|
171
|
+
<key>Outputs</key>
|
|
172
|
+
<array>
|
|
173
|
+
<string>$(ProductResourcesDir)/$(InputFileBase)$(MOMC_OUTPUT_SUFFIX)</string>
|
|
174
|
+
</array>
|
|
175
|
+
<key>ProgressDescription</key>
|
|
176
|
+
<string>Compiling $(CommandProgressByType) data models</string>
|
|
177
|
+
<key>RuleName</key>
|
|
178
|
+
<string>DataModelCompile $(ProductResourcesDir)/ $(InputFile)</string>
|
|
179
|
+
<key>SynthesizeBuildRule</key>
|
|
180
|
+
<string>Yes</string>
|
|
181
|
+
<key>Type</key>
|
|
182
|
+
<string>Compiler</string>
|
|
183
|
+
</dict>
|
|
184
|
+
<dict>
|
|
185
|
+
<key>CommandLine</key>
|
|
186
|
+
<string>mapc [options] $(InputFile) $(ProductResourcesDir)/$(InputFileBase).cdm</string>
|
|
187
|
+
<key>CommandOutputParser</key>
|
|
188
|
+
<array>
|
|
189
|
+
<array>
|
|
190
|
+
<string>^([^:]*):([^:]*)warning: (.*)$</string>
|
|
191
|
+
<string>emit-warning</string>
|
|
192
|
+
</array>
|
|
193
|
+
<array>
|
|
194
|
+
<string>^([^:]*):([^:]*)error: (.*)$</string>
|
|
195
|
+
<string>emit-error</string>
|
|
196
|
+
</array>
|
|
197
|
+
</array>
|
|
198
|
+
<key>DeeplyStatInputDirectories</key>
|
|
199
|
+
<string>Yes</string>
|
|
200
|
+
<key>Description</key>
|
|
201
|
+
<string>MAPC: compiler of mapping model files .xcmappingmodel into .cdm</string>
|
|
202
|
+
<key>ExecDescription</key>
|
|
203
|
+
<string>Compile mapping model $(InputFile)</string>
|
|
204
|
+
<key>Identifier</key>
|
|
205
|
+
<string>com.apple.compilers.model.coredatamapping</string>
|
|
206
|
+
<key>InputFileTypes</key>
|
|
207
|
+
<array>
|
|
208
|
+
<string>wrapper.xcmappingmodel</string>
|
|
209
|
+
</array>
|
|
210
|
+
<key>IsArchitectureNeutral</key>
|
|
211
|
+
<string>Yes</string>
|
|
212
|
+
<key>MessageCategoryInfoOptions</key>
|
|
213
|
+
<array>
|
|
214
|
+
<string>--print-diagnostic-categories</string>
|
|
215
|
+
<string>source</string>
|
|
216
|
+
<string>destination</string>
|
|
217
|
+
</array>
|
|
218
|
+
<key>Name</key>
|
|
219
|
+
<string>Core Data Mapping Model Compiler (MAPC)</string>
|
|
220
|
+
<key>Options</key>
|
|
221
|
+
<array>
|
|
222
|
+
<dict>
|
|
223
|
+
<key>Category</key>
|
|
224
|
+
<string>Warnings</string>
|
|
225
|
+
<key>CommandLineFlag</key>
|
|
226
|
+
<string>--mapc-no-warnings</string>
|
|
227
|
+
<key>DefaultValue</key>
|
|
228
|
+
<string>NO</string>
|
|
229
|
+
<key>Name</key>
|
|
230
|
+
<string>MAPC_NO_WARNINGS</string>
|
|
231
|
+
<key>Type</key>
|
|
232
|
+
<string>Boolean</string>
|
|
233
|
+
</dict>
|
|
234
|
+
<dict>
|
|
235
|
+
<key>CommandLineFlag</key>
|
|
236
|
+
<string>--sdkroot</string>
|
|
237
|
+
<key>DefaultValue</key>
|
|
238
|
+
<string>$(SDKROOT)</string>
|
|
239
|
+
<key>Name</key>
|
|
240
|
+
<string>SDKROOT</string>
|
|
241
|
+
<key>Type</key>
|
|
242
|
+
<string>String</string>
|
|
243
|
+
</dict>
|
|
244
|
+
<dict>
|
|
245
|
+
<key>CommandLineFlag</key>
|
|
246
|
+
<string>--$(PLATFORM_NAME)-deployment-target</string>
|
|
247
|
+
<key>DefaultValue</key>
|
|
248
|
+
<string>$($(DEPLOYMENT_TARGET_SETTING_NAME))</string>
|
|
249
|
+
<key>Name</key>
|
|
250
|
+
<string>DEPLOYMENT_TARGET</string>
|
|
251
|
+
<key>Type</key>
|
|
252
|
+
<string>String</string>
|
|
253
|
+
</dict>
|
|
254
|
+
<dict>
|
|
255
|
+
<key>CommandLinePrefixFlag</key>
|
|
256
|
+
<string></string>
|
|
257
|
+
<key>DefaultValue</key>
|
|
258
|
+
<string></string>
|
|
259
|
+
<key>Name</key>
|
|
260
|
+
<string>build_file_compiler_flags</string>
|
|
261
|
+
<key>Type</key>
|
|
262
|
+
<string>StringList</string>
|
|
263
|
+
</dict>
|
|
264
|
+
<dict>
|
|
265
|
+
<key>CommandLineFlag</key>
|
|
266
|
+
<string>--module</string>
|
|
267
|
+
<key>DefaultValue</key>
|
|
268
|
+
<string>$(PRODUCT_MODULE_NAME)</string>
|
|
269
|
+
<key>Name</key>
|
|
270
|
+
<string>MAPC_MODULE</string>
|
|
271
|
+
<key>Type</key>
|
|
272
|
+
<string>String</string>
|
|
273
|
+
</dict>
|
|
274
|
+
</array>
|
|
275
|
+
<key>Outputs</key>
|
|
276
|
+
<array>
|
|
277
|
+
<string>$(ProductResourcesDir)/$(InputFileBase).cdm</string>
|
|
278
|
+
</array>
|
|
279
|
+
<key>ProgressDescription</key>
|
|
280
|
+
<string>Compiling $(CommandProgressByType) mapping models</string>
|
|
281
|
+
<key>RuleName</key>
|
|
282
|
+
<string>MappingModelCompile $(ProductResourcesDir)/$(InputFileBase).cdm $(InputFile)</string>
|
|
283
|
+
<key>SynthesizeBuildRule</key>
|
|
284
|
+
<string>Yes</string>
|
|
285
|
+
<key>Type</key>
|
|
286
|
+
<string>Compiler</string>
|
|
287
|
+
</dict>
|
|
288
|
+
</array>
|
|
289
|
+
</plist>
|