Uploaded image for project: 'Go Driver'
  1. Go Driver
  2. GODRIVER-2724

Move internal-only packages to "internal/" directories

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 2.0.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Major Change
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Currently, we have a lot of exported experimental APIs in the x/ directory and in some integration-test-only packages. Only a few of the APIs are used by internal teams (e.g. Atlas Proxy, ADL, etc) and none of them are intended for use by external users. However, because so many experimental APIs are exported, it’s difficult to understand the impact of changing some of those APIs. A better approach is to export the minimum possible surface area that still allows supporting internal Go driver users while minimizing confusion to external users and improving the Go Driver Team’s developer efficiency.

      Reduce internal team migration pain and increase the Go Driver Team’s developer efficiency by moving a significant number of packages into internal/ directories to prevent them from being used outside of the Go driver.

      Definition of done:

      • Move packages to an internal/ directory.
        • benchmark
        • cmd
        • examples
        • mongo/integration
        • mongo/integration/mtest
        • mongo/integration/unified
      • Rename cmd/godriver-benchmark to cmd/benchmark.

      Dependencies:

      • OSS Fuzz uses cmd/build-oss-fuzz-coprus.
      • Upcoming AWS Lambda test/development toolchain may use something in cmd/

            Assignee:
            preston.vasquez@mongodb.com Preston Vasquez
            Reporter:
            matt.dale@mongodb.com Matt Dale
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: