Skip to content

Inconsistent config scope resolution when using profiles #4383

@nathan-wan

Description

@nathan-wan

Bug report

Expected behavior and actual behavior

When combining . or { syntax for config scopes, expected to see all properties configured for a given scope, especially if they are disjoint. Works as expected outside of profiles, but resolution are different when syntaxes are combined when declared in a profile.

Steps to reproduce the problem

% cat << EOF > nextflow.config && nextflow config 
alpha.p = 1
alpha {
    q = 2
}
beta {
    p = 1
}
beta.q = 2
EOF
alpha {
   p = 1
   q = 2
}

beta {
   p = 1
   q = 2
}
% cat << EOF > nextflow.config && nextflow config -profile foo
profiles {
    foo {
        alpha.p = 1
        alpha {
            q = 2
        }
        beta {
            p = 1
        }
        beta.q = 2
    }
}
EOF
alpha {
   q = 2
}

beta {
   p = 1
   q = 2
}
% nextflow -v
nextflow version 23.04.3.5875

Program output

See above

Environment

  • Nextflow version: 23.04.3.5875
  • Java version: openjdk 20.0.2 2023-07-18
  • Operating system: macOS
  • Bash version: zsh 5.8.1 (x86_64-apple-darwin21.0)

Additional context

Reproduced on Linux and macOS

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions