You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This will create the product-level configuration in `docker-images/druid/stackable/patches/patchable.toml`
79
-
containing the following fields:
82
+
This will create the product-level configuration in `docker-images/product-name/stackable/patches/patchable.toml` containing the following fields:
80
83
81
84
-`upstream` - the URL of the upstream repository (such as `https://github.com/apache/druid.git`)
82
85
-`default_mirror` - optional: default URL of a mirror repository (such as `https://github.com/stackabletech/druid.git`)
83
86
84
-
### Initialize a new patch series
87
+
Initialize the product version (`base` can be a branch, tag, or commit):
88
+
89
+
```sh
90
+
cargo patchable init version product-name 1.2.3 --base=product-name-1.2.3 --mirror
91
+
```
92
+
93
+
Checkout the source code and switch into the directory with `pushd $(cargo patchable checkout product-name 1.2.3)`.
94
+
Create your patches and commit them, then export the patches as .patch files by running:
95
+
96
+
```sh
97
+
popd
98
+
cargo patchable export product-name 1.2.3
99
+
```
100
+
101
+
### Adding a new version to an existing product
85
102
86
103
Patchable stores metadata about each patch series in its version-level config, and will not be able
87
104
to check out a patch series that lacks one. It can be generated using the following command:
@@ -99,6 +116,51 @@ with the base commit hash and the default mirror URL from the product-level conf
99
116
100
117
You can optionally provide the `--ssh` flag to use SSH instead of HTTPS for Git operations.
101
118
119
+
### Creating a forked dependency
120
+
121
+
You can use the same patchable workflow for custom dependencies (e.g., Java libraries) as for regular products.
122
+
123
+
For example, to create a patched version of a Java dependency, start by creating a directory for the dependency with `mkdir -p shared/jackson-dataformat-xml`.
124
+
Then create a `Dockerfile` with build instructions and a `boil-config.toml` file in that directory. Create a fork of the dependency on GitHub for mirroring the source code.
0 commit comments