Commit Graph

177 Commits

Author SHA1 Message Date
Yonas Kolb ebb945ede2 add spec validation that a spec has debug and release configs when generating a target scheme 2017-10-26 23:52:18 +02:00
Yonas Kolb e44868530f Merge pull request #111 from yonaskolb/config_reference
Partial config matching
2017-10-26 23:32:10 +02:00
Yonas Kolb 08079c914e make Settings.configs case insensitive 2017-10-26 21:53:16 +02:00
Yonas Kolb 11abfb0ae2 apply partial matching to Settings.configs 2017-10-26 21:50:45 +02:00
Yonas Kolb 5c65ef13b7 add setting config reference linting 2017-10-26 19:40:46 +02:00
Keith Smiley 08de6077d9 Add option for not linking dependencies
This adds a new attribute to Dependency that allows consumers to choose
to not link a dependency. This is useful for if you have this dependency
tree with static libraries:

App -> A -> Shared
App -> B -> Shared

Where A and B both share a static library dependency, that is finally
linked into App. If Shared is added to the link phase of A and B, you
end up with duplicate symbols during the link phase. With this change
consumers could set link: False on A and B's dependency on Shared, this
way Shared will get build before A and B, but not linked.
2017-10-25 15:55:49 -07:00
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
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
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