Commit Graph

216 Commits

Author SHA1 Message Date
Brentley Jones
8f15a2bbdb Fix duplicated build file IDs for frameworks 2018-08-14 09:05:31 -05:00
Brentley Jones
c7d0af1cab Add to FRAMEWORK_SEARCH_PATHS for framework dependencies 2018-08-14 08:51:59 -05:00
Brentley Jones
5f2b4074a6 Automatically copy Swift.h header for static libraries 2018-08-09 09:52:18 -05:00
Brentley Jones
b1c8fb1db6 Automatically copy modulemap files correctly 2018-07-31 08:13:30 -05:00
Brentley Jones
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 Kolb
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 Kolb
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 Kolb
c755458f90
Merge pull request #308 from yonaskolb/ks/frameworks
Support frameworks in source paths
2018-05-24 16:26:35 +10:00
Yonas Kolb
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 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