Commit Graph

653 Commits

Author SHA1 Message Date
Yonas Kolb
8a993fd94c move spec validation into seperate file 2017-09-24 19:42:14 +02:00
Yonas Kolb
2d1ccb6d1d rename project.groups to project.fileGroups 2017-09-24 19:35:26 +02:00
Yonas Kolb
71e5b4a2f2 include project settings when checking for INFOPLIST_FILE 2017-09-24 19:21:27 +02:00
Yonas Kolb
67ad669ea5 add project xcconfig files 2017-09-23 22:48:50 +02:00
Yonas Kolb
8e3966a5b8 add groups to spec for specifying non build files 2017-09-23 22:39:15 +02:00
Yonas Kolb
eb5738dbd0 fix target xcconfig files not working 2017-09-23 22:39:12 +02:00
Yonas Kolb
a20885e6b4 checking build setting existence checks xcconfig files too 2017-09-23 21:31:36 +02:00
Yonas Kolb
2b4d8aa6ff update generated LastUpgradeVersion to 0900 2017-09-19 13:14:38 +02:00
Yonas Kolb
a689e8f224 fix incorrect default build script shell path 2017-09-19 12:34:22 +02:00
Yonas Kolb
956edd3350 upgrade to xcodeproj 0.1.2 2017-09-14 21:28:09 +02:00
Palmero, Antonio
62f72d39bc Filter out NSNull elements from the json dictionary.
This change allows us to override default BuildSettings.
For example:

If I want to keep the attribute SWIFT_OBJC_INTERFACE_HEADER_NAME empty,
(by default it contains some value). I just need to override this value
in the settings spec.

Before If I keep property empty, then in the generated settings the value
appear as <null>.

The method implemented recursively loop through the json dictionary
looking for NSNull objects and replace them by an empty string.

Filter out NSNull elements from the json dictionary.

This change allows us to override default BuildSettings.
For example:

If I want to keep the attribute SWIFT_OBJC_INTERFACE_HEADER_NAME empty,
(by default it contains some value). I just need to override this value
in the settings spec.

Before If I keep property empty, then in the generated settings the value
appear as <null>.

The method implemented recursively loop through the json dictionary
looking for NSNull objects and replace them by an empty string.
2017-09-13 13:58:32 +02:00
Palmero, Antonio
09ef25bd0d Add support to C and C++ files in ‘Compile sources’
Previously the Compile Sources section was empty because it was not able
to recognize the file extension.
2017-09-08 17:21:33 +02:00
Yonas Kolb
ffd07ac5aa Merge pull request #45 from yonaskolb/project_attributes
Project attributes
2017-08-30 17:23:20 +02:00
Yonas Kolb
86b3e1334e load setting preset for combination of product and platform 2017-08-30 17:19:53 +02:00
Yonas Kolb
ea41e6bbc6 set project attributes 2017-08-30 17:06:41 +02:00
Yonas Kolb
183630159e don't bother linking target dependencies 2017-08-30 16:46:31 +02:00
Yonas Kolb
6774934a1b support include array in spec that merges other specs 2017-08-30 12:58:10 +02:00
Yonas Kolb
6bfb0eade6 fix "" not escaping in build scripts 2017-08-28 17:44:42 +02:00
Yonas Kolb
4bf00f42d5 fix embedded framework dependencies 2017-08-28 14:19:00 +02:00
Yonas Kolb
67c9626d98 add "$(inherited)" when setting automatic carthage FRAMEWORK_SEARCH_PATHS 2017-08-27 12:31:45 +02:00
Yonas Kolb
59d289f6db automatically find Info.plist 2017-08-27 12:28:18 +02:00
Yonas Kolb
cb3232df9f add dependency embed settings 2017-08-27 11:55:44 +02:00
Yonas Kolb
1ef53e39f0 change Target.Dependency to a struct with embed 2017-08-27 11:53:16 +02:00
Yonas Kolb
d830c3c1e4 automatically generate carthage framework search paths 2017-08-26 23:43:41 +02:00
Yonas Kolb
0adce9371c generate carthage group in Frameworks 2017-08-26 22:15:41 +02:00
Yonas Kolb
d8ffafe4cf rename setting presets to setting groups 2017-08-26 18:38:39 +02:00
Yonas Kolb
6f9f194863 rename RunScript to BuildScript 2017-08-26 15:01:09 +02:00
Yonas Kolb
5126b0cb7a fixed localized files not being added to build phase of targets 2017-08-26 15:01:09 +02:00
Yonas Kolb
3cfd3ce816 swiftformat 2017-08-25 19:18:02 +02:00
Yonas Kolb
6c7cca1092 add option for carthageBuildPath 2017-08-25 16:22:40 +02:00
Yonas Kolb
e77faeddf3 upgrade to xcodeproj 0.1.1 2017-08-25 15:31:50 +02:00
Yonas Kolb
fc72702e33 update to xcodeproj 0.1.0 2017-08-25 15:05:31 +02:00
Yonas Kolb
91f8582d17 remove shell script escaping, as now escaped in xcodeproj 2017-08-25 11:39:17 +02:00
Yonas Kolb
edca4390e4 add BuildScript.runOnlyWhenInstalling 2017-08-24 17:02:27 +02:00
Yonas Kolb
f75e7f8140 remove com.apple.product-type. from product type settings 2017-08-24 11:41:14 +02:00
Yonas Kolb
6bc2ebef8e fix SettingPreset path 2017-08-24 11:23:26 +02:00
Yonas Kolb
5730417b61 read resources from share 2017-08-24 01:23:07 +02:00
Yonas Kolb
4dcfd68356 log missing SettingPreset files 2017-08-24 00:47:19 +02:00
Yonas Kolb
5f999a2ab1 fix xcodeproj 0.0.9 module changes 2017-08-04 08:52:30 +02:00
Yonas Kolb
823eceba75 add unit tests to target schemes 2017-08-04 00:23:52 +02:00
Yonas Kolb
1d0e310e3d dont't write PBXBuildFile settings if empty 2017-08-03 22:02:58 +02:00
Yonas Kolb
92dcc3739a only generate copy build phases when needed 2017-08-03 22:02:58 +02:00
Yonas Kolb
7dda61318d copy carthage dependencies in watch and message apps 2017-08-03 22:02:58 +02:00
Yonas Kolb
038ee6fde1 extension dependencies 2017-08-03 22:02:58 +02:00
Yonas Kolb
7a390bb31a change scheme build targets schema 2017-08-03 22:02:49 +02:00
Yonas Kolb
52fd803386 add target name to all child pbx objects when generating uuid 2017-08-02 21:25:50 +02:00
Yonas Kolb
3d42c95e18 add spec validation for missing target config files 2017-08-02 21:15:19 +02:00
Yonas Kolb
b71eb02496 fix duplicate uuids 2017-08-02 13:29:45 +02:00
Yonas Kolb
63d98adb65 user PathKit for resolving absolute paths 2017-08-02 12:54:07 +02:00
Yonas Kolb
9cc1e50824 add run script support 2017-08-01 18:40:40 +02:00
Yonas Kolb
03b212c517 support absolute paths 2017-08-01 18:08:43 +02:00
Yonas Kolb
560cec746a add format code script 2017-07-31 12:32:50 +02:00
Yonas Kolb
4614073cfa rename Spec to ProjectSpec and moved into its own module 2017-07-28 16:32:35 +02:00
Yonas Kolb
be6f25d2fd deterministic UUIDS 2017-07-28 00:20:38 +02:00
Yonas Kolb
28e12e5464 tweak Settings description 2017-07-27 15:00:54 +02:00
Yonas Kolb
2357146b06 overhaul build settings 2017-07-27 14:41:18 +02:00
Yonas Kolb
fd011213bb reorder build setting merging 2017-07-27 12:10:43 +02:00
Yonas Kolb
9d5342d301 buildPresets 2017-07-26 23:18:45 +02:00
Yonas Kolb
4e35dc6b02 remove Spec.configVariants and move to Target.generateSchemes 2017-07-26 19:58:34 +02:00
Yonas Kolb
fb18197b27 generate schemes 2017-07-26 18:52:07 +02:00
Yonas Kolb
335a4af5e5 generate target scheme variants 2017-07-26 12:55:21 +02:00
Yonas Kolb
9cbd08e960 config variants 2017-07-26 12:54:37 +02:00
Yonas Kolb
bb300ca1f3 refactoring 2017-07-26 12:40:45 +02:00
Yonas Kolb
2b920ff393 support multiple sources 2017-07-26 12:40:25 +02:00
Yonas Kolb
66be8cdc9a change from XCTest to Spectre 2017-07-26 00:55:11 +02:00
Yonas Kolb
6b2f360119 more tests 2017-07-25 23:13:16 +02:00
Yonas Kolb
4a90a065dc move path out of Spec 2017-07-25 23:13:16 +02:00
Yonas Kolb
a777436e20 use spec.name for generated project name 2017-07-25 23:13:16 +02:00
Yonas Kolb
4e56536a61 fix error when build setting presets are empty 2017-07-25 09:31:29 +02:00
Yonas Kolb
cd209a1ced automatically run carthage copy script 2017-07-25 01:24:23 +02:00
Yonas Kolb
d84971a612 framework dependencies 2017-07-25 01:24:23 +02:00
Yonas Kolb
ddb076ec91 carthage dependancies 2017-07-25 00:32:36 +02:00
Yonas Kolb
13d59d5fe1 fix group issue 2017-07-24 23:58:29 +02:00
Yonas Kolb
29002edaf5 fix group children not being in order 2017-07-24 23:38:20 +02:00
Yonas Kolb
2201f14f11 support shared sources 2017-07-24 23:38:20 +02:00
Yonas Kolb
8845ba98b5 generate target base configurations 2017-07-24 18:11:39 +02:00
Yonas Kolb
779f71f5a6 don't add Info.plist and .xcodeconfig to build files 2017-07-24 14:02:11 +02:00
Yonas Kolb
6e62645493 fix nested sources 2017-07-24 13:51:25 +02:00
Yonas Kolb
be77dd1826 write targets in order 2017-07-24 13:37:29 +02:00
Yonas Kolb
964cc65d7a generate group ids in order 2017-07-24 13:26:58 +02:00
Yonas Kolb
d62bfe0c70 spec: make targets an array for ordering 2017-07-24 13:17:55 +02:00
Yonas Kolb
1e3bba46ce changed dependency syntax 2017-07-24 12:46:01 +02:00
Yonas Kolb
46861d6a45 handle single source as well as array 2017-07-24 12:33:34 +02:00
Yonas Kolb
e7c98db0da handle short form of product types 2017-07-24 12:33:16 +02:00
Yonas Kolb
41bdb6ea32 embed frameworks 2017-07-23 23:35:28 +02:00
Yonas Kolb
df161abdfb localize sources 2017-07-23 23:12:14 +02:00
Yonas Kolb
07aebfdb2c add languages to project 2017-07-23 22:39:51 +02:00
Yonas Kolb
c369e8b0b2 treat .m as source files 2017-07-23 21:25:02 +02:00
Yonas Kolb
7b9008b2e3 move config preset build settings into project 2017-07-23 21:22:59 +02:00
Yonas Kolb
b1e86aca58 renamed setting presets 2017-07-23 21:10:58 +02:00
Yonas Kolb
74f0986ffb better build phases 2017-07-23 20:58:14 +02:00
Yonas Kolb
9e8150bf69 use yonaskolb/xcodeproj temporarily for swift 3 2017-07-23 14:02:53 +02:00
Yonas Kolb
49db993f52 cleanup 2017-07-22 21:59:29 +02:00
Yonas Kolb
bd0a741911 initializers on spec 2017-07-22 19:53:13 +02:00
Yonas Kolb
36eabc1383 framework linking 2017-07-22 12:42:05 +02:00
Yonas Kolb
11761e2bf0 spec linter 2017-07-22 11:15:37 +02:00
Yonas Kolb
14f411d8b0 build settings 2017-07-21 23:12:29 +02:00
Yonas Kolb
d2763ebe26 refactor generator 2017-07-21 12:24:17 +02:00
Yonas Kolb
1373ec19ac refactored 2017-07-20 23:24:53 +02:00
Yonas Kolb
3c8062ac74 Test project 2017-07-19 18:33:43 +02:00
Yonas Kolb
9bd5568f6e generate product type 2017-07-19 15:22:22 +02:00
Yonas Kolb
24eacc1f29 generate schemes 2017-07-19 15:15:21 +02:00
Yonas Kolb
ef402f6e36 initial commit 2017-07-19 14:55:01 +02:00