Skip to content
README.md 1.11 KiB
Newer Older
# `rules_curl`
> A Bazel ruleset for performing operations with cURL, hermetically.

## Getting Started

Add the following to `MODULE.bazel`:

```py
bazel_dep(module_name = "rules_curl", version = "0.0.0")

## Providers

### ManifestInfo

Encapsulates the file to upload and its URL template (see [ManifestInfo][manifest_info])

Members:

- **file**: File
- **url**: string

### ManifestsInfo

The dependency set of `ManifestInfo`s

Members:

- **manifests**: depset of `ManifestInfo`s

## Usage

### curl_upload_file

```py
load("@rules_curl//curl/upload/file:defs.bzl", "curl_upload_file")

curl_upload_file(
    name = "upload",
    src = ":fixture.txt",
    dst = "directory/fixture.txt",
    url = "https://test.case",
)

```

### curl_upload_manifests

```py
load("@rules_curl//curl/upload/manifests:defs.bzl", "curl_upload_manifests")

curl_upload_manifests(
    name = "upload",
    srcs = [
        ":fixture_1",
        ":fixture_2",
    ],
    url = "https://test.case",
)
```

> Note: `fixture_1` and `fixture_2` have to provide either `ManifestInfo` or `ManifestsInfo`

[manifest_info]: curl/upload/ManifestInfo.bzl