Cloudsmith API Bindings
The Cloudsmith API (Application Programmatic Interface) bindings provide libraries in different languages for accessing the service programmatically. The API is fully compliant with the OpenAPI 2.0 Specification and the clients are generated using swagger-codegen-cli from the Swagger Project.
Please note that the generated client APIs are intended for developers, and are subject to change as the upstream API evolves over time (especially pre-1.0 releases). If you're looking for something a little more user-friendly, please see the Cloudsmith CLI application for something that comes pre-baked.
Releases for each language (where supported) are uploaded to the Cloudsmith API repository. Support currently exists for the following languages:
If you need a different binding, contact us!
Each of the supported language bindings has its own directory within the bindings directory, and three standardised scripts are used:
build.sh- Sets the swagger-codegen configuration for the language and generates the bindings into 'src'.
test.sh- Runs the test suite for the bindings (minimal) to ensure they are "correct" (able to be compiled).
deploy.sh- Uploads the bindings to Cloudsmith and, if appropriate, the language-specific mainline repository.
Adding a new binding involves the creating of a new directory and the implementation of these three scripts to perform the build and release. To see a list of all the available language bindings you can execute:
To receive configuration help (in order to setup
build.sh correctly), execute:
bin/swagger-codegen-cli config-help -l <language>
<language> is the language you're generating bindings for (e.g.
The version of the generated library bindings is automatically made to match the upstream API. So if the Cloudsmith API is currently
0.21.5, then the language bindings will also be
The client APIs are automatically released as part of the build and release process. See the travis configuration file for more details.
Yes! Please do contribute, this is why we love open source. Please see
CONTRIBUTING.md for contribution guidelines when making code changes or raising issues for bug reports, ideas, discussions and/or questions (i.e. help required).
Copyright 2018 Cloudsmith Ltd
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.