├── .gitignore
├── .swift-version
├── CHANGELOG.md
├── Example
├── Assets.xcassets
│ └── Contents.json
├── First.storyboard
├── Generated.swift
└── Second.storyboard
├── LICENSE.md
├── Package.resolved
├── Package.swift
├── README.md
├── Resources
├── Assets0.3.0.png
├── Gif-Collecting-Colors0.5.0.gif
├── Gif-Custom-Color0.5.0.gif
├── Gif-Renaming0.5.0.gif
├── Gif-Swift0.5.0.gif
├── Storyboard0.3.0.png
├── Swift0.3.0.png
└── Video-thumbnail0.4.0.png
├── Sources
└── SwiftColorGen
│ └── main.swift
├── SwiftColorGen.podspec
└── SwiftColorGen.xcodeproj
├── AEXML_Info.plist
├── CommandLine_Info.plist
├── SwiftColorGenLibrary_Info.plist
├── SwiftColorGen_Library_Info.plist
├── project.pbxproj
├── project.xcworkspace
└── contents.xcworkspacedata
└── xcshareddata
└── xcschemes
└── xcschememanagement.plist
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xccheckout
23 | *.xcscmblueprint
24 |
25 | ## Obj-C/Swift specific
26 | *.hmap
27 | *.ipa
28 | *.dSYM.zip
29 | *.dSYM
30 |
31 | ## Playgrounds
32 | timeline.xctimeline
33 | playground.xcworkspace
34 |
35 | # Swift Package Manager
36 | #
37 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
38 | # Packages/
39 | # Package.pins
40 | # Package.resolved
41 | .build/
42 |
43 | # CocoaPods
44 | #
45 | # We recommend against adding the Pods directory to your .gitignore. However
46 | # you should judge for yourself, the pros and cons are mentioned at:
47 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
48 | #
49 | # Pods/
50 |
51 | # Carthage
52 | #
53 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
54 | # Carthage/Checkouts
55 |
56 | Carthage/Build
57 |
58 | # fastlane
59 | #
60 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
61 | # screenshots whenever they are needed.
62 | # For more information about the recommended setup visit:
63 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
64 |
65 | fastlane/report.xml
66 | fastlane/Preview.html
67 | fastlane/screenshots
68 | fastlane/test_output
69 |
70 | .DS_Store
71 |
--------------------------------------------------------------------------------
/.swift-version:
--------------------------------------------------------------------------------
1 | 4.0
2 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 |
3 | ## [0.6.1](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.6.1)
4 |
5 | ### Fixed
6 | - Updated SwiftColorGenLibrary to 0.6.1. [#3](https://github.com/fernandodelrio/SwiftColorGenLibrary/issues/3) was fixed.
7 |
8 | ## [0.6.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.6.0)
9 |
10 | ### Updated
11 | - Updated whole project structure to use Swift Package Manager (#8)
12 | - Moved the [SwiftColorGen](https://github.com/fernandodelrio/SwiftColorGenLibrary) core to a separate repo
13 | - Now using [AEXML](https://github.com/tadija/AEXML) and [CommandLine](https://github.com/jatoben/CommandLine) as dependencies in the new repo, improving the maintainability
14 |
15 | ## [0.5.1](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.5.1)
16 |
17 | ### Updated
18 | - Based on the sugestion #12, generating the colors as computed properties, instead of a class function
19 |
20 | ## [0.5.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.5.0)
21 |
22 | ### Added
23 | - Adding support for multiple color spaces (now you don't need to select only the sRGB color space to work with the generator)
24 |
25 | ## [0.4.1](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.4.1)
26 |
27 | ### Fixed
28 | - Fixed #1 (Invalid color functions generated)
29 |
30 | ## [0.4.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.4.0)
31 |
32 | ### Added
33 | - Allowing re-runs of the tool in the same code
34 | - Adding support for custom colors defined for the user
35 |
36 | ## [0.3.3](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.3.3)
37 |
38 | ### Fixed
39 | - Fixed the output file not including the import to UIKit
40 |
41 | ## [0.3.1](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.3.1)
42 |
43 | ### Added
44 | - Added CocoaPods support
45 |
46 | ## [0.3.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.3.0)
47 |
48 | ### Updated
49 | - Improved existing CLI interface:
50 | - Cleaner input
51 | - Making some parameters, optional
52 | - Reworked naming convention in the generated Swift file
53 |
54 | ## [0.2.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.2.0)
55 |
56 | ### Updated
57 | - Update name generation, supporting web color names: https://en.wikipedia.org/wiki/Web_colors
58 |
59 |
60 | ## [0.1.0](https://github.com/fernandodelrio/SwiftColorGen/releases/tag/0.1.0)
61 |
62 | First release of the tool, featuring:
63 |
64 | - Swift Code and Asset generation
65 | - RGBA hex color name generation
66 | - Support for sRGB color space
67 |
--------------------------------------------------------------------------------
/Example/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Example/First.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/Example/Generated.swift:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Example/Second.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 Fernando del Rio
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Package.resolved:
--------------------------------------------------------------------------------
1 | {
2 | "object": {
3 | "pins": [
4 | {
5 | "package": "AEXML",
6 | "repositoryURL": "https://github.com/tadija/AEXML.git",
7 | "state": {
8 | "branch": null,
9 | "revision": "09f27784d9e328670ef0a181c832cce497117131",
10 | "version": "4.2.2"
11 | }
12 | },
13 | {
14 | "package": "CommandLine",
15 | "repositoryURL": "https://github.com/silt-lang/CommandLine",
16 | "state": {
17 | "branch": null,
18 | "revision": "5bdfea60048a932091daa07b797938dce35e4cf0",
19 | "version": "4.0.0"
20 | }
21 | },
22 | {
23 | "package": "SwiftColorGenLibrary",
24 | "repositoryURL": "https://github.com/fernandodelrio/SwiftColorGenLibrary.git",
25 | "state": {
26 | "branch": null,
27 | "revision": "f70e8688c36c7605e8292c5d21676f5239ce856c",
28 | "version": "0.6.1"
29 | }
30 | }
31 | ]
32 | },
33 | "version": 1
34 | }
35 |
--------------------------------------------------------------------------------
/Package.swift:
--------------------------------------------------------------------------------
1 | // swift-tools-version:4.0
2 | // The swift-tools-version declares the minimum version of Swift required to build this package.
3 |
4 | import PackageDescription
5 |
6 | let package = Package(
7 | name: "SwiftColorGen",
8 | dependencies: [
9 | // Dependencies declare other packages that this package depends on.
10 | // .package(url: /* package url */, from: "1.0.0"),
11 | .package(url: "https://github.com/fernandodelrio/SwiftColorGenLibrary.git", from: "0.6.1"),
12 | ],
13 | targets: [
14 | // Targets are the basic building blocks of a package. A target can define a module or a test suite.
15 | // Targets can depend on other targets in this package, and on products in packages which this package depends on.
16 | .target(
17 | name: "SwiftColorGen",
18 | dependencies: ["SwiftColorGenLibrary"]),
19 | ]
20 | )
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SwiftColorGen
2 | 
3 | [](#cocoapods)
4 | [](http://doge.mit-license.org)
5 |
6 | A tool that generate code for Swift projects, designed to improve the maintainability of UIColors.
7 |
8 | Please notice, this tool still under development. It's on a validation phase, where I'll test it integrated with existing iOS projects to see how useful it is. Feedbacks are appreciated.
9 | Also notice this tool not only generates new code, but also updates existing storyboard files, so **keep your code under versioning control to avoid any data loss!**
10 |
11 | # Table of contents
12 | * [Motivation](#motivation)
13 | * [The solution](#solution)
14 | * [Demo](#demo)
15 | * [Using the CLI](#cli)
16 | * [Installation (CocoaPods)](#installation)
17 | * [Contributing](#contributing)
18 | * [License](#license)
19 |
20 | # Motivation
21 |
22 | Manage colors in iOS projects can be challenging. It would be useful to reuse colors in different places in the storyboard and also access them programmatically. In code, you can group the colors in one place, but it's common to have the same color redefined in many places in the storyboards. When you need to update a color, you need to remember to replace them everywhere and because of that, it becomes hard to maintain.
23 |
24 | Since Xcode 9, we are able to define a color asset in the Assets catalog, allowing us to reuse a color inside the storyboards and access them programmatically. Though, this still isn't perfect:
25 | 1. To access the colors programmatically, we use a string with the Asset name. If we rename the Asset, we need to remember to replace the strings referring the old asset
26 | 2. If we rename an Asset, we also need to manually replace the references to them in the storyboards
27 | 3. In an existing project with no color assets defined, we need to group all the colors in the storyboards, manually create the asset colors and replace them everywhere.
28 | # The solution
29 |
30 | **SwiftColorGen** reads all storyboard files to find common colors, it creates them in a **.xcassets** folder (without any duplications) and refer them back in the storyboard. Then, it creates an **UIColor extension** allowing to access the same colors programmatically. It automatically puts a name to the colors found. The name will be the closest webcolor name, measuring the color distance between them. But, the user still can rename the colors and it will keep the storyboards updated.
31 |
32 | The rules for naming the colors dinamically:
33 | - The closest web color name (https://en.wikipedia.org/wiki/Web_colors) is considered to name the color
34 | - If the alpha value is less than 255, an "alpha suffix" will be appended to the color name, to avoid name collision
35 | - If two RGB's are close to the same web color, the name still will be used if they have different alphas
36 | - If two RGB's are close to the same web color and they also have the same alpha, the hex of the RGB will be used to avoid name collision
37 |
38 | SwiftColorGen is written in Swift and requires Swift to run. These are the dependencies:
39 | - [AEXML](https://github.com/tadija/AEXML) (to read and write XML)
40 | - [CommandLine](https://github.com/jatoben/CommandLine) (to provide the command line interface)
41 | - [SwiftColorGenLibrary](https://github.com/fernandodelrio/SwiftColorGenLibrary) (the core of the tool, placed in a separated repo)
42 |
43 | # Demo
44 | That's the result of the code generation:
45 |
46 | ### Collecting the colors on Storyboard and generating the Assets
47 | 
48 |
49 | ### Generating the Swift file
50 | 
51 |
52 | ### Automatic renaming
53 | 
54 |
55 | ### Custom colors + multiple replace
56 | 
57 |
58 | ### Code generated
59 | The tool should generate something like:
60 |
61 | ```swift
62 | // Don't change. Auto generated file. SwiftColorGen
63 | import UIKit
64 |
65 | extension UIColor {
66 | /// Color #FFC034 (alpha 255)
67 | static var goldColor: UIColor {
68 | return UIColor(named: "Gold") ?? .clear
69 | }
70 |
71 | /// Color #8D00FF (alpha 255)
72 | static var darkVioletColor: UIColor {
73 | return UIColor(named: "DarkViolet") ?? .clear
74 | }
75 |
76 | /// Color #00FF00 (alpha 255)
77 | static var myCoolGreen: UIColor {
78 | return UIColor(named: "MyCoolGreen") ?? .clear
79 | }
80 | }
81 |
82 | ```
83 |
84 | You will probably want to rename the color and run the tool again, but you can just create another extension on another file referring the generated code:
85 |
86 | ```swift
87 | extension UIColor {
88 | static var myTextColor: UIColor {
89 | return .darkVioletColor
90 | }
91 | }
92 | ```
93 |
94 | Here a complete video with the tool in action:
95 |
96 | [](https://vimeo.com/244528270)
97 |
98 | # Using the CLI
99 | First, install the dependencies:
100 | ```shell
101 | $ swift package update
102 | ```
103 | Build it:
104 | ```shell
105 | $ swift build
106 | ```
107 |
108 | Then run passing the appropriate parameters (if you prefer, you can also use the binary generated inside the **.build** folder):
109 | ```shell
110 | Usage: swift run SwiftColorGen [options]
111 | -o --outputFile (required):
112 | Path to the output Swift file
113 | -b --baseFolder (optional):
114 | Path to the folder where the storyboards are located. Defaults to the current working directory
115 | -a --assetsFolder (optional):
116 | Path to the assets folder. Defaults to the first .xcassets found under the base folder
117 | ```
118 |
119 | Example:
120 | ```shell
121 | $ swift run SwiftColorGen -o Example/Generated.swift
122 | ```
123 |
124 | **Notice that OS X 10.12 is required to run, because of a dependency from a NSColor method (used to convert between different color spaces)**
125 |
126 | # Installation
127 | You can install the tool using CocoaPods and then add a **Build Phase** step, that runs SwiftColorGen every time the project is built.
128 |
129 | ### CocoaPods
130 | [CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects.
131 |
132 | 1. To integrate SwiftColorGen into your Xcode project, specify it in your Podfile:
133 | ```ruby
134 | pod 'SwiftColorGen'
135 | ```
136 | 2. Install the dependencies:
137 | ```shell
138 | $ pod install
139 | ```
140 | 3. In Xcode: Click on your project in the file list, choose your target under TARGETS, click the **Build Phases** tab and add a **New Run Script Phase** by clicking the little plus icon in the top left. Drag the **New Run Script Phase** above the **Compile Sources phase** and below **Check Pods Manifest.lock**, expand it and then call the tool with something like that:
141 | ```shell
142 | "$PODS_ROOT/SwiftColorGen/swiftcg" -b "$SRCROOT" -o "$SRCROOT/CustomColors.swift"
143 | ```
144 | 4. Build your project and it's done. Remember to add the generated Swift file to Xcode, if it's not already there.
145 |
146 | # Contributing
147 | This project still on a initial stage of development. Feel free to contribute by testing it and reporting bugs. If you want to help developing it, checkout the issues section. If you fixed some issue or made some enhancement, open a pull request.
148 |
149 | # License
150 | SwiftColorGen is available under the MIT license. See the LICENSE file for more info.
151 |
--------------------------------------------------------------------------------
/Resources/Assets0.3.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Assets0.3.0.png
--------------------------------------------------------------------------------
/Resources/Gif-Collecting-Colors0.5.0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Gif-Collecting-Colors0.5.0.gif
--------------------------------------------------------------------------------
/Resources/Gif-Custom-Color0.5.0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Gif-Custom-Color0.5.0.gif
--------------------------------------------------------------------------------
/Resources/Gif-Renaming0.5.0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Gif-Renaming0.5.0.gif
--------------------------------------------------------------------------------
/Resources/Gif-Swift0.5.0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Gif-Swift0.5.0.gif
--------------------------------------------------------------------------------
/Resources/Storyboard0.3.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Storyboard0.3.0.png
--------------------------------------------------------------------------------
/Resources/Swift0.3.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Swift0.3.0.png
--------------------------------------------------------------------------------
/Resources/Video-thumbnail0.4.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/3e578b7a4551c98262222c85c092b23ea94880aa/Resources/Video-thumbnail0.4.0.png
--------------------------------------------------------------------------------
/Sources/SwiftColorGen/main.swift:
--------------------------------------------------------------------------------
1 | //
2 | // main.swift
3 | // SwiftColorGen
4 | //
5 | // Created by Fernando del Rio (fernandomdr@gmail.com) on 18/11/17.
6 | //
7 | // SwiftColorGen is a tool that generate code for Swift projects,
8 | // designed to improve the maintainability of UIColors.
9 | //
10 | // First it reads all storyboard files to find common colors.
11 | // Then it creates those colors in a .xcassets file and refer
12 | // them in the storyboard
13 | // Finally it creates a UIColor extension allowing to access the
14 | // same colors programatically
15 | //
16 | // The user should call the CLI passing:
17 | // 1. The project's base folder (that contains the storyboard)
18 | // 2. The .xcassets folder (where the colors will be created)
19 | // 3. The swift output file (where the UIColor's extension will be
20 | // created)
21 | //
22 | // There's an example inside the project, so you can test the code
23 | // generation.
24 | // You can call the CLI using the terminal, but you can also call
25 | // it using Xcode. To do that, just edit the scheme and add
26 | // 'Arguments Passed On Launch':
27 | // -b $SRCROOT/Example
28 | // -a $SRCROOT/Example/Assets.xcassets
29 | // -o $SRCROOT/Example/Generated.swift
30 | //
31 |
32 | import Foundation
33 | import SwiftColorGenLibrary
34 |
35 | func main() {
36 | let args = CLIManager.getArgs()
37 | let assets = AssetManager.getAssetColors(assetsFolder: args.assetsFolder)
38 | cleanColors(args: args, assets: assets)
39 | let oldColors = assets
40 | .filter { $0.type == .original }
41 | .map { $0.color ?? ColorData() }
42 | let newColors = getNewColors(args: args)
43 | let allColors = newColors.union(oldColors)
44 | if !allColors.isEmpty {
45 | writeAllColors(allColors, args: args)
46 | }
47 | let customAssets = assets.filter { $0.type != .original }
48 | // Wirte the generated UIColor extension to file
49 | OutputFileManager.writeOutputfile(path: args.outputFile,
50 | colors: allColors,
51 | assets: customAssets)
52 | }
53 |
54 | func getNewColors(args: (baseFolder: String, assetsFolder: String, outputFile: String)) -> Set {
55 | // Gets the list of storyboards
56 | let storyboards = StoryboardManager.getStoryboards(baseFolder: args.baseFolder)
57 | var allColors: Set = Set()
58 | storyboards.forEach { storyboard in
59 | // Gets the list of colors
60 | let colors = StoryboardManager.readStoryboardColors(path: storyboard)
61 | // Place all colors in a set to avoid duplicates
62 | allColors = allColors.union(colors)
63 | }
64 | return allColors
65 | }
66 |
67 | func writeAllColors(_ allColors: Set,
68 | args: (baseFolder: String, assetsFolder: String, outputFile: String)) {
69 | // Gets the list of storyboards
70 | let storyboards = StoryboardManager.getStoryboards(baseFolder: args.baseFolder)
71 | storyboards.forEach { storyboard in
72 | // Updates the storyboard, settings the colors
73 | let xml = StoryboardManager.updateStoryboard(path: storyboard,
74 | colors: allColors)
75 | // Adds the "resources" key to the storyboard, to
76 | // avoid a storyboard warning
77 | StoryboardManager.addResources(xml: xml, colors: allColors)
78 | // Write the modified XML to file
79 | StoryboardManager.writeStoryboard(xml: xml, path: storyboard)
80 | }
81 | // Write the colors to the .xcassets folder
82 | AssetManager.writeColorAssets(path: args.assetsFolder, colors: allColors)
83 | }
84 |
85 | func cleanColors(args: (baseFolder: String, assetsFolder: String, outputFile: String), assets: [Asset]) {
86 | let storyboards = StoryboardManager.getStoryboards(baseFolder: args.baseFolder)
87 | storyboards.forEach { storyboard in
88 | let xml = StoryboardManager.readStoryboard(path: storyboard)
89 | StoryboardManager.removeOriginalResources(xml: xml, assets: assets)
90 | StoryboardManager.updateCustomResources(xml: xml, assets: assets)
91 | StoryboardManager.resetColors(xml: xml, assets: assets)
92 | StoryboardManager.writeStoryboard(xml: xml, path: storyboard)
93 | AssetManager.deleteColorsets(assets: assets)
94 | AssetManager.updateCustomJson(assets: assets)
95 | }
96 | }
97 |
98 | main()
99 |
100 |
101 |
--------------------------------------------------------------------------------
/SwiftColorGen.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 | s.name = "SwiftColorGen"
3 | s.version = "0.6.1"
4 | s.summary = "A tool that generate code for Swift projects, designed to improve the maintainability of UIColors"
5 | s.description = <<-DESC
6 | A tool that generate code for Swift projects, designed to improve the maintainability of UIColors.
7 | SwiftColorGen reads all storyboard files to find common colors.
8 | Then it creates those colors in a .xcassets folder and refer them in the storyboard.
9 | Finally it creates a UIColor extension allowing to access the same colors programatically.
10 | DESC
11 | s.homepage = "https://github.com/fernandodelrio/SwiftColorGen"
12 | s.screenshots = "https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/master/Resources/Storyboard0.3.0.png", "https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/master/Resources/Assets0.3.0.png", "https://raw.githubusercontent.com/fernandodelrio/SwiftColorGen/master/Resources/Swift0.3.0.png"
13 | s.license = {:type => "MIT", :file => "LICENSE.md"}
14 | s.author = { "Fernando del Rio" => "fernandomdr@gmail.com" }
15 | s.social_media_url = "https://twitter.com/fernandohdelrio"
16 | s.ios.deployment_target = "8.0"
17 | s.source = { :http => "https://github.com/fernandodelrio/SwiftColorGen/releases/download/#{s.version}/swiftcg-#{s.version}.zip" }
18 | s.preserve_paths = "swiftcg"
19 | end
20 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/AEXML_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/CommandLine_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/SwiftColorGenLibrary_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/SwiftColorGen_Library_Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CFBundleDevelopmentRegion
5 | en
6 | CFBundleExecutable
7 | $(EXECUTABLE_NAME)
8 | CFBundleIdentifier
9 | $(PRODUCT_BUNDLE_IDENTIFIER)
10 | CFBundleInfoDictionaryVersion
11 | 6.0
12 | CFBundleName
13 | $(PRODUCT_NAME)
14 | CFBundlePackageType
15 | FMWK
16 | CFBundleShortVersionString
17 | 1.0
18 | CFBundleSignature
19 | ????
20 | CFBundleVersion
21 | $(CURRENT_PROJECT_VERSION)
22 | NSPrincipalClass
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | OBJ_100 /* CommandLine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CommandLine::CommandLine::Product" /* CommandLine.framework */; };
11 | OBJ_101 /* AEXML.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "AEXML::AEXML::Product" /* AEXML.framework */; };
12 | OBJ_108 /* CommandLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_28 /* CommandLine.swift */; };
13 | OBJ_109 /* Option.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* Option.swift */; };
14 | OBJ_110 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* StringExtensions.swift */; };
15 | OBJ_116 /* Document.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* Document.swift */; };
16 | OBJ_117 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_35 /* Element.swift */; };
17 | OBJ_118 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_36 /* Error.swift */; };
18 | OBJ_119 /* Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_37 /* Options.swift */; };
19 | OBJ_120 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_38 /* Parser.swift */; };
20 | OBJ_49 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; };
21 | OBJ_55 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_25 /* Package.swift */; };
22 | OBJ_61 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* Package.swift */; };
23 | OBJ_67 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* Package.swift */; };
24 | OBJ_73 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* main.swift */; };
25 | OBJ_75 /* SwiftColorGenLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SwiftColorGenLibrary::SwiftColorGenLibrary::Product" /* SwiftColorGenLibrary.framework */; };
26 | OBJ_76 /* CommandLine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "CommandLine::CommandLine::Product" /* CommandLine.framework */; };
27 | OBJ_77 /* AEXML.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "AEXML::AEXML::Product" /* AEXML.framework */; };
28 | OBJ_88 /* AEXMLElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* AEXMLElement.swift */; };
29 | OBJ_89 /* Asset.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* Asset.swift */; };
30 | OBJ_90 /* AssetManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_16 /* AssetManager.swift */; };
31 | OBJ_91 /* CLIManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* CLIManager.swift */; };
32 | OBJ_92 /* ColorData.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* ColorData.swift */; };
33 | OBJ_93 /* ColorManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* ColorManager.swift */; };
34 | OBJ_94 /* ColorSpaceManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* ColorSpaceManager.swift */; };
35 | OBJ_95 /* OutputFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* OutputFileManager.swift */; };
36 | OBJ_96 /* PathManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* PathManager.swift */; };
37 | OBJ_97 /* StoryboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* StoryboardManager.swift */; };
38 | OBJ_98 /* WebColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* WebColors.swift */; };
39 | /* End PBXBuildFile section */
40 |
41 | /* Begin PBXContainerItemProxy section */
42 | D8CE83661FDC4FAB0067358B /* PBXContainerItemProxy */ = {
43 | isa = PBXContainerItemProxy;
44 | containerPortal = OBJ_1 /* Project object */;
45 | proxyType = 1;
46 | remoteGlobalIDString = "SwiftColorGenLibrary::SwiftColorGenLibrary";
47 | remoteInfo = SwiftColorGenLibrary;
48 | };
49 | D8CE83671FDC4FAB0067358B /* PBXContainerItemProxy */ = {
50 | isa = PBXContainerItemProxy;
51 | containerPortal = OBJ_1 /* Project object */;
52 | proxyType = 1;
53 | remoteGlobalIDString = "CommandLine::CommandLine";
54 | remoteInfo = CommandLine;
55 | };
56 | D8CE83681FDC4FAB0067358B /* PBXContainerItemProxy */ = {
57 | isa = PBXContainerItemProxy;
58 | containerPortal = OBJ_1 /* Project object */;
59 | proxyType = 1;
60 | remoteGlobalIDString = "AEXML::AEXML";
61 | remoteInfo = AEXML;
62 | };
63 | D8CE83691FDC4FAB0067358B /* PBXContainerItemProxy */ = {
64 | isa = PBXContainerItemProxy;
65 | containerPortal = OBJ_1 /* Project object */;
66 | proxyType = 1;
67 | remoteGlobalIDString = "CommandLine::CommandLine";
68 | remoteInfo = CommandLine;
69 | };
70 | D8CE836A1FDC4FAB0067358B /* PBXContainerItemProxy */ = {
71 | isa = PBXContainerItemProxy;
72 | containerPortal = OBJ_1 /* Project object */;
73 | proxyType = 1;
74 | remoteGlobalIDString = "AEXML::AEXML";
75 | remoteInfo = AEXML;
76 | };
77 | /* End PBXContainerItemProxy section */
78 |
79 | /* Begin PBXFileReference section */
80 | "AEXML::AEXML::Product" /* AEXML.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AEXML.framework; sourceTree = BUILT_PRODUCTS_DIR; };
81 | "CommandLine::CommandLine::Product" /* CommandLine.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = CommandLine.framework; sourceTree = BUILT_PRODUCTS_DIR; };
82 | D83860CA1FDC5CF300D4E762 /* Second.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Second.storyboard; path = Example/Second.storyboard; sourceTree = ""; };
83 | D83860CB1FDC5CF300D4E762 /* First.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = First.storyboard; path = Example/First.storyboard; sourceTree = ""; };
84 | D83860CC1FDC5CF300D4E762 /* Generated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Generated.swift; path = Example/Generated.swift; sourceTree = ""; };
85 | D83860CD1FDC5CF300D4E762 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Example/Assets.xcassets; sourceTree = ""; };
86 | OBJ_14 /* AEXMLElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AEXMLElement.swift; sourceTree = ""; };
87 | OBJ_15 /* Asset.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Asset.swift; sourceTree = ""; };
88 | OBJ_16 /* AssetManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetManager.swift; sourceTree = ""; };
89 | OBJ_17 /* CLIManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CLIManager.swift; sourceTree = ""; };
90 | OBJ_18 /* ColorData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorData.swift; sourceTree = ""; };
91 | OBJ_19 /* ColorManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorManager.swift; sourceTree = ""; };
92 | OBJ_20 /* ColorSpaceManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorSpaceManager.swift; sourceTree = ""; };
93 | OBJ_21 /* OutputFileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OutputFileManager.swift; sourceTree = ""; };
94 | OBJ_22 /* PathManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathManager.swift; sourceTree = ""; };
95 | OBJ_23 /* StoryboardManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryboardManager.swift; sourceTree = ""; };
96 | OBJ_24 /* WebColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebColors.swift; sourceTree = ""; };
97 | OBJ_25 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/fbonfim/Documents/pkgtest3/SwiftColorGen/.build/checkouts/SwiftColorGenLibrary.git-4374237979280322477/Package.swift"; sourceTree = ""; };
98 | OBJ_28 /* CommandLine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandLine.swift; sourceTree = ""; };
99 | OBJ_29 /* Option.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Option.swift; sourceTree = ""; };
100 | OBJ_30 /* StringExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringExtensions.swift; sourceTree = ""; };
101 | OBJ_31 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/fbonfim/Documents/pkgtest3/SwiftColorGen/.build/checkouts/CommandLine-2827937867013820466/Package.swift"; sourceTree = ""; };
102 | OBJ_33 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; name = Package.swift; path = "/Users/fbonfim/Documents/pkgtest3/SwiftColorGen/.build/checkouts/AEXML.git--1992474868199569405/Package.swift"; sourceTree = ""; };
103 | OBJ_34 /* Document.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Document.swift; sourceTree = ""; };
104 | OBJ_35 /* Element.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; };
105 | OBJ_36 /* Error.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Error.swift; sourceTree = ""; };
106 | OBJ_37 /* Options.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Options.swift; sourceTree = ""; };
107 | OBJ_38 /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; };
108 | OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; };
109 | OBJ_9 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; };
110 | "SwiftColorGen::SwiftColorGen::Product" /* SwiftColorGen */ = {isa = PBXFileReference; lastKnownFileType = text; path = SwiftColorGen; sourceTree = BUILT_PRODUCTS_DIR; };
111 | "SwiftColorGenLibrary::SwiftColorGenLibrary::Product" /* SwiftColorGenLibrary.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftColorGenLibrary.framework; sourceTree = BUILT_PRODUCTS_DIR; };
112 | /* End PBXFileReference section */
113 |
114 | /* Begin PBXFrameworksBuildPhase section */
115 | OBJ_111 /* Frameworks */ = {
116 | isa = PBXFrameworksBuildPhase;
117 | buildActionMask = 0;
118 | files = (
119 | );
120 | runOnlyForDeploymentPostprocessing = 0;
121 | };
122 | OBJ_121 /* Frameworks */ = {
123 | isa = PBXFrameworksBuildPhase;
124 | buildActionMask = 0;
125 | files = (
126 | );
127 | runOnlyForDeploymentPostprocessing = 0;
128 | };
129 | OBJ_74 /* Frameworks */ = {
130 | isa = PBXFrameworksBuildPhase;
131 | buildActionMask = 0;
132 | files = (
133 | OBJ_75 /* SwiftColorGenLibrary.framework in Frameworks */,
134 | OBJ_76 /* CommandLine.framework in Frameworks */,
135 | OBJ_77 /* AEXML.framework in Frameworks */,
136 | );
137 | runOnlyForDeploymentPostprocessing = 0;
138 | };
139 | OBJ_99 /* Frameworks */ = {
140 | isa = PBXFrameworksBuildPhase;
141 | buildActionMask = 0;
142 | files = (
143 | OBJ_100 /* CommandLine.framework in Frameworks */,
144 | OBJ_101 /* AEXML.framework in Frameworks */,
145 | );
146 | runOnlyForDeploymentPostprocessing = 0;
147 | };
148 | /* End PBXFrameworksBuildPhase section */
149 |
150 | /* Begin PBXGroup section */
151 | D83860C91FDC5CC700D4E762 /* Example */ = {
152 | isa = PBXGroup;
153 | children = (
154 | D83860CD1FDC5CF300D4E762 /* Assets.xcassets */,
155 | D83860CB1FDC5CF300D4E762 /* First.storyboard */,
156 | D83860CC1FDC5CF300D4E762 /* Generated.swift */,
157 | D83860CA1FDC5CF300D4E762 /* Second.storyboard */,
158 | );
159 | name = Example;
160 | sourceTree = "";
161 | };
162 | OBJ_10 /* Tests */ = {
163 | isa = PBXGroup;
164 | children = (
165 | );
166 | name = Tests;
167 | sourceTree = SOURCE_ROOT;
168 | };
169 | OBJ_11 /* Dependencies */ = {
170 | isa = PBXGroup;
171 | children = (
172 | OBJ_12 /* SwiftColorGenLibrary 0.6.0 */,
173 | OBJ_26 /* CommandLine 4.0.0 */,
174 | OBJ_32 /* AEXML 4.2.2 */,
175 | );
176 | name = Dependencies;
177 | sourceTree = "";
178 | };
179 | OBJ_12 /* SwiftColorGenLibrary 0.6.0 */ = {
180 | isa = PBXGroup;
181 | children = (
182 | OBJ_13 /* SwiftColorGenLibrary */,
183 | OBJ_25 /* Package.swift */,
184 | );
185 | name = "SwiftColorGenLibrary 0.6.0";
186 | sourceTree = SOURCE_ROOT;
187 | };
188 | OBJ_13 /* SwiftColorGenLibrary */ = {
189 | isa = PBXGroup;
190 | children = (
191 | OBJ_14 /* AEXMLElement.swift */,
192 | OBJ_15 /* Asset.swift */,
193 | OBJ_16 /* AssetManager.swift */,
194 | OBJ_17 /* CLIManager.swift */,
195 | OBJ_18 /* ColorData.swift */,
196 | OBJ_19 /* ColorManager.swift */,
197 | OBJ_20 /* ColorSpaceManager.swift */,
198 | OBJ_21 /* OutputFileManager.swift */,
199 | OBJ_22 /* PathManager.swift */,
200 | OBJ_23 /* StoryboardManager.swift */,
201 | OBJ_24 /* WebColors.swift */,
202 | );
203 | name = SwiftColorGenLibrary;
204 | path = ".build/checkouts/SwiftColorGenLibrary.git-4374237979280322477/Sources/SwiftColorGenLibrary";
205 | sourceTree = SOURCE_ROOT;
206 | };
207 | OBJ_26 /* CommandLine 4.0.0 */ = {
208 | isa = PBXGroup;
209 | children = (
210 | OBJ_27 /* CommandLine */,
211 | OBJ_31 /* Package.swift */,
212 | );
213 | name = "CommandLine 4.0.0";
214 | sourceTree = SOURCE_ROOT;
215 | };
216 | OBJ_27 /* CommandLine */ = {
217 | isa = PBXGroup;
218 | children = (
219 | OBJ_28 /* CommandLine.swift */,
220 | OBJ_29 /* Option.swift */,
221 | OBJ_30 /* StringExtensions.swift */,
222 | );
223 | name = CommandLine;
224 | path = ".build/checkouts/CommandLine-2827937867013820466/Sources/CommandLine";
225 | sourceTree = SOURCE_ROOT;
226 | };
227 | OBJ_32 /* AEXML 4.2.2 */ = {
228 | isa = PBXGroup;
229 | children = (
230 | OBJ_33 /* Package.swift */,
231 | OBJ_34 /* Document.swift */,
232 | OBJ_35 /* Element.swift */,
233 | OBJ_36 /* Error.swift */,
234 | OBJ_37 /* Options.swift */,
235 | OBJ_38 /* Parser.swift */,
236 | );
237 | name = "AEXML 4.2.2";
238 | path = ".build/checkouts/AEXML.git--1992474868199569405/Sources";
239 | sourceTree = SOURCE_ROOT;
240 | };
241 | OBJ_39 /* Products */ = {
242 | isa = PBXGroup;
243 | children = (
244 | "SwiftColorGen::SwiftColorGen::Product" /* SwiftColorGen */,
245 | "SwiftColorGenLibrary::SwiftColorGenLibrary::Product" /* SwiftColorGenLibrary.framework */,
246 | "CommandLine::CommandLine::Product" /* CommandLine.framework */,
247 | "AEXML::AEXML::Product" /* AEXML.framework */,
248 | );
249 | name = Products;
250 | sourceTree = BUILT_PRODUCTS_DIR;
251 | };
252 | OBJ_5 = {
253 | isa = PBXGroup;
254 | children = (
255 | OBJ_6 /* Package.swift */,
256 | D83860C91FDC5CC700D4E762 /* Example */,
257 | OBJ_7 /* Sources */,
258 | OBJ_10 /* Tests */,
259 | OBJ_11 /* Dependencies */,
260 | OBJ_39 /* Products */,
261 | );
262 | sourceTree = "";
263 | };
264 | OBJ_7 /* Sources */ = {
265 | isa = PBXGroup;
266 | children = (
267 | OBJ_8 /* SwiftColorGen */,
268 | );
269 | name = Sources;
270 | sourceTree = SOURCE_ROOT;
271 | };
272 | OBJ_8 /* SwiftColorGen */ = {
273 | isa = PBXGroup;
274 | children = (
275 | OBJ_9 /* main.swift */,
276 | );
277 | name = SwiftColorGen;
278 | path = Sources/SwiftColorGen;
279 | sourceTree = SOURCE_ROOT;
280 | };
281 | /* End PBXGroup section */
282 |
283 | /* Begin PBXNativeTarget section */
284 | "AEXML::AEXML" /* AEXML */ = {
285 | isa = PBXNativeTarget;
286 | buildConfigurationList = OBJ_112 /* Build configuration list for PBXNativeTarget "AEXML" */;
287 | buildPhases = (
288 | OBJ_115 /* Sources */,
289 | OBJ_121 /* Frameworks */,
290 | );
291 | buildRules = (
292 | );
293 | dependencies = (
294 | );
295 | name = AEXML;
296 | productName = AEXML;
297 | productReference = "AEXML::AEXML::Product" /* AEXML.framework */;
298 | productType = "com.apple.product-type.framework";
299 | };
300 | "AEXML::SwiftPMPackageDescription" /* AEXMLPackageDescription */ = {
301 | isa = PBXNativeTarget;
302 | buildConfigurationList = OBJ_63 /* Build configuration list for PBXNativeTarget "AEXMLPackageDescription" */;
303 | buildPhases = (
304 | OBJ_66 /* Sources */,
305 | );
306 | buildRules = (
307 | );
308 | dependencies = (
309 | );
310 | name = AEXMLPackageDescription;
311 | productName = AEXMLPackageDescription;
312 | productType = "com.apple.product-type.framework";
313 | };
314 | "CommandLine::CommandLine" /* CommandLine */ = {
315 | isa = PBXNativeTarget;
316 | buildConfigurationList = OBJ_104 /* Build configuration list for PBXNativeTarget "CommandLine" */;
317 | buildPhases = (
318 | OBJ_107 /* Sources */,
319 | OBJ_111 /* Frameworks */,
320 | );
321 | buildRules = (
322 | );
323 | dependencies = (
324 | );
325 | name = CommandLine;
326 | productName = CommandLine;
327 | productReference = "CommandLine::CommandLine::Product" /* CommandLine.framework */;
328 | productType = "com.apple.product-type.framework";
329 | };
330 | "CommandLine::SwiftPMPackageDescription" /* CommandLinePackageDescription */ = {
331 | isa = PBXNativeTarget;
332 | buildConfigurationList = OBJ_57 /* Build configuration list for PBXNativeTarget "CommandLinePackageDescription" */;
333 | buildPhases = (
334 | OBJ_60 /* Sources */,
335 | );
336 | buildRules = (
337 | );
338 | dependencies = (
339 | );
340 | name = CommandLinePackageDescription;
341 | productName = CommandLinePackageDescription;
342 | productType = "com.apple.product-type.framework";
343 | };
344 | "SwiftColorGen::SwiftColorGen" /* SwiftColorGen */ = {
345 | isa = PBXNativeTarget;
346 | buildConfigurationList = OBJ_69 /* Build configuration list for PBXNativeTarget "SwiftColorGen" */;
347 | buildPhases = (
348 | OBJ_72 /* Sources */,
349 | OBJ_74 /* Frameworks */,
350 | );
351 | buildRules = (
352 | );
353 | dependencies = (
354 | OBJ_78 /* PBXTargetDependency */,
355 | OBJ_80 /* PBXTargetDependency */,
356 | OBJ_82 /* PBXTargetDependency */,
357 | );
358 | name = SwiftColorGen;
359 | productName = SwiftColorGen;
360 | productReference = "SwiftColorGen::SwiftColorGen::Product" /* SwiftColorGen */;
361 | productType = "com.apple.product-type.tool";
362 | };
363 | "SwiftColorGen::SwiftPMPackageDescription" /* SwiftColorGenPackageDescription */ = {
364 | isa = PBXNativeTarget;
365 | buildConfigurationList = OBJ_45 /* Build configuration list for PBXNativeTarget "SwiftColorGenPackageDescription" */;
366 | buildPhases = (
367 | OBJ_48 /* Sources */,
368 | );
369 | buildRules = (
370 | );
371 | dependencies = (
372 | );
373 | name = SwiftColorGenPackageDescription;
374 | productName = SwiftColorGenPackageDescription;
375 | productType = "com.apple.product-type.framework";
376 | };
377 | "SwiftColorGenLibrary::SwiftColorGenLibrary" /* SwiftColorGenLibrary */ = {
378 | isa = PBXNativeTarget;
379 | buildConfigurationList = OBJ_84 /* Build configuration list for PBXNativeTarget "SwiftColorGenLibrary" */;
380 | buildPhases = (
381 | OBJ_87 /* Sources */,
382 | OBJ_99 /* Frameworks */,
383 | );
384 | buildRules = (
385 | );
386 | dependencies = (
387 | OBJ_102 /* PBXTargetDependency */,
388 | OBJ_103 /* PBXTargetDependency */,
389 | );
390 | name = SwiftColorGenLibrary;
391 | productName = SwiftColorGenLibrary;
392 | productReference = "SwiftColorGenLibrary::SwiftColorGenLibrary::Product" /* SwiftColorGenLibrary.framework */;
393 | productType = "com.apple.product-type.framework";
394 | };
395 | "SwiftColorGenLibrary::SwiftPMPackageDescription" /* SwiftColorGenLibraryPackageDescription */ = {
396 | isa = PBXNativeTarget;
397 | buildConfigurationList = OBJ_51 /* Build configuration list for PBXNativeTarget "SwiftColorGenLibraryPackageDescription" */;
398 | buildPhases = (
399 | OBJ_54 /* Sources */,
400 | );
401 | buildRules = (
402 | );
403 | dependencies = (
404 | );
405 | name = SwiftColorGenLibraryPackageDescription;
406 | productName = SwiftColorGenLibraryPackageDescription;
407 | productType = "com.apple.product-type.framework";
408 | };
409 | /* End PBXNativeTarget section */
410 |
411 | /* Begin PBXProject section */
412 | OBJ_1 /* Project object */ = {
413 | isa = PBXProject;
414 | attributes = {
415 | LastUpgradeCheck = 9999;
416 | };
417 | buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "SwiftColorGen" */;
418 | compatibilityVersion = "Xcode 3.2";
419 | developmentRegion = English;
420 | hasScannedForEncodings = 0;
421 | knownRegions = (
422 | en,
423 | );
424 | mainGroup = OBJ_5;
425 | productRefGroup = OBJ_39 /* Products */;
426 | projectDirPath = "";
427 | projectRoot = "";
428 | targets = (
429 | "SwiftColorGen::SwiftPMPackageDescription" /* SwiftColorGenPackageDescription */,
430 | "SwiftColorGenLibrary::SwiftPMPackageDescription" /* SwiftColorGenLibraryPackageDescription */,
431 | "CommandLine::SwiftPMPackageDescription" /* CommandLinePackageDescription */,
432 | "AEXML::SwiftPMPackageDescription" /* AEXMLPackageDescription */,
433 | "SwiftColorGen::SwiftColorGen" /* SwiftColorGen */,
434 | "SwiftColorGenLibrary::SwiftColorGenLibrary" /* SwiftColorGenLibrary */,
435 | "CommandLine::CommandLine" /* CommandLine */,
436 | "AEXML::AEXML" /* AEXML */,
437 | );
438 | };
439 | /* End PBXProject section */
440 |
441 | /* Begin PBXSourcesBuildPhase section */
442 | OBJ_107 /* Sources */ = {
443 | isa = PBXSourcesBuildPhase;
444 | buildActionMask = 0;
445 | files = (
446 | OBJ_108 /* CommandLine.swift in Sources */,
447 | OBJ_109 /* Option.swift in Sources */,
448 | OBJ_110 /* StringExtensions.swift in Sources */,
449 | );
450 | runOnlyForDeploymentPostprocessing = 0;
451 | };
452 | OBJ_115 /* Sources */ = {
453 | isa = PBXSourcesBuildPhase;
454 | buildActionMask = 0;
455 | files = (
456 | OBJ_116 /* Document.swift in Sources */,
457 | OBJ_117 /* Element.swift in Sources */,
458 | OBJ_118 /* Error.swift in Sources */,
459 | OBJ_119 /* Options.swift in Sources */,
460 | OBJ_120 /* Parser.swift in Sources */,
461 | );
462 | runOnlyForDeploymentPostprocessing = 0;
463 | };
464 | OBJ_48 /* Sources */ = {
465 | isa = PBXSourcesBuildPhase;
466 | buildActionMask = 0;
467 | files = (
468 | OBJ_49 /* Package.swift in Sources */,
469 | );
470 | runOnlyForDeploymentPostprocessing = 0;
471 | };
472 | OBJ_54 /* Sources */ = {
473 | isa = PBXSourcesBuildPhase;
474 | buildActionMask = 0;
475 | files = (
476 | OBJ_55 /* Package.swift in Sources */,
477 | );
478 | runOnlyForDeploymentPostprocessing = 0;
479 | };
480 | OBJ_60 /* Sources */ = {
481 | isa = PBXSourcesBuildPhase;
482 | buildActionMask = 0;
483 | files = (
484 | OBJ_61 /* Package.swift in Sources */,
485 | );
486 | runOnlyForDeploymentPostprocessing = 0;
487 | };
488 | OBJ_66 /* Sources */ = {
489 | isa = PBXSourcesBuildPhase;
490 | buildActionMask = 0;
491 | files = (
492 | OBJ_67 /* Package.swift in Sources */,
493 | );
494 | runOnlyForDeploymentPostprocessing = 0;
495 | };
496 | OBJ_72 /* Sources */ = {
497 | isa = PBXSourcesBuildPhase;
498 | buildActionMask = 0;
499 | files = (
500 | OBJ_73 /* main.swift in Sources */,
501 | );
502 | runOnlyForDeploymentPostprocessing = 0;
503 | };
504 | OBJ_87 /* Sources */ = {
505 | isa = PBXSourcesBuildPhase;
506 | buildActionMask = 0;
507 | files = (
508 | OBJ_88 /* AEXMLElement.swift in Sources */,
509 | OBJ_89 /* Asset.swift in Sources */,
510 | OBJ_90 /* AssetManager.swift in Sources */,
511 | OBJ_91 /* CLIManager.swift in Sources */,
512 | OBJ_92 /* ColorData.swift in Sources */,
513 | OBJ_93 /* ColorManager.swift in Sources */,
514 | OBJ_94 /* ColorSpaceManager.swift in Sources */,
515 | OBJ_95 /* OutputFileManager.swift in Sources */,
516 | OBJ_96 /* PathManager.swift in Sources */,
517 | OBJ_97 /* StoryboardManager.swift in Sources */,
518 | OBJ_98 /* WebColors.swift in Sources */,
519 | );
520 | runOnlyForDeploymentPostprocessing = 0;
521 | };
522 | /* End PBXSourcesBuildPhase section */
523 |
524 | /* Begin PBXTargetDependency section */
525 | OBJ_102 /* PBXTargetDependency */ = {
526 | isa = PBXTargetDependency;
527 | target = "CommandLine::CommandLine" /* CommandLine */;
528 | targetProxy = D8CE83671FDC4FAB0067358B /* PBXContainerItemProxy */;
529 | };
530 | OBJ_103 /* PBXTargetDependency */ = {
531 | isa = PBXTargetDependency;
532 | target = "AEXML::AEXML" /* AEXML */;
533 | targetProxy = D8CE83681FDC4FAB0067358B /* PBXContainerItemProxy */;
534 | };
535 | OBJ_78 /* PBXTargetDependency */ = {
536 | isa = PBXTargetDependency;
537 | target = "SwiftColorGenLibrary::SwiftColorGenLibrary" /* SwiftColorGenLibrary */;
538 | targetProxy = D8CE83661FDC4FAB0067358B /* PBXContainerItemProxy */;
539 | };
540 | OBJ_80 /* PBXTargetDependency */ = {
541 | isa = PBXTargetDependency;
542 | target = "CommandLine::CommandLine" /* CommandLine */;
543 | targetProxy = D8CE83691FDC4FAB0067358B /* PBXContainerItemProxy */;
544 | };
545 | OBJ_82 /* PBXTargetDependency */ = {
546 | isa = PBXTargetDependency;
547 | target = "AEXML::AEXML" /* AEXML */;
548 | targetProxy = D8CE836A1FDC4FAB0067358B /* PBXContainerItemProxy */;
549 | };
550 | /* End PBXTargetDependency section */
551 |
552 | /* Begin XCBuildConfiguration section */
553 | OBJ_105 /* Debug */ = {
554 | isa = XCBuildConfiguration;
555 | buildSettings = {
556 | ENABLE_TESTABILITY = YES;
557 | FRAMEWORK_SEARCH_PATHS = (
558 | "$(inherited)",
559 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
560 | );
561 | HEADER_SEARCH_PATHS = "$(inherited)";
562 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/CommandLine_Info.plist;
563 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
564 | OTHER_LDFLAGS = "$(inherited)";
565 | OTHER_SWIFT_FLAGS = "$(inherited)";
566 | PRODUCT_BUNDLE_IDENTIFIER = CommandLine;
567 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
568 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
569 | SKIP_INSTALL = YES;
570 | SWIFT_VERSION = 4.0;
571 | TARGET_NAME = CommandLine;
572 | };
573 | name = Debug;
574 | };
575 | OBJ_106 /* Release */ = {
576 | isa = XCBuildConfiguration;
577 | buildSettings = {
578 | ENABLE_TESTABILITY = YES;
579 | FRAMEWORK_SEARCH_PATHS = (
580 | "$(inherited)",
581 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
582 | );
583 | HEADER_SEARCH_PATHS = "$(inherited)";
584 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/CommandLine_Info.plist;
585 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
586 | OTHER_LDFLAGS = "$(inherited)";
587 | OTHER_SWIFT_FLAGS = "$(inherited)";
588 | PRODUCT_BUNDLE_IDENTIFIER = CommandLine;
589 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
590 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
591 | SKIP_INSTALL = YES;
592 | SWIFT_VERSION = 4.0;
593 | TARGET_NAME = CommandLine;
594 | };
595 | name = Release;
596 | };
597 | OBJ_113 /* Debug */ = {
598 | isa = XCBuildConfiguration;
599 | buildSettings = {
600 | ENABLE_TESTABILITY = YES;
601 | FRAMEWORK_SEARCH_PATHS = (
602 | "$(inherited)",
603 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
604 | );
605 | HEADER_SEARCH_PATHS = "$(inherited)";
606 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/AEXML_Info.plist;
607 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
608 | OTHER_LDFLAGS = "$(inherited)";
609 | OTHER_SWIFT_FLAGS = "$(inherited)";
610 | PRODUCT_BUNDLE_IDENTIFIER = AEXML;
611 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
612 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
613 | SKIP_INSTALL = YES;
614 | SWIFT_VERSION = 3.0;
615 | TARGET_NAME = AEXML;
616 | };
617 | name = Debug;
618 | };
619 | OBJ_114 /* Release */ = {
620 | isa = XCBuildConfiguration;
621 | buildSettings = {
622 | ENABLE_TESTABILITY = YES;
623 | FRAMEWORK_SEARCH_PATHS = (
624 | "$(inherited)",
625 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
626 | );
627 | HEADER_SEARCH_PATHS = "$(inherited)";
628 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/AEXML_Info.plist;
629 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
630 | OTHER_LDFLAGS = "$(inherited)";
631 | OTHER_SWIFT_FLAGS = "$(inherited)";
632 | PRODUCT_BUNDLE_IDENTIFIER = AEXML;
633 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
634 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
635 | SKIP_INSTALL = YES;
636 | SWIFT_VERSION = 3.0;
637 | TARGET_NAME = AEXML;
638 | };
639 | name = Release;
640 | };
641 | OBJ_3 /* Debug */ = {
642 | isa = XCBuildConfiguration;
643 | buildSettings = {
644 | CLANG_ENABLE_OBJC_ARC = YES;
645 | COMBINE_HIDPI_IMAGES = YES;
646 | COPY_PHASE_STRIP = NO;
647 | DEBUG_INFORMATION_FORMAT = dwarf;
648 | DYLIB_INSTALL_NAME_BASE = "@rpath";
649 | ENABLE_NS_ASSERTIONS = YES;
650 | GCC_OPTIMIZATION_LEVEL = 0;
651 | MACOSX_DEPLOYMENT_TARGET = 10.10;
652 | ONLY_ACTIVE_ARCH = YES;
653 | OTHER_SWIFT_FLAGS = "-DXcode";
654 | PRODUCT_NAME = "$(TARGET_NAME)";
655 | SDKROOT = macosx;
656 | SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
657 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE;
658 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
659 | USE_HEADERMAP = NO;
660 | };
661 | name = Debug;
662 | };
663 | OBJ_4 /* Release */ = {
664 | isa = XCBuildConfiguration;
665 | buildSettings = {
666 | CLANG_ENABLE_OBJC_ARC = YES;
667 | COMBINE_HIDPI_IMAGES = YES;
668 | COPY_PHASE_STRIP = YES;
669 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
670 | DYLIB_INSTALL_NAME_BASE = "@rpath";
671 | GCC_OPTIMIZATION_LEVEL = s;
672 | MACOSX_DEPLOYMENT_TARGET = 10.10;
673 | OTHER_SWIFT_FLAGS = "-DXcode";
674 | PRODUCT_NAME = "$(TARGET_NAME)";
675 | SDKROOT = macosx;
676 | SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
677 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE;
678 | SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
679 | USE_HEADERMAP = NO;
680 | };
681 | name = Release;
682 | };
683 | OBJ_46 /* Debug */ = {
684 | isa = XCBuildConfiguration;
685 | buildSettings = {
686 | LD = /usr/bin/true;
687 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
688 | SWIFT_VERSION = 4.0;
689 | };
690 | name = Debug;
691 | };
692 | OBJ_47 /* Release */ = {
693 | isa = XCBuildConfiguration;
694 | buildSettings = {
695 | LD = /usr/bin/true;
696 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
697 | SWIFT_VERSION = 4.0;
698 | };
699 | name = Release;
700 | };
701 | OBJ_52 /* Debug */ = {
702 | isa = XCBuildConfiguration;
703 | buildSettings = {
704 | LD = /usr/bin/true;
705 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
706 | SWIFT_VERSION = 4.0;
707 | };
708 | name = Debug;
709 | };
710 | OBJ_53 /* Release */ = {
711 | isa = XCBuildConfiguration;
712 | buildSettings = {
713 | LD = /usr/bin/true;
714 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
715 | SWIFT_VERSION = 4.0;
716 | };
717 | name = Release;
718 | };
719 | OBJ_58 /* Debug */ = {
720 | isa = XCBuildConfiguration;
721 | buildSettings = {
722 | LD = /usr/bin/true;
723 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
724 | SWIFT_VERSION = 4.0;
725 | };
726 | name = Debug;
727 | };
728 | OBJ_59 /* Release */ = {
729 | isa = XCBuildConfiguration;
730 | buildSettings = {
731 | LD = /usr/bin/true;
732 | OTHER_SWIFT_FLAGS = "-swift-version 4 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/4 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
733 | SWIFT_VERSION = 4.0;
734 | };
735 | name = Release;
736 | };
737 | OBJ_64 /* Debug */ = {
738 | isa = XCBuildConfiguration;
739 | buildSettings = {
740 | LD = /usr/bin/true;
741 | OTHER_SWIFT_FLAGS = "-swift-version 3 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
742 | SWIFT_VERSION = 3.0;
743 | };
744 | name = Debug;
745 | };
746 | OBJ_65 /* Release */ = {
747 | isa = XCBuildConfiguration;
748 | buildSettings = {
749 | LD = /usr/bin/true;
750 | OTHER_SWIFT_FLAGS = "-swift-version 3 -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/pm/3 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk";
751 | SWIFT_VERSION = 3.0;
752 | };
753 | name = Release;
754 | };
755 | OBJ_70 /* Debug */ = {
756 | isa = XCBuildConfiguration;
757 | buildSettings = {
758 | FRAMEWORK_SEARCH_PATHS = (
759 | "$(inherited)",
760 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
761 | );
762 | HEADER_SEARCH_PATHS = "$(inherited)";
763 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/SwiftColorGen_Info.plist;
764 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path";
765 | OTHER_LDFLAGS = "$(inherited)";
766 | OTHER_SWIFT_FLAGS = "$(inherited)";
767 | SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES;
768 | SWIFT_FORCE_STATIC_LINK_STDLIB = NO;
769 | SWIFT_VERSION = 4.0;
770 | TARGET_NAME = SwiftColorGen;
771 | };
772 | name = Debug;
773 | };
774 | OBJ_71 /* Release */ = {
775 | isa = XCBuildConfiguration;
776 | buildSettings = {
777 | FRAMEWORK_SEARCH_PATHS = (
778 | "$(inherited)",
779 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
780 | );
781 | HEADER_SEARCH_PATHS = "$(inherited)";
782 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/SwiftColorGen_Info.plist;
783 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx @executable_path";
784 | OTHER_LDFLAGS = "$(inherited)";
785 | OTHER_SWIFT_FLAGS = "$(inherited)";
786 | SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES;
787 | SWIFT_FORCE_STATIC_LINK_STDLIB = NO;
788 | SWIFT_VERSION = 4.0;
789 | TARGET_NAME = SwiftColorGen;
790 | };
791 | name = Release;
792 | };
793 | OBJ_85 /* Debug */ = {
794 | isa = XCBuildConfiguration;
795 | buildSettings = {
796 | ENABLE_TESTABILITY = YES;
797 | FRAMEWORK_SEARCH_PATHS = (
798 | "$(inherited)",
799 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
800 | );
801 | HEADER_SEARCH_PATHS = "$(inherited)";
802 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/SwiftColorGenLibrary_Info.plist;
803 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
804 | OTHER_LDFLAGS = "$(inherited)";
805 | OTHER_SWIFT_FLAGS = "$(inherited)";
806 | PRODUCT_BUNDLE_IDENTIFIER = SwiftColorGenLibrary;
807 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
808 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
809 | SKIP_INSTALL = YES;
810 | SWIFT_VERSION = 4.0;
811 | TARGET_NAME = SwiftColorGenLibrary;
812 | };
813 | name = Debug;
814 | };
815 | OBJ_86 /* Release */ = {
816 | isa = XCBuildConfiguration;
817 | buildSettings = {
818 | ENABLE_TESTABILITY = YES;
819 | FRAMEWORK_SEARCH_PATHS = (
820 | "$(inherited)",
821 | "$(PLATFORM_DIR)/Developer/Library/Frameworks",
822 | );
823 | HEADER_SEARCH_PATHS = "$(inherited)";
824 | INFOPLIST_FILE = SwiftColorGen.xcodeproj/SwiftColorGenLibrary_Info.plist;
825 | LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
826 | OTHER_LDFLAGS = "$(inherited)";
827 | OTHER_SWIFT_FLAGS = "$(inherited)";
828 | PRODUCT_BUNDLE_IDENTIFIER = SwiftColorGenLibrary;
829 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
830 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
831 | SKIP_INSTALL = YES;
832 | SWIFT_VERSION = 4.0;
833 | TARGET_NAME = SwiftColorGenLibrary;
834 | };
835 | name = Release;
836 | };
837 | /* End XCBuildConfiguration section */
838 |
839 | /* Begin XCConfigurationList section */
840 | OBJ_104 /* Build configuration list for PBXNativeTarget "CommandLine" */ = {
841 | isa = XCConfigurationList;
842 | buildConfigurations = (
843 | OBJ_105 /* Debug */,
844 | OBJ_106 /* Release */,
845 | );
846 | defaultConfigurationIsVisible = 0;
847 | defaultConfigurationName = Debug;
848 | };
849 | OBJ_112 /* Build configuration list for PBXNativeTarget "AEXML" */ = {
850 | isa = XCConfigurationList;
851 | buildConfigurations = (
852 | OBJ_113 /* Debug */,
853 | OBJ_114 /* Release */,
854 | );
855 | defaultConfigurationIsVisible = 0;
856 | defaultConfigurationName = Debug;
857 | };
858 | OBJ_2 /* Build configuration list for PBXProject "SwiftColorGen" */ = {
859 | isa = XCConfigurationList;
860 | buildConfigurations = (
861 | OBJ_3 /* Debug */,
862 | OBJ_4 /* Release */,
863 | );
864 | defaultConfigurationIsVisible = 0;
865 | defaultConfigurationName = Debug;
866 | };
867 | OBJ_45 /* Build configuration list for PBXNativeTarget "SwiftColorGenPackageDescription" */ = {
868 | isa = XCConfigurationList;
869 | buildConfigurations = (
870 | OBJ_46 /* Debug */,
871 | OBJ_47 /* Release */,
872 | );
873 | defaultConfigurationIsVisible = 0;
874 | defaultConfigurationName = Debug;
875 | };
876 | OBJ_51 /* Build configuration list for PBXNativeTarget "SwiftColorGenLibraryPackageDescription" */ = {
877 | isa = XCConfigurationList;
878 | buildConfigurations = (
879 | OBJ_52 /* Debug */,
880 | OBJ_53 /* Release */,
881 | );
882 | defaultConfigurationIsVisible = 0;
883 | defaultConfigurationName = Debug;
884 | };
885 | OBJ_57 /* Build configuration list for PBXNativeTarget "CommandLinePackageDescription" */ = {
886 | isa = XCConfigurationList;
887 | buildConfigurations = (
888 | OBJ_58 /* Debug */,
889 | OBJ_59 /* Release */,
890 | );
891 | defaultConfigurationIsVisible = 0;
892 | defaultConfigurationName = Debug;
893 | };
894 | OBJ_63 /* Build configuration list for PBXNativeTarget "AEXMLPackageDescription" */ = {
895 | isa = XCConfigurationList;
896 | buildConfigurations = (
897 | OBJ_64 /* Debug */,
898 | OBJ_65 /* Release */,
899 | );
900 | defaultConfigurationIsVisible = 0;
901 | defaultConfigurationName = Debug;
902 | };
903 | OBJ_69 /* Build configuration list for PBXNativeTarget "SwiftColorGen" */ = {
904 | isa = XCConfigurationList;
905 | buildConfigurations = (
906 | OBJ_70 /* Debug */,
907 | OBJ_71 /* Release */,
908 | );
909 | defaultConfigurationIsVisible = 0;
910 | defaultConfigurationName = Debug;
911 | };
912 | OBJ_84 /* Build configuration list for PBXNativeTarget "SwiftColorGenLibrary" */ = {
913 | isa = XCConfigurationList;
914 | buildConfigurations = (
915 | OBJ_85 /* Debug */,
916 | OBJ_86 /* Release */,
917 | );
918 | defaultConfigurationIsVisible = 0;
919 | defaultConfigurationName = Debug;
920 | };
921 | /* End XCConfigurationList section */
922 | };
923 | rootObject = OBJ_1 /* Project object */;
924 | }
925 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SwiftColorGen.xcodeproj/xcshareddata/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | SchemeUserState
5 |
6 | SwiftColorGen-Package.xcscheme
7 |
8 |
9 | SuppressBuildableAutocreation
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------