yonaskolb / XcodeGen

A Swift command line tool for generating your Xcode project
MIT License
6.88k stars 809 forks source link

If I set xcconfig files, the grouping is broken #1482

Open kakhaberikiknadze opened 2 weeks ago

kakhaberikiknadze commented 2 weeks ago

I've got this shells script that generates yaml

base_dir is the root of the project resources_dir is $base_dir/$name/Resources

create_yaml() {
    local name="$1"
    local base_dir="$2"
    result="
name: $name
configs:
    AppStore: release
    DevelopmentDebug: debug
    DevelopmentRelease: debug
    ProductionDebug: release
    ProductionRelease: release
    StagingDebug: debug
    StagingRelease: debug
configFiles:
    AppStore: $resources_dir/Configs/AppStore/AppStore.xcconfig
    DevelopmentDebug: $resources_dir/Configs/Development/Development.xcconfig
    DevelopmentRelease: $resources_dir/Configs/Development/Development.xcconfig
    ProductionDebug: $resources_dir/Configs/Production/Production.xcconfig
    ProductionRelease: $resources_dir/Configs/Production/Production.xcconfig
    StagingDebug: $resources_dir/Configs/Staging/Staging.xcconfig
    StagingRelease: $resources_dir/Configs/Staging/Staging.xcconfig
targets:
    $name:
        type: application
        platform: iOS
        deploymentTarget: '15.0'
        sources:
            - path: "$base_dir/$name"
            - path: "$base_dir/$name/Resources"
        settings:
            INFOPLIST_FILE: $name/Resources/Info.plist
packages:
    ${name}Facade:
        path: $base_dir/Packages/${name}Facade
"
    echo "$result"
}

Everything seemed to work well until I added configFiles:. Those config files are assigned but the grouping is broken.

Screenshot 2024-06-17 at 13 16 47 Screenshot 2024-06-17 at 13 19 37

If I don't add configFiles, then those config files are not assigned and grouping is correct

Screenshot 2024-06-17 at 13 20 51 Screenshot 2024-06-17 at 13 21 02

Also, to note, Documentation seems to be lacking stuff. I need to do a lot of reverse-engineering/guessing to find out how certain things would work :( Could you please add some more insights regarding grouping stuff properly and setting configs.