Commit Graph

963 Commits

Author SHA1 Message Date
Brentley Jones 5ac96741bc Improved Application Extension scheme generation (#932)
* Default extensions to launchAutomaticallySubstyle "2"

* Don't use debugger launcher with extensions

Xcode schemes don't use the LLDB launcher, even when debugging is enabled.

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-09-06 15:40:32 +10:00
Samuel Giddins c8b24acbdd Allow creating intermediary groups outside of the project directory (#892) 2020-09-02 14:45:27 -07:00
Andrew Reach cd55bfbdfe Fix a bug in computing relative paths. (#915)
Once a difference in path components between base and self has been
encountered, it is no longer valid to skip over common components.
2020-08-17 08:39:31 +10:00
Brentley Jones bc51191a3a Add support for App Clips (#909)
* Add support for App Clips

Embeds App Clips into the containing app when they are a dependency.

* Patch #909 to not fail CI (#917)

Co-authored-by: Dan Fleming <dflems@spotify.com>
2020-08-16 20:02:56 +10:00
Bartosz Polaczyk 1d2a28490f Add custom lldinit for a scheme (#929)
* Add customLLDBInit

* Add changelog info to a valid bucket

* Update PR number

* Add fixture tests

Co-authored-by: Bartosz Polaczyk <bartoszp@spotify.com>
2020-08-12 16:13:47 +10:00
tokizo 410f644a2f Delete unnecessary processes. (#927) (#928)
* Delete unnecessary processes.

* move value assignment up above
2020-08-11 15:15:27 +10:00
Kiran Thorat 691ca93677 Fixes for embedding SDK dependencies. (#922) 2020-08-06 09:13:13 +10:00
Cody Vandermyn 727a648623 Add ability to skip the entire test target (#916)
* add ability to skip the entire test target

* when skipped is true, add it to the toJSONValue dictionary

* Add changelog entry
2020-08-05 20:05:23 +10:00
Yonas Kolb f631b6427c Update to 2.17.0 2020-08-04 20:34:56 +10:00
Kiran Thorat 142f84429d Fixed issue of optionally excluding swift package from target dependencies. (#920)
fixed typo and updated changelog for fixes
2020-08-04 16:09:31 +10:00
Yonas Kolb 20a99e5018 Add FileTypes for cross project file options (#914)
* move BuildPhase

* add fileTypes

* update changelog
2020-08-04 09:14:32 +10:00
Muhammad Muizzsuddin d68900e313 Fix app extension scheme generation (#899)
* Fix XCScheme generation for Extension

* Use schemeTarget
2020-07-26 22:17:32 +10:00
Jared Sorge 331c3da0ef Add Target option for copying frameworks when installing (#912)
* Add copy files on install option

* Add documentation

* Add tests

* Add to the target’s JSON if true

* Add changelog entry

* Add test for outputted pbxproj file
2020-07-26 22:15:42 +10:00
Brentley Jones fc58e084b9 Update XcodeProj to 7.13.0 (#908)
This has support for App Clips.
2020-07-15 00:53:18 +10:00
Khaos Tian 37e1f72531 Treat all directories with known UTI as file wrapper (#896)
* Only allow folder with unknown UTI

* Update fixture

* Use fileGroups instead of fixtures.

* Change log

* Add to the right place

* Rename title
2020-06-25 18:39:04 +10:00
Yonas Kolb 10dc80123b Update to 2.16.0 2020-06-17 18:20:20 +10:00
Yonas Kolb 7da953a488 swift format 2020-06-17 18:12:34 +10:00
Yonas Kolb 0964a7ed30 Revert "Add staticBinary linkType for Carthage dependency (#847)"
This reverts commit d88d385757.

# Conflicts:
#	CHANGELOG.md
#	Sources/XcodeGenKit/PBXProjGenerator.swift
#	Tests/XcodeGenKitTests/ProjectGeneratorTests.swift
2020-06-17 17:56:02 +10:00
Yonas Kolb 179eec45d9 rename executableName to executable 2020-06-17 17:23:17 +10:00
Maciej Piotrowski 07c6e200ee Update ProjectSpec to use executable (#884)
* Update ProjectSpec.md

* Updates `toJSONValue()` to include `executable` key
2020-06-17 16:41:48 +10:00
Jerry Marino 1e3f93a859 Improve target dependency not found fatalError (#883)
It's pretty tricky to find out how to fix it otherwise. Hitting this
often when using XcodeGen with XCHammer for Bazel Xcode projects.
XCHammer simply pulls in transitive targets, but users can filter out a
subset of targets based on paths. Both XCHammer and XcodeGen Yaml give
users flexibility for specify what targets are in their Xcode project,
so it's useful to give them a better validation error if they create
one.
2020-06-09 15:55:04 +10:00
Nikita Kukushkin 86c9812582 Allow skipping compile source build phase for bundles (#878)
* Add `.bundle` to `canSkipCompileSourcesBuildPhase`

* Fix tests

* Update fixtures

* Update CHANGELOG.md
2020-06-05 18:54:48 +10:00
Joseph Colicchio 1f95a41b85 Compile xcmappingmodel files instead of copying them (#834)
* Compile xcmappingmodel files instead of copying them

* Add test for xcmappingmodel

* Update changelog

* Fix xcmappingmodel reference to avoid folder containing xml

* Fix xcmappingmodel contents to avoid test failure

* Tweak yaml to fix compiler flag on xcmappingmodel

avoid `-Werror` added to xcmappingmodel compiler flags, which was preventing compilation
2020-06-04 15:22:33 +10:00
Joeri Djojosoeparto 7ec2f7f8e3 Feature: Ability to set executable to Ask to Launch (#871) 2020-05-29 07:53:48 -05:00
Igor Ranieri Elland 463db0616d Added ability to name executable target in schemes Run configuration. (#869) 2020-05-28 07:50:52 -05:00
Igor Ranieri Elland 92aaebb9d5 Added ability to name the executable target in schemes. (#866)
```
schemes:
  MyScheme:
    build:
      executable: MyExecutable
      targets:
      ...
```

Co-authored-by: Igor Ranieri Elland <igor.ranieri@de.bosch.com>
2020-05-20 08:05:03 -05:00
Khaos Tian 474d8f6907 Bugfix: Ensure folder and wrapper directories are correctly set on generated project (#862)
Check for UTI type instead of hardcoded extensions.
2020-05-18 12:21:34 -05:00
Akio Yasui 2ed9a81d81 Optimize simplifying paths for faster project generation (#857) 2020-05-12 10:28:49 -05:00
Maciej Piotrowski 4d6e63e880 Adds uncluttering dumped YAML manifest from nil entries. (#858)
* Adds uncluttering dumped YAML manifest from `nil` entries.

* Uses required type of a dictionary

* Update CHANGELOG.md

Co-authored-by: Maciej Piotrowski <maciej.piotrowski@allegro.pl>
2020-05-11 20:51:01 +10:00
Jeff Lett 98275e9a06 Adding graphviz support in dump (#852)
* Adding graphviz support in dump
Added tests

* Updating graph viz to use UML formatting
Updating README
Adding Changelog entry

* Adding dependency type to graphviz display
2020-05-04 20:52:49 +10:00
Akio Yasui f25a8955ba Don't link transitive static carthage libraries (#853) 2020-05-02 12:18:12 -05:00
Toshihiro Suzuki 25f56acc4c Fix linking of multiple products from the same Swift Package (#830)
* link dependency.package.products transitively

* update test

* changelog

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-05-02 16:11:50 +10:00
Daiki Matsudate d88d385757 Add staticBinary linkType for Carthage dependency (#847) 2020-05-01 12:54:12 -05:00
Akio Yasui f3d2d09cd6 Don't deduplicate files in include with different paths but a same name (#849)
* Distinguish included files by their full path

* Add test with same-name includes

* Update CHANGELOG
2020-04-29 10:20:28 +10:00
Beniamin 0ad02b7e26 Add ability to set an order of groups (#613)
Co-authored-by: Beniamin Sarkisyan <bsarkisyan@projectx019.com>
2020-04-28 10:32:10 -05:00
Ian Leitch f010771a30 Generate correct PBXTargetDependency for external targets. (#843) 2020-04-23 12:25:25 -05:00
Ian Leitch 13ed034f5a More static library naming improvements. (#842) 2020-04-23 12:23:58 -05:00
Brentley Jones 0319116f94 Prevent tests from being set as launch actions (#835)
When a scheme only contains a test target, and you want it to build when "Building for Run", you don't want the test target to be set as the launch action. This fixes that.

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-04-23 08:00:44 -05:00
Maciej Piotrowski d741d77159 Fixes dumping project references in Project.swift (#840)
* Update Project.swift

* Update CHANGELOG.md
2020-04-23 12:06:49 +10:00
Sam Kirchmeier aeb65969d4 Automatically include bundles in the Copy Bundle Resources build phase (#838) 2020-04-22 07:59:43 -05:00
Ian Leitch 4ae08453c3 Fix handling of SWIFT_INSTALL_OBJC_HEADER when its value is YES/NO. (#827)
* Fix handling of SWIFT_INSTALL_OBJC_HEADER when its value is YES/NO.

* Update CHANGELOG.md

* Address PR feedback.
2020-04-15 10:55:56 +10:00
Brentley Jones e44dcd3948 Set scheme actions to build step for TargetScheme (#823)
Adjusts the preActions and postActions of a TargetScheme to only be applied applied to the `build` step.
2020-04-13 23:30:46 +10:00
Ian Leitch 7ff577911d Prefix static library target filenames with 'lib' to match Xcode. (#831)
* Prefix static library target filenames with 'lib' to match Xcode.

Given a target named 'MyTarget', Xcode automatically prefixes the filename with 'lib', resulting in the filename 'libMyTarget.a'.

* Update CHANGELOG.md

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2020-04-13 21:49:17 +10:00
Fumito Nakazawa 18fae50c86 Fix to prevent duplicate addition of carthage static frameworks (#829)
* Check carthageLinkType is static

* Update changelog
2020-04-13 21:44:14 +10:00
Asif 400c19ee9a Bugfix: Consider folders with dot in it when generating projects (#826)
* Bug fix in SourceGenerator

Folders which would have a dot in it, would be added to Copy Bundle Resources even though it contained swift files. This commit, updates the if checks to check if the extension is not of type lproj or xcassets or bundle. This would let Xcodegen handle paths with dots in it

* Refactor SourceGenerator.swift getGroupSources function

* Add FolderWithDot2.0 to TestProject/App_iOS

* Update TestProject fixture with SwiftFileInDotPath and FolderWithDot2.0 changes

* Update test to assert bundles are included in resources

* Remove intentDefinition from whitelistedDirectoryExtensions because it's not a directory, it's always a file so the check is not required
2020-04-09 07:47:54 -05:00
Ian Leitch b1edbda583 Add --project-root option to generate command. (#828) 2020-04-08 14:20:54 -05:00
Andrés Cecilia Luque 7afcf1f5f7 Fixed issue when linking and embeding static frameworks: they should be linked and NOT embed (#820) 2020-04-07 10:14:42 -05:00
Sebastian Celis 0328fa03e7 Add improved support for simple iOS sticker packs (#824)
* Allow messages applications to skip the compile sources phase

By default, simple iOS sticker packs created in Xcode do not include
a compile sources phase. This change will allow messages applications
with an empty list of sources to skip that phase entirely.

* Add support for launchAutomaticallySubstyle in run schemes

This is especially important for simple iOS sticker packs that require
this run scheme setting to be set to 2 in order to run the scheme
properly.
2020-04-06 13:37:37 -05:00
Michael Eisel c3693d4098 Optimize bottlenecks (#803) 2020-04-03 11:31:48 -05:00
Yonas Kolb 01c6959f48 Update to 2.15.1 2020-04-03 10:32:22 +11:00