87 Commits

Author SHA1 Message Date
Jierong Li d1dd93aac4 Rebase #177 - Shared breakpoints support (#693)
* Resolves #173 - Shared breakpoints support

* Added breakpoints full documentation

* Invalid breakpoint just throw JSONUtilities decoding error.

* Use enumeration types instead of String for extensionIDs

* Remove a necessary line

* Remove unnecessary custom Equatable implementation

* Update CHANGELOG.md

* Ignore empty breakpoints

* Update Docs/ProjectSpec.md

Fix a typo

Co-Authored-By: Yonas Kolb <yonaskolb@users.noreply.github.com>

* Change some properties that should be Int to Int

* Create 2 typealiases

* Use BreakpointType where it is missing

* Remove unused Location

* Change some names

* Add Breakpoint.Scope

* Add Breakpoint.StopOnStyle

* Change the type of the raw value to String

* Remove some properties that may cause confusing

* Require filePah and line when the type is .file

* Add tests about decoding breakpoints

* Add Breakpoint.Action.ConveyanceType

* Add default value for waitUntilDone

* Add Breakpoint.Action.SoundName

* Add tests about decoding breakpoint actions

* Fix some issues in ProjectSpec.md

* Improve ProjectSpec.md

* Add missing condition

* Add breakpoints to project.yml

* Use unwarp

* Remove the Breakpoint suffix

* Refactor BreakpointType

* Refactor Breakpoint.Action

* Remove unnecessary properties

* Adjust the line wrapping style for BreakpointGenerator

* Support column breakpoints

---------

Co-authored-by: Alex Rupérez <alejandro.ruperez@intelygenz.com>
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2023-02-28 22:00:39 +11:00
Wendy Liga 43e40a9efc Added support for scheme management (#1142)
* wip

* Added scheme management metadata properties to TargetScheme

* wip

* Added Scheme.Management for metadata

* use sharedDefault

* move generateSchemeManagement to SchemeGenerator

* revert

* update changelog

* update docs

* update test case

* remove

* remove unused file

* revert

* changed on fixtures project

* Updated ProjectSpec docs index

* User Scheme.Management also for TargetSchemes, use XCUserData

* Changelog

* Switch XcodeProj back tuist/XcodeProj - 8.9.0

* Reindent TOC Docs/ProjectSpec.md

* Revert swift tools version

---------

Co-authored-by: Tieme van Veen <tiemevanveen@hotmail.com>
2023-02-24 09:49:57 +11:00
Aleksei Sapitskii c082bc0c7c Fix XcodeGen building after XcodeProj update to 8.8.0 (#1228)
* Fix XcodeGen building after XcodeProj update to 8.8.0

**Reason**
- XcodeProj has been updated and has API breaking changes

**Content**
- Added new enum case handling in `Linkage`
- Renamed the enum case name for `XCWorkspaceDataFileRef.init`

* add new product type to docs

* update changelog

Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
2022-07-16 16:46:42 +10:00
Yonas Kolb 7c510af3d7 Fix Xcode alert on generation (#1072)
* fix xcode warning alert on regeneration

* commit fixture diffs

* update changelog
2021-05-06 08:33:42 +10:00
Ken Tominaga c0c998b429 Set xcodeproj path in project.xcworkspace/contents.xcworkspacedata (#793)
* Set xcodeproj path in project.xcworkspace/contents.xcworkspacedata

* Update CHANGELOG.md
2020-02-28 14:40:37 -06:00
giginet 80808d69c8 Rename 2019-10-22 23:37:01 +09:00
giginet 7db2d2c526 Rename to projectDirectory 2019-10-08 22:52:51 +09:00
giginet 44c7a0cae2 Pass projectDestinationDirectory 2019-10-08 22:48:42 +09:00
yonaskolb 745be5fc1d update import name 2019-06-26 16:49:10 +10:00
Yonas Kolb e7ef30a241 refactoring 2018-11-03 21:33:27 +11:00
Yonas Kolb d3188a83ff extract scheme generator 2018-10-19 00:29:45 +11:00
Yonas Kolb 8d6a70bdd0 Merge branch 'master' into xcodeproj_5
# Conflicts:
#	.circleci/config.yml
#	Sources/XcodeGenKit/PBXProjGenerator.swift
#	Tests/Fixtures/TestProject/Project.xcodeproj/project.pbxproj
#	Tests/XcodeGenKitTests/ProjectFixtureTests.swift
#	Tests/XcodeGenKitTests/ProjectGeneratorTests.swift
2018-10-08 22:00:45 +11:00
Yonas Kolb 010487ec35 use xcodeproj scheme blueprint 2018-10-04 20:25:18 +10:00
Yonas Kolb 0116301227 swift_format 2018-10-01 13:19:29 +10:00
Yonas Kolb 1911d42d27 remove reference generator ids 2018-10-01 12:53:16 +10:00
Jerry Marino 243b26a4b0 Make validation of Xcode projects optional
Validation requires several things of the Xcode project, one being that
files are already on disk. In some cases, it's useful to generate
projects containing files that don't exist on disk yet. Additionally,
this is useful for testing purposes, and generating projects on a
machine where the files don't exist.
2018-09-26 10:53:50 -07:00
Yonas Kolb 84f1c65632 update to xcodeproj 6 2018-09-25 23:38:38 +10:00
Yonas Kolb e97b002655 upgrade to xcodeproj 5 2018-09-25 21:08:11 +10:00
Yonas Kolb 2dbd897b3a Update to 1.11.2 2018-09-19 21:10:25 +10:00
Vlad Gorloff 69a3f0f930 Eliminated copy/paste code. 2018-09-18 17:17:46 +02:00
Vlad Gorloff eba2e3ab86 Fix for issue https://github.com/yonaskolb/XcodeGen/issues/392. 2018-09-11 16:57:23 +02:00
Oleksandr Skrypnyk 769c49f728 Add additional params to archive action 2018-08-02 16:07:18 +03:00
Yonas Kolb 01815e7e4e Update to 1.10.0 2018-07-03 21:45:00 +10:00
Brentley Jones cc4674c6b8 Fix launch action to not run frameworks
Currently generated schemes incorrectly are launchable for frameworks. This change implements them in the same way that Xcode naturally does.
2018-06-29 12:39:57 -05: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
Linus Unnebäck 3d98a48637 Target Xcode 9.3 2018-04-04 17:08:26 +01:00
Yonas Kolb a1b631b405 add pre and post actions to target scheme 2018-03-30 01:47:25 +11:00
toshi0383 0a37fd54e3 fix and refactor into extensions 2018-03-01 07:53:27 +09:00
toshi0383 ead24e8ce3 Remove unnecessary diff 2018-02-28 00:23:50 +09:00
toshi0383 77103a3c36 Fix shouldUseLaunchSchemeArgsEnv disabling logic 2018-02-28 00:18:08 +09:00
Jakub Turek dcb098a39f Implement setting schema variables in xcodeproj 2018-02-26 22:22:07 +01:00
Rahul Malik 048ed75ac4 Update for comments 2018-02-13 18:48:10 -05:00
Rahul Malik 0d5a9b4da7 Add parallelizeBuildables and buildImplicitDependencies flags to the build
scheme settings
2018-02-13 17:26:27 -05:00
Yonas Kolb 52c7316ce7 fix scheme buildable reference 2018-01-30 15:25:42 +11:00
Yonas Kolb 920767be1f add default test action language 2018-01-30 15:25:39 +11:00
Yonas Kolb cb5072d1c4 set scheme version 2018-01-30 15:25:32 +11:00
Dave Lee 59e70dfddf Support use of target setttings in execution actions 2018-01-29 12:23:34 -08:00
Dave Lee df20befa61 Pass scheme execution actions down to xcproj 2018-01-25 16:04:33 -08:00
Yonas Kolb a176f85875 xcproj 4.0 2018-01-25 20:59:28 +10:30
Yonas Kolb 75e0644b99 wrap long lines 2017-12-26 18:47:18 +08:00
Yonas Kolb e75b1c1e89 format code 2017-12-26 17:56:02 +08:00
Yonas Kolb 7c7bbce783 refactor TargetScheme -> Scheme initialization 2017-12-21 19:02:29 +08:00
Valerii Hiora 9bcd1db486 Missed one more testables occurence 2017-12-21 10:58:37 +02:00
Valerii Hiora 5a3e37218d Added support for testables in Scheme
Fixes #193

This addresses the issue that it was impossible to test targets if
custom scheme was used by providing array of testables to `Test` action.

Now it should be possible using the following syntax:

```yaml
STCore:
  build:
    targets:
      - target: STCore
        buildTypes: all
  test:
    testables: [STCoreTests]
    config: Staging-Debug
```

Note that original example in #193 has to be modified for this change
as it causes a confusion in Xcode: if we have 2 targets `STCore` and
`STCoreTests`, if `STCoreTests` is also added as testable Xcode
duplicates test target in build actions (i.e. `STCore`, `STCoreTests`,
`STCoreTests` are shown).
2017-12-21 10:50:47 +02:00
Yonas Kolb 8864e4b1b6 Merge pull request #199 from vhbit/overwrite-cmdargs
Fixed test/profile command line args not being passed
2017-12-21 16:35:57 +08:00
Valerii Hiora 89061e316d Fixed test/profile command line args not being passed
It's not enough just set command line arguments - there is a separate
flag in scheme, which allows them to overwrite default launch arguments.

Now that flag is automatically set if there are any args provided.

Fixes #198
2017-12-21 10:25:08 +02:00
Yonas Kolb 5a30baf77e add xcodeVersion option 2017-12-20 23:13:31 +08:00
Brandon Kase 69b1368013 Support Legacy Targets (#175)
XcodeGen now supports "External Build Tool" target type (internally called
PBXLegacyTarget in Xcode). This is implied when the target provides a
`LegacyTarget` field in its spec.

PBXLegacyTargets are just like normal targets but the `isa` is different
and they have a notion of a buildTool. Most of the target logic doesn't
have to change.
2017-12-18 13:26:49 -08:00
Rahul Malik 8a46cde0b1 Add commandlineArguments to XcodeGenKit Scheme specifications (#172)
* Add commandlineArguments to XcodeGenKit Scheme specifications

* Update xcproj reference, format code, cleanup usage of
commandlineArguments in ProjectGenerator

* Update docs, CHANGELOG and equality checks in Scheme.swift

* Doc update

* Update fixture tests to have command line arguments. Fix remaining issue
with Scheme creation through "Test Scheme"
2017-11-28 11:02:59 -08:00