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

Multiplatform Phase 3 - Expose support in ProjectDescription #5381

Closed
wants to merge 65 commits into from

Commits on Nov 16, 2023

  1. Introduce edges to Graph

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    8e25b91 View commit details
    Browse the repository at this point in the history
  2. Resolve all GraphDependency -> GraphDependencyReference via `depe…

    …ndencyReference(to:from:)
    
    This allows a unified path for applying platform filters
    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    34daa55 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e4c70da View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    518ec6f View commit details
    Browse the repository at this point in the history
  5. Linting

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    63096b3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    142585d View commit details
    Browse the repository at this point in the history
  7. Add logic to apply intermediate filters.

    This covers two scenarios
    
    Apply platform filters to transitive dependencies if they exist in intermediate steps
    Given: A -> (.ios) B and B -> C
    Then: A -> (.ios) C
    
    Remove dependencies if intermediate filters result in a disjoint set
    Given: A -> (.ios) B and B -> (.macos) C
    Then: A -> C should have `nil` platform filters, which results it it being removed as a transitive dependency.
    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    83d757a View commit details
    Browse the repository at this point in the history
  8. Linting

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    e8f272d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    902a770 View commit details
    Browse the repository at this point in the history
  10. Linting

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    19038a6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    97de5c8 View commit details
    Browse the repository at this point in the history
  12. Return nil instead of [] in these two terminal cases

    These remove the β€œalready visited” and β€œleaf dependency” branches from our traversal.  Including `[]` causes our logic to incorrectly resolve to filters when these branches should be excluded from that calculation.
    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    1f16419 View commit details
    Browse the repository at this point in the history
  13. Linting

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    5e34346 View commit details
    Browse the repository at this point in the history
  14. Add all to PlatformFilters

    This changes things so that `[]` no longer represents a filter that applies to all.  We will convert from `.all` to `[]` when we apply so that the Xcodeproj value is accurate, but within Tuist logic we need to distinguish between being applied to all platforms and none and unset.
    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    8ffc653 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    8d0a6f9 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    b0dee9c View commit details
    Browse the repository at this point in the history
  17. Linting

    waltflanagan committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    66037e0 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Refactor dependencyReference(to:from:) to be source of truth for ma…

    …pping
    
    Only call `platformFilters(from:to:)` within this method to reduce chance of divergent logic.
    waltflanagan committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    fccb9b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bcb639a View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2023

  1. Configuration menu
    Copy the full SHA
    02292d8 View commit details
    Browse the repository at this point in the history
  2. Add logic to apply intermediate filters.

    This covers two scenarios
    
    Apply platform filters to transitive dependencies if they exist in intermediate steps
    Given: A -> (.ios) B and B -> C
    Then: A -> (.ios) C
    
    Remove dependencies if intermediate filters result in a disjoint set
    Given: A -> (.ios) B and B -> (.macos) C
    Then: A -> C should have `nil` platform filters, which results it it being removed as a transitive dependency.
    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    a10c5a1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6f19aa8 View commit details
    Browse the repository at this point in the history
  4. Linting

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    081f81f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    90326ad View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c4a1e9e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    28d539a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ebad21c View commit details
    Browse the repository at this point in the history
  9. Edges Checkpoint

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    0bca818 View commit details
    Browse the repository at this point in the history
  10. it compiles

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    8fe4e9e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    cc4c302 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e870f75 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6090a70 View commit details
    Browse the repository at this point in the history
  14. Dependencies WIP

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    9fa0794 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    dc3f592 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    0cae51d View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    b82d6eb View commit details
    Browse the repository at this point in the history
  18. Fix a typo

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    161bb39 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    7223a33 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d874718 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    a5b095c View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    c00cd98 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    842eb48 View commit details
    Browse the repository at this point in the history
  24. Update directStaticDependencies to use `dependencyReference(to: fro…

    …m:)` to resolve filters
    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    baed57a View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    8779722 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    f5372d5 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    170a041 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    3883901 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    f16713f View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    dc7abcc View commit details
    Browse the repository at this point in the history
  31. Linting

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    e50be1c View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    46c653f View commit details
    Browse the repository at this point in the history
  33. Skip dependencies that are targeting unsupported platforms

    This will filter out windows, linux, and other platforms when a dependency is exclusively conditional on them.
    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    f7f6339 View commit details
    Browse the repository at this point in the history
  34. FIx typo

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    d4de36d View commit details
    Browse the repository at this point in the history
  35. Fixing rebase issues

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    671bff1 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    2a4192f View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    298d917 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    7b3a04f View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    5a234c7 View commit details
    Browse the repository at this point in the history
  40. Rebase fixes

    waltflanagan committed Nov 18, 2023
    Configuration menu
    Copy the full SHA
    f3dc7ee View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    2238b7a View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    0c16654 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Configuration menu
    Copy the full SHA
    71f625f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7890331 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    68158ec View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b0840d7 View commit details
    Browse the repository at this point in the history