[GODRIVER-2724] Move internal-only packages to "internal/" directories Created: 24/Dec/22  Updated: 11/Dec/23  Resolved: 11/Dec/23

Status: Closed
Project: Go Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 2.0.0

Type: Improvement Priority: Unknown
Reporter: Matt Dale Assignee: Preston Vasquez
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by GODRIVER-2206 Move test utilities to internal Closed
Gantt Dependency
has to be done before GODRIVER-3065 Update Atlas testing for v2 Backlog
Related
is related to GODRIVER-3064 Change google/oss-fuzz PR to use v1 Closed
is related to GODRIVER-3069 Update Atlas Test to use V1 Closed
Epic Link: Go Driver 2.0: Driver
Backwards Compatibility: Major Change
Documentation Changes: Not Needed
Documentation Changes Summary:

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?


 Description   

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/


 Comments   
Comment by Githook User [ 11/Dec/23 ]

Author:

{'name': 'Preston Vasquez', 'email': 'prestonvasquez@icloud.com', 'username': 'prestonvasquez'}

Message: GODRIVER-2724 Move internal-only packages to "internal/" directories (#1486)
Branch: master
https://github.com/mongodb/mongo-go-driver/commit/b15aa4cb79569fe57ad5f77eb9ff471f9cb38455

Generated at Thu Feb 08 08:39:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.