github.com/opentofu/opentofu@v1.7.1/internal/depsfile/doc.go (about)

     1  // Copyright (c) The OpenTofu Authors
     2  // SPDX-License-Identifier: MPL-2.0
     3  // Copyright (c) 2023 HashiCorp, Inc.
     4  // SPDX-License-Identifier: MPL-2.0
     5  
     6  // Package depsfile contains the logic for reading and writing OpenTofu's
     7  // dependency lock and development override configuration files.
     8  //
     9  // These files are separate from the main OpenTofu configuration files (.tf)
    10  // for a number of reasons. The first is to help establish a distinction
    11  // where .tf files configure a particular module while these configure
    12  // a whole configuration tree. Another, more practical consideration is that
    13  // we intend both of these files to be primarily maintained automatically by
    14  // OpenTofu itself, rather than by human-originated edits, and so keeping
    15  // them separate means that it's easier to distinguish the files that OpenTofu
    16  // will change automatically during normal workflow from the files that
    17  // OpenTofu only edits on direct request.
    18  //
    19  // Both files use HCL syntax, for consistency with other files in OpenTofu
    20  // that we expect humans to (in this case, only occasionally) edit directly.
    21  // A dependency lock file tracks the most recently selected upstream versions
    22  // of each dependency, and is intended for checkin to version control.
    23  // A development override file allows for temporarily overriding upstream
    24  // dependencies with local files/directories on disk as an aid to testing
    25  // a cross-codebase change during development, and should not be saved in
    26  // version control.
    27  package depsfile