IBM / go-sdk-core

The go-sdk-core repository contains core functionality required by Go code generated by the IBM OpenAPI SDK Generator.
Apache License 2.0
30 stars 24 forks source link

[Question] Why a lot of packages? #117

Closed ghost closed 3 years ago

ghost commented 3 years ago

Please I just want to understand why we have an package for auth, another for k8s operators, another one to billing, this one and a lot of others.

Why don't just create a go monorepo ? And organize things there ?

padamstx commented 3 years ago

In general SDKs for IBM Cloud services are organized around the service categories found here: https://cloud.ibm.com/docs?tab=api-docs For example, for the "Platform" category, we have the following SDKs

For an SDK that supports a particular language (e.g. the Platform Services Go SDK mentioned above), that SDK project will depend on the "core" library for that language (e.g. Go SDKs depend on the go-sdk-core library, Java SDKs depend on the java-sdk-core library, and so on). The "core" library for a particular language provides a set of common functionality (REST API processing, authentication, etc.) that is used by the generated SDK code packaged inside each SDK project.

ghost commented 3 years ago

Alright, but think as a developer when you download some SDK you expect that particular SDK provide everything you need. So you don't want to search every piece of code while you writing the project, you just want to download and use.