Skip to content

Deprecate ./build_tsmp2.sh --<component-model> in favor of ./build_tsmp2.sh <component-model> #114

Description

@kvrigor

Instead of typing ./build_tsmp2.sh --eclm --parflow --icon, prefer ./build_tsmp2.sh eclm parflow icon.

More generally, build_tsmp2.sh should make a distinction between options and arguments, e.g. ./build_tsmp2.sh --<options> <arguments>. The component models should be interpreted as arguments while the rest of the switches are options. How to distinguish between these two?

  • arguments: What the script/utility acts on. Examples might make this clearer:
    • ls <which directories to list>
    • cp <source and destination files/folders>
    • ssh <what server to connect to>
    • tar <what files/folders to archive>
    • build_tsmp2.sh <what model/s to build>
  • options: Modifies the default behavior of a script/utility. Usually options are optional (but not always).

The inspiration for --<options>/<arguments> distinction comes from POSIX conventions and GNU coding standards.

Activity

  1. changed the title [-]Deprecate `--<component-model>` in favor of `<model>`[/-] [+]Deprecate `./build_tsmp2.sh --<component-model>` in favor of `./build_tsmp2.sh <component-model>`[/+] on Nov 28, 2025
  2. moved this from New features to Housekeeping in TSMP2: Towards Stages/2026 supporton Jan 13, 2026
  3. mvhulten commented on Jun 3, 2026

    @mvhulten
    Contributor

    POSIX does not make this distinction as such. The arguments they mention are option arguments or arguments to the options, not directly to the utility.

    Nonetheless, I welcome the change.

    Standards often lag behind common practise (or de facto standards as you will).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    build-scriptsIssues related to CMake and/or build_tsmp2.sh

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions