This updates the build system to handle the recent changes in Elasticsearch:
rest api specs and yaml test definitions are now downloadable artifacts available at artifacts.elastic.co
ES security is on by default, meaning we have to use authentication also for tests of the free tier APIs.
Client code has also been updated to the latest 8.0.0-SNAPSHOT APIs.
The code that downloads artifacts is in a new xtask package that follows the cargo-xtasks conventions, derived from the "Make your own make" blog post. The logic to download artifacts is complex enough that it doesn't fit as a script in Make.toml, and is therefore implemented as a CLI tool that is exposed as a task in Make.toml.
Note: utimately we may consider refactoring all of Make.toml to xtask. cargo-make is a nice platform-independent alternative to make but it comes with its own weight and as the makefile grows it starts to be hard to read and navigate. Transitioning to "real code" with the help of a few crates that ease external process management may actually be more maintainable.
This updates the build system to handle the recent changes in Elasticsearch:
Client code has also been updated to the latest 8.0.0-SNAPSHOT APIs.
The code that downloads artifacts is in a new
xtask
package that follows the cargo-xtasks conventions, derived from the "Make your own make" blog post. The logic to download artifacts is complex enough that it doesn't fit as a script inMake.toml
, and is therefore implemented as a CLI tool that is exposed as a task inMake.toml
.Note: utimately we may consider refactoring all of
Make.toml
toxtask
.cargo-make
is a nice platform-independent alternative tomake
but it comes with its own weight and as the makefile grows it starts to be hard to read and navigate. Transitioning to "real code" with the help of a few crates that ease external process management may actually be more maintainable.