MobileNativeFoundation / MobileNativeFoundation/rules_xcodeproj

Bug: `Error: 'struct' value has no field or method 'inputs'` with `xcodeproj <- ios_unit_test <- swift_library <- mixed_language_library`

Open
#3,103 0 comments 0 reactions 1 assignee View on GitHub

@brentleyjones is already working on this.

Since Nov 4, 2024.

bug
Dominant language
Swift
Stars
626
Forks
124
PR merge metrics
No merged PRs in 30d

Description

Description

Hi,

I have the following setup: xcodeproj <- ios_unit_test <- swift_library <- mixed_language_library.

When i try to generate Xcode project i get the following error:

$ make proj
...
Generating "Sources.xcodeproj"
ERROR: /Users/vakhid.betrakhmadov/Downloads/xcodeproj_repro/BUILD:6:23: in @@rules_xcodeproj_generated//generator/SourcesXcodeproj:defs.bzl%_aspect aspect on mixed_language_library rule //:Sources: 
Traceback (most recent call last):
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/xcodeproj_incremental_aspect.bzl", line 110, column 47, in _xcodeproj_incremental_aspect_impl
                info = incremental_xcodeprojinfos.make(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/incremental_xcodeprojinfos.bzl", line 807, column 61, in _make_xcodeprojinfo
                info_fields = _make_non_skipped_target_xcodeprojinfo(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/incremental_xcodeprojinfos.bzl", line 577, column 51, in _make_non_skipped_target_xcodeprojinfo
                ) = mixed_language_library_targets.process(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/processed_targets/mixed_language_library_targets.bzl", line 106, column 77, in _process_mixed_language_library_target
                mergeable_info_and_ids = mergeable_infos_module.calculate_mixed_language(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/processed_targets/mergeable_infos.bzl", line 123, column 50, in _calculate_mixed_language_mergeable_info
                return _handle_mixed_language_mergeable_infos(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/processed_targets/mergeable_infos.bzl", line 161, column 37, in _handle_mixed_language_mergeable_infos
                return _swift_mergeable_info(
        File "/private/var/tmp/_bazel_vakhid.betrakhmadov/ab443e025f65f734bd19129783791644/rules_xcodeproj.noindex/build_output_base/external/rules_xcodeproj/xcodeproj/internal/processed_targets/mergeable_infos.bzl", line 266, column 46, in _swift_mergeable_info
                extra_file_paths = mergeable_info.inputs.extra_file_paths,
Error: 'struct' value has no field or method 'inputs'
Reproduction steps

I have created a minimal repro: https://github.com/vakhidbetrakhmadov/xcodeproj_repro/tree/main
Run: make proj

Expected behavior

Xcode project is successfully generated

rules_xcodeproj version

2.8.1

Xcode version

15.4.0 (15F31d)

Bazel version

7.4.0

rules_apple version

3.11.2

rules_swift version

2.2.2

Additional information

If i replace mixed_language_library with

swift_library(
    name = "Sources",
    srcs = [
        "Sources/Dummy.swift",
    ],
)

it works as expected.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.