Commit Graph
213 Commits
Author SHA1 Message Date
Brentley Jones b1c8fb1db6 Automatically copy modulemap files correctly 2018-07-31 08:13:30 -05:00
Brentley JonesandGitHub 717c899179 Merge pull request #345 from brentleyjones/modulemap
Add support for Copy Files build phase
2018-07-31 08:01:58 -05:00
Brentley Jones 5e96eedd78 Add support for Copy Files build phase 2018-07-30 08:14:06 -05:00
Brentley Jones ba6f3d0fd3 Default directlyEmbedCarthageDependencies to true for more targets
`directlyEmbedCarthageDependencies` is only `false` now for iOS/tvOS/watchOS applications.
2018-07-26 08:20:39 -05:00
Brentley Jones 0ec3b1d278 Make directlyEmbedCarthageDependencies work for downstream depenedenies
If using `transitivelyLinkDependencies` this already worked. In the future `getAllDependenciesPlusTransitiveNeedingEmbedding` and `getAllCarthageDependencies` should really be the same mechanism.
2018-07-24 19:56:52 -05:00
Brentley Jones b18cd551cb Default directlyEmbedCarthageDependencies to true for tests 2018-07-24 19:56:08 -05:00
Brentley Jones 8ebf27a122 Add directlyEmbedCarthageDependencies to Target
Allows for choice on if `copy-frameworks` or an `Embed Frameworks` build phase should be used to embed Carthage framworks. Defaults to `true` for macOS targets to match current behavior.
2018-07-24 19:56:08 -05:00
Brentley Jones 30d7195097 Adjust getAllCarthageDependencies to return unique dependencies
Copies the pattern from `getAllDependenciesPlusTransitiveNeedingEmbedding`. They should be combined into one solution eventually.
2018-07-24 19:56:08 -05:00
Brentley Jones 452310d464 Add names to non-generic Copy Files phases 2018-07-24 19:13:21 -05:00
Yonas KolbandGitHub b8058827c1 Merge pull request #356 from yonaskolb/sorting
Change group sorting
2018-07-24 23:34:15 +10:00
Brentley Jones 15af4fd1d9 Add requiresObjCLinking to Target
Allows a Target to indicate that any target that links to it needs to set `-ObjC` in `OTHER_LDFLAGS`.
2018-07-24 08:03:03 -05:00
Brentley Jones d6b4566b3c Move config generation to after dependency handling
Allows config to reference targer dependencies.
2018-07-24 08:02:19 -05:00
Yonas Kolb f51280485d added options.groupSortPosition 2018-07-24 22:59:24 +10:00
Yonas Kolb 2be5aabaff sort Projects and Frameworks groups at the end 2018-07-24 22:44:35 +10:00
Yonas Kolb 38e9a89c09 add aggregate targets to project 2018-07-24 22:06:31 +10:00
Yonas Kolb 884490f955 add attributes to AggregateTarget 2018-07-24 22:05:29 +10:00
Yonas Kolb 3b17164bbf add aggregate targets 2018-07-24 22:05:29 +10:00
Brentley Jones 80851e60b6 Utilize short circuit boolean logic to improve performance 2018-07-23 09:29:03 -05:00
Brentley Jones d6832479e4 Stop linking dynamic frameworks to static libraries 2018-07-23 09:23:14 -05:00
Brentley Jones 2e53422f82 Transitively link library.static dependencies 2018-07-23 09:23:14 -05:00
Brentley Jones 0afd7058bb Only link static libraries to executables 2018-07-23 09:23:14 -05:00
Keith Smiley ff0e403e52 Add showEnvVars to build scripts
This allows us to disable printing the environment in build logs.
2018-07-20 10:13:50 -07:00
Rohit Pal 4d964c0786 Use localizedStandardCompare to sort group 2018-07-17 17:55:37 +05:30
Yonas Kolb 9e0a9fc3dd Update to 1.10.1 2018-07-04 12:23:55 +10:00
Yonas Kolb b1497e2f8c Code sign all depencencies except executables 2018-07-04 09:50:00 +10:00
Brentley Jones b7ba3628e9 Fix typo "transient" -> "transitive" 2018-07-03 13:34:20 -05:00
Yonas Kolb 01815e7e4e Update to 1.10.0 2018-07-03 21:45:00 +10:00
Brentley Jones 55b0ed1eeb Add option to turn off transiently linking dependencies 2018-06-29 14:04:31 -05:00
Brentley Jones dd4f2e437a Transitively embed dependencies
If a target embeds dependencies (i.e. App and Test bundles) and a dependency has dependencies that can be embedded, then we should embed those dependencies as long as they weren't embedded along the way.
2018-06-29 13:17:02 -05:00
Yonas Kolb c79a205339 don't code sign target dependencies by default 2018-06-27 22:44:19 +10:00
Yonas Kolb c8bedc81b5 add dependency name to PBXContainerItemProxy deterministic reference 2018-06-27 22:43:25 +10:00
Yonas Kolb 438869e997 make format_code 2018-06-08 15:21:25 +10:00
Yonas KolbandGitHub 27032fce1d Merge pull request #296 from sascha/feature/legacy-target-fix
Remove file/product reference for legacy targets
2018-06-03 18:48:09 +10:00
Yonas KolbandGitHub c755458f90 Merge pull request #308 from yonaskolb/ks/frameworks
Support frameworks in source paths
2018-05-24 16:26:35 +10:00
Yonas KolbandGitHub 701df1c915 Merge pull request #306 from yonaskolb/build_rule
Add build rules
2018-05-24 16:22:06 +10:00
Keith Smiley 853c98bac1 Support frameworks in source paths
This adds support for users passing pre-compiled frameworks in as a
source file of a target, and correctly adding it to the copy frameworks
build phase. Previously it would be added to the copy resources build
phase.
2018-05-16 17:18:46 -07:00
Yonas Kolb 5f99d0c82d always generate Sources build phase 2018-05-14 10:38:43 +10:00
Yonas Kolb 542668d9f0 add build rules 2018-05-13 17:13:48 +10:00
Yonas Kolb 1ce6b97980 update to Swift 4.1 2018-05-12 15:10:18 +10:00
Keith Smiley c4ac000951 Iteratively discover carthage dependencies 2018-04-19 14:46:05 -07:00
Sascha Schwabbauer 29ca91c3a2 Remove file/product reference for legacy targets
Apparently legacy targets created by Xcode do not have a file or product reference. Xodeproj is unable to parse legacy targets generated with XcodeGen with the following error message:

`Xcodeproj doesn't know about the following attributes {"productReference"=>"FR_184465694726"} for the 'PBXLegacyTarget' isa.`

This commit removes file and product references for legacy targets.
2018-04-13 18:06:05 +02:00
Yonas Kolb bc0e90c3d6 Update to 1.9.0 2018-04-12 23:32:40 +10:00
Yonas Kolb 29f4fa2123 Rename uses of spec to project 2018-04-12 23:17:07 +10:00
Yonas KolbandYonas Kolb e589364ae8 rename ProjectSpec to Project and Project.Options to SpecOptions 2018-04-12 23:13:12 +10:00
Yonas Kolb 56b5a13674 Update to 1.8.0 2018-03-27 17:18:29 +11:00
Yonas Kolb b3ba1cb0ec automatically set DevelopmentTeam and ProvisioningStyle TargetAttributes 2018-03-27 15:47:23 +11:00
Yonas Kolb ebde9de151 Add target.attributes 2018-03-27 14:21:15 +11:00
Keith Smiley 6f95e57f45 Rename to defaultConfig 2018-03-19 15:18:46 -07:00
Keith Smiley e636664aaa Add defaultConfigurationName to options
This allows users to set the defaultConfigurationName project wide. This
setting corresponds to the drop down in the project settings that says
"Use CONFIG for command line builds". This affects which configuration
Xcode looks in for some settings, even if you pass `-configuration FOO`.
2018-03-19 13:47:02 -07:00
Yonas Kolb decfa2d770 listen to embed flag for carthage dependencies 2018-03-01 23:09:52 +11:00