Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2.0] Remove PresetBuildConfiguration in favour of ConfigurationName #3400

Merged
merged 9 commits into from Sep 15, 2021

Conversation

pepicrft
Copy link
Contributor

@pepicrft pepicrft commented Sep 3, 2021

Short description 📝

As suggested by @kwridan I'm removing PresetConfiguration in favor of ConfigurationName. I took the opportunity to revisit the interfaces of all the scheme action models from ProjectDescription to name the configuration argument consistently, configuration. Moreover, I made all the constructors from the actions internal and exposed static methods to have the flexibility to modify the main constructor in the future without breaking the public contract.

Checklist ✅

  • The code architecture and patterns are consistent with the rest of the codebase.
  • The changes have been tested following the documented guidelines.
  • The CHANGELOG.md has been updated to reflect the changes. In case of a breaking change, it's been flagged as such.
  • In case the PR introduces changes that affect users, the documentation has been updated.

@pepicrft pepicrft mentioned this pull request Sep 3, 2021
3 tasks
import Foundation

/// It represent's a project configuration.
public struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Collaborator

@kwridan kwridan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @pepibumur !

Pushed a few updates to help out with the fixtures

Sources/ProjectDescription/BuildAction.swift Show resolved Hide resolved
options: RunActionOptions = .options(),
diagnosticsOptions: [SchemeDiagnosticsOption] = [.mainThreadChecker])
/// - Returns: Run action.
public static func runAction(configuration: ConfigurationName,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we may want to keep offering the default of .debug here

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the fixture ios_app_with_custom_scheme is failing due to method no longer having a default configuration - was there a reason it was omitted?

@kwridan
Copy link
Collaborator

kwridan commented Sep 3, 2021

I spotted a few candidates that could be migrated to leverage ConfigurationName:

  • CustomConfiguration.name
  • Cache.configuration

@pepicrft
Copy link
Contributor Author

pepicrft commented Sep 5, 2021

Thanks for the review @kwridan. I updated Cache.configuration from String to ConfigurationName, and I'll leave CustomConfiguration.name for another PR where I'll simplify all the build configuration models.

@pepicrft pepicrft force-pushed the remove-preset-configurations branch 2 times, most recently from 0fb6c2d to cda3765 Compare September 8, 2021 13:21
@pepicrft pepicrft force-pushed the remove-preset-configurations branch 2 times, most recently from 0e98ca0 to 3466d28 Compare September 13, 2021 10:21
Copy link
Collaborator

@kwridan kwridan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates @pepibumur - can I help with anything to finalise this?

options: RunActionOptions = .options(),
diagnosticsOptions: [SchemeDiagnosticsOption] = [.mainThreadChecker])
/// - Returns: Run action.
public static func runAction(configuration: ConfigurationName,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the fixture ios_app_with_custom_scheme is failing due to method no longer having a default configuration - was there a reason it was omitted?

@pepicrft
Copy link
Contributor Author

@kwridan feel free to push the fixes. I haven't found the time to take this to the finish line yet.

Pedro Piñera Buendía and others added 9 commits September 15, 2021 17:00
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
We are removing PresetBuildConfiguration in favor of ConfigurationName.
As part of this effort, I've also changed the public interfaces of the `XXAction.swift`
files to make the `init` internals and get some flexibility to improve the APIs in the future
without introducing breaking changes.
@pepicrft pepicrft merged commit 9fc1586 into release-2.0 Sep 15, 2021
@pepicrft pepicrft deleted the remove-preset-configurations branch September 15, 2021 17:02
pepicrft pushed a commit that referenced this pull request Oct 2, 2021
* [2.0] Remove cocoapods dependency (#3369)

* Remove the .cocoapods target dependency

* Remove fixture

* Update the documentation

* Remove more CocoaPods references

* Document why we dropped CocoaPods' API

* [2.0] Remove support for deprecated names of manifests (#3373)

* [remove-deprecatedFileName] remove - `Manifest.deprecatedFileName`

* [remove-deprecatedFileName] fix - adjusting codebase after removing `Manifest.deprecatedFileName`

* [remove-deprecatedFileName] remove - `app_with_old_config_name` fixture

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] fix - unit tests

* [remove-deprecatedFileName] change - update docs

* [remove-deprecatedFileName] change - update changelog

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] fix - acceptance tests

* [remove-deprecatedFileName] change - update changelog

* chore: remove deprecated methods (#3381)

* chore: remove deprecated methods

* fix: fixture compilation error

* fix: remove deprecated xcFramework usage

* fix: fix default template

* fix: fix SwiftUI template

* [2.0] Simplify TestAction's API (#3375)

* Simplify the TestActions public interface to initialize a test action

* Test PresetBuildConfiguration's codable

* Update the CHANGELOG.md

* Make constructors private and add a missing .targets method

* Some interface improvements

* Update CHANGELOG.md

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Some style fixes

* Fix the initialization logic

* Update CHANGELOG.md

Co-authored-by: Marek Fořt <marekfort@me.com>

* Update Sources/ProjectDescription/TestAction.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* Update Sources/ProjectDescription/TestAction.swift

Co-authored-by: Kas <kwridan@users.noreply.github.com>

* Fix acceptance tests

* Fix acceptance test

Co-authored-by: Pedro Piñera <pepibumur@gmail.com>
Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Marek Fořt <marekfort@me.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>

* [2.0] Remove "tuist doc" (#3401)

* Update cocoapods to version 1.11.0 (#3397)

* Update autoprefixer to version 10.3.4 (#3403)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Update gatsby-plugin-robots-txt to version 1.6.10 (#3404)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Improve tests of LinkGeneratorTests (#3409)

* Refactor LinkGeneratorTests to mock graphTraverser

* Fix format

* docs: add MarvinNazari as a contributor for code (#3422)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* 📦[Dependencies][SPM] Wire exclude to resources (#3305)

* Update tailwindcss to version 2.2.14 (#3428)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Update tailwindcss to version 2.2.15 (#3434)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Added Xcode 12.5.1 to tests and also made this version the default one. (#3427)

* changed and added Xcode 12.5.1

* text Xcode 13

* changed to runs-on: macOS-11

* some fixes

* removed duplicate

* Rebuild static framework

* Rebuild static framework in ios_app_with_static_frameworks

* Rebuild static framework in ios_app_with_static_frameworks

* Rebuild static framework in ios_app_with_transitive_framework

* Rebuild static framework in ios_app_with_transitive_framework macOS

* Execute `tuist` without `swift run` when executing acceptance tests

* Fix `generate yields` step

Co-authored-by: Stefan Fessler <Stefan.Fessler@external.erstegroup.com>
Co-authored-by: apps4everyone <stefan@apps4everyone.at>
Co-authored-by: Alfredo Delli Bovi <alfredo.dellibovi@gmail.com>

* Update prettier to version 2.4.0 (#3429)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.` (#3426)

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* [fix-acceptance-tests] fix - `Feature: Tuist dependencies.`

* feat: add support for .tuistignore in tuist edit command (#3415)

* Improve manifest detection and `tuist edit` performance by inspecting manifest signature (#3416)

* Improve execution time for Acceptance Tests on CI (#3435)

* Fix compilation issue

* [2.0] Remove PresetBuildConfiguration in favour of ConfigurationName  (#3400)

* [2.0] Remove "tuist doc" (#3401)

* Update autoprefixer to version 10.3.4 (#3403)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Update gatsby-plugin-robots-txt to version 1.6.10 (#3404)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* Add ConfigurationName and remove PresetBuildConfiguration

We are removing PresetBuildConfiguration in favor of ConfigurationName.
As part of this effort, I've also changed the public interfaces of the `XXAction.swift`
files to make the `init` internals and get some flexibility to improve the APIs in the future
without introducing breaking changes.

* Fix acceptance tests

* Update CHANGELOG

* Fix acceptance tests

* Fix acceptance test

* Fix RunAction

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* [2.0] Remove up (#3443)

* Remove up command

* Remove up from the sidebar

* Update the CHANGELOG

* Fix tests

* [2.0] Move test action options from `TestAction` to `TestActionOptions` (#3458)

* Move options from TestAction to TestActionOptions

* Fix broken integrations

* Update changelog with migration steps

Co-authored-by: Kassem Wridan <kwridan@bloomberg.net>

* Start writing the blog post about 2.0 release

* Add more content to the blog post

* Finish up the blog post for the 2.0 release

* Remove yarn.lock

* Add excerpt

* feat: remove automatic bundles and tests focus (#3501)

* feat: remove automatic bundles and tests focus

* chore: remove unused testTargetsDependingOn

* chore: update focus feature tests

* refactor: remove deprecated environment variables (#3493)

* refactor: remove deprecated environment variables

* fix: compilation errors

* 2.0 Flat configuration and custom configuration  (#3457)

* Fix missing test property (#3520)

- During some of the 2.0 changes to schemes we accidentally stopped propagating the `coverage` flag
- This didn't impact any production functionality as it was within an unused test utility

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Daniele Formichelli <df@bendingspoons.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Update projects/website/markdown/posts/2021-09-21-tuist-2.0/post.mdx

Co-authored-by: Luis Padron <luis.padron@compass.com>

* Address comment

* Version the documentation

* Remove secrets

* Remove CocoaPods from the documentation

* Rename targetAction to targetScript

* Update rubocop to version 1.22.0 (#3525)

Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>

* feat: improve performance loading Package.swift in parallel (#3529)

* Update the CHANGELOG

* Revert Package.resolved changes

* Fix building the website

* Some renames to scripts

* Fix tests

* Update the style of the header

Co-authored-by: Kamil Harasimowicz <kamil.harasimowicz@gmail.com>
Co-authored-by: Daniele Formichelli <df@bendingspoons.com>
Co-authored-by: Luis Padron <luis.padron@compass.com>
Co-authored-by: Marek Fořt <marekfort@me.com>
Co-authored-by: Kas <kwridan@users.noreply.github.com>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: Alfredo Delli Bovi <alfredo.dellibovi@gmail.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: apps4everyone <stefan@apps4everyone.at>
Co-authored-by: Stefan Fessler <Stefan.Fessler@external.erstegroup.com>
Co-authored-by: Kassem Wridan <kwridan@bloomberg.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants