Commit Graph

226 Commits

Author SHA1 Message Date
Yonas Kolb
014b99cb29 Merge pull request #107 from yonaskolb/duplicate_carthage_files
Fix duplicated carthage file references
2017-10-25 22:02:54 +02:00
Yonas Kolb
8e95044d55 fix carthage file references from being duplicated 2017-10-25 21:05:53 +02:00
Yonas Kolb
9f14fb88b1 Merge pull request #105 from bkase/fix-exclude-typo
Remove sourceExcludes
2017-10-25 09:31:25 +02:00
Brandon Kase
6d4449192c Remove unused sourceExcludes 2017-10-24 15:05:57 -07:00
Yonas Kolb
6e795fbc3c Merge pull request #103 from yonaskolb/spec_base_path
Move basePath into ProjectSpec
2017-10-24 22:31:46 +02:00
Yonas Kolb
2d1d81246d log explicit missing spec error 2017-10-24 22:21:21 +02:00
Yonas Kolb
779397ec8d move basePath into ProjectSpec 2017-10-24 21:30:06 +02:00
Yonas Kolb
8d1e77b9c3 update equatable 2017-10-24 11:24:34 +02:00
Yonas Kolb
174ca9b385 Merge pull request #101 from yonaskolb/setting_preset_option
Add settingPresets option
2017-10-23 12:59:26 +01:00
ryohey
24175c3411 fix duplicate file reference 2017-10-23 11:49:11 +09:00
toshi0383
44b2710846 Move logic into spec.get*BuildSettings 2017-10-23 07:47:30 +09:00
toshi0383
9443dd2686 Merge remote-tracking branch 'upstream/master' into ts-no-overwriting-xcconfig-value 2017-10-23 06:56:59 +09:00
Yonas Kolb
0204f27c82 rename Options.applySettingPresets to Options.settingPresets 2017-10-22 20:37:03 +01:00
Yonas Kolb
20f7797df7 add applySettingPresets option 2017-10-22 19:41:54 +01:00
Yonas Kolb
6a9de2208a don't apply base project settings if config doesn't have a type 2017-10-20 12:24:52 +01:00
Yonas Kolb
c244e31676 Merge branch 'master' into ks/link-dependencies 2017-10-19 00:13:43 +02:00
Yonas Kolb
689ac58f71 Merge pull request #95 from keith/ks/copy-resources
Allow copying of resource files from targets
2017-10-19 00:10:53 +02:00
Yonas Kolb
22b1ba9045 Merge pull request #94 from keith/ks/resource-files
Exclude more file types from resources
2017-10-18 18:23:37 +02:00
Keith Smiley
5c90d6189c
Don't copy libraries
These should only be linked. If we add a library to the project here,
Xcode will remove it next time it touches the project
2017-10-18 08:50:55 -07:00
Keith Smiley
739b9f36f7
Link framework and library dependencies 2017-10-18 08:50:54 -07:00
Keith Smiley
d24df8677c
Allow copying of resource files from targets
Previously we were assuming that all targets that were not app
extensions should be added to the copy frameworks build phase, even
though we didn't have any guarantee they were actually frameworks. This
updates that to ensure that things copied in the copy frameworks phase
are actually frameworks, and then falls back to the resources phase
instead. This fixes the ability to embed bundle targets, and copy them
as resources.
2017-10-18 08:44:14 -07:00
Keith Smiley
3ab7071703
Exclude more file types from resources
Entitlements files, gpx files, and explicit lproj directories should
never be included in a target's copy resources phase.

Ideally this would also include files with the plist extension, but
there are some outliers such as AppIntentVocabulary.plist.
2017-10-16 21:33:23 -07:00
Keith Smiley
5c39cf4e14
Add support for copying Watch apps
Watch apps aren't copied to the same place as other targets, they need
their own copy files phase with a custom path just for watch targets.
2017-10-16 21:31:27 -07:00
ryohey
859609158c fix localized sources 2017-10-16 11:58:21 +09:00
ryohey
2f2c89e0c1 fix localisation variant groups 2017-10-16 11:51:28 +09:00
Yonas Kolb
fd2bf39b28 Merge pull request #82 from toshi0383/ts-always-embed-and-link-frameworks-for-macos
Always embed and link frameworks for macOS
2017-10-13 23:12:36 +02:00
Eric Miller
6a168acb46 Remove workaround typealias 2017-10-12 07:37:22 -05:00
Eric Miller
5d9c3a9ab8 Update to xcproj 0.4.0 2017-10-10 13:39:18 -05:00
mironal
f6d6f17f1b sort carthage dependencies 2017-10-05 10:53:08 +09:00
toshi0383
d03fb7785e add guard for non-app target 2017-10-04 22:22:39 +09:00
toshi0383
c94de4d6cc Always embed and link frameworks for macOS 2017-10-04 22:22:39 +09:00
toshi0383
acb8963f72 Apply fix to func getCombinedBuildSettings 2017-10-04 22:21:57 +09:00
toshi0383
019efa00a9 Improve remove logic 2017-10-04 22:21:57 +09:00
toshi0383
4c838a3eec Avoid overwriting xcconfig value by presets value 2017-10-04 22:21:57 +09:00
mironal
d1efa9ac64 Add outputpaths to carthage copy-framewors script
According to Carthage README, the Output Files should be set to
`carthage copy-frameworks` script.

https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos
2017-10-04 15:02:35 +09:00
toshi0383
668a75fce8 Fix typo: dependancies => dependencies 2017-10-03 00:08:39 +09:00
Yonas Kolb
c23ad0033b don't add carthage dependency to copy-frameworks script if embed: false 2017-10-02 01:41:37 +02:00
Yonas Kolb
4c5401dd80 sort group files for APFS 2017-10-01 12:43:42 +02:00
Yonas Kolb
fec6066d91 updated to xcproj 0.3.0 2017-10-01 11:42:07 +02:00
Yonas Kolb
eef423970f filter out nulls from all yaml files including setting presets 2017-09-29 18:20:36 +02:00
Toshihiro Suzuki
4227ac243e No need carthage copy-frameworks for macOS app (#76)
* No need carthage copy-frameworks for macOS

* Update CHANGELOG.md
2017-09-29 17:51:08 +02:00
Toshihiro Suzuki
6901f8b325 Fix typo: dependancy => dependency (#75) 2017-09-29 17:34:01 +02:00
Toshihiro Suzuki
a271fec18d Fixed wrong directory path for macOS (#74)
* Fixed wrong directory path for macOS

before: Carthage/Build/macOS
after: Carthage/Build/Mac

* Update CHANGELOG.md
2017-09-29 17:23:01 +02:00
Yonas Kolb
8ddc129a2f automatically set TEST_TARGET_NAME if not defined 2017-09-28 14:31:41 +02:00
Yonas Kolb
a087827515 minor logging 2017-09-26 22:48:20 +02:00
Yonas Kolb
122340482c look for setting preset files in multiple places 2017-09-26 22:08:33 +02:00
Yonas Kolb
8a7bfa12fc format code 2017-09-26 14:22:15 +02:00
Yonas Kolb
fae35d6d67 add bundleIdPrefix to Equatable 2017-09-26 13:16:41 +02:00
Yonas Kolb
a3b0bd24b2 sort configs 2017-09-26 10:10:55 +02:00
Yonas Kolb
1c578d1a66 escape target name in auto generated PRODUCT_BUNDLE_IDENTIFIER 2017-09-25 21:08:15 +02:00
Yonas Kolb
a70c4c1821 rename old references to settings preset 2017-09-25 18:25:40 +02:00
Yonas Kolb
e2012736b0 add double space after emoji for terminal 2017-09-25 17:48:18 +02:00
Yonas Kolb
88c05b74cc exit on failure 2017-09-25 17:37:08 +02:00
Yonas Kolb
f3a60d5358 Merge pull request #68 from yonaskolb/include_replace
Add replace syntax for Include
2017-09-25 17:33:20 +02:00
Yonas Kolb
658c3f8477 Merge pull request #67 from yonaskolb/bundleIdPrefix
Add bundleIdPrefix
2017-09-25 17:26:44 +02:00
Yonas Kolb
c9e8e68bc5 move bundleIdPrefix to options 2017-09-25 15:30:15 +02:00
Yonas Kolb
c44b4f969f add some more comprehensive logging output with emoji 2017-09-25 14:44:39 +02:00
Yonas Kolb
c9c589c5ee add optional replace syntax when merging includes 2017-09-25 13:34:11 +02:00
Yonas Kolb
de8f885ae3 add bundleIdPrefix for generating PRODUCT_BUNDLE_IDENTIFIER 2017-09-24 21:21:57 +02:00
Yonas Kolb
5a1da760f8 print errors in red 2017-09-24 20:50:37 +02:00
Yonas Kolb
8343593bba Merge pull request #64 from yonaskolb/xcconfig
XCConfig files
2017-09-24 20:32:53 +02:00
Yonas Kolb
39c8af324c support single string for include 2017-09-24 20:22:32 +02:00
Yonas Kolb
1323117cf8 add validation for project fileGroups and configFiles 2017-09-24 19:48:42 +02:00
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
b768689c44 Merge pull request #54 from yonaskolb/target_map
Change targets from list to map
2017-09-18 21:51:12 +02:00
Yonas Kolb
956edd3350 upgrade to xcodeproj 0.1.2 2017-09-14 21:28:09 +02:00
Yonas Kolb
061bddd18b ability to override target name 2017-09-14 21:04:33 +02:00
Yonas Kolb
38bc3be64b change yaml targets from list to map 2017-09-14 20:53:34 +02:00
Yonas Kolb
05e7928c7c upgrade to Swift 4 2017-09-14 00:48:57 +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
4f14203e6c changed default spec name to project.yaml and project to directory 2017-08-30 15:03:22 +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
da4b382f51 generate multi platform targets 2017-08-26 16:17:15 +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