The underlying problem with #247 is that we were giving "builtin" proc blocks special treatment while developing, meaning sometimes they would try to use hotg-rune-core and friends from crates.io, other times it would use versions from local files on disk or git.
Making all HOTG proc blocks use hotg-rune-core from crates.io, like every other proc block
Generating a Cargo.toml which will make each Rune use the hotg-rune-core version that matches what hotg-rune-compiler was built against
Using the semver trick to let proc blocks compiled against an older version of hotg-rune-core work with the newer version when the APIs being used are compatible, even if the hotg-rune-core crate's versions are different
... I think I've correctly threaded the needle here :crossed_fingers:
The underlying problem with #247 is that we were giving "builtin" proc blocks special treatment while developing, meaning sometimes they would try to use
hotg-rune-core
and friends from crates.io, other times it would use versions from local files on disk or git.This resolves the issue by:
hotg-ai/proc-blocks
)hotg-rune-core
from crates.io, like every other proc blockCargo.toml
which will make each Rune use thehotg-rune-core
version that matches whathotg-rune-compiler
was built againsthotg-rune-core
work with the newer version when the APIs being used are compatible, even if thehotg-rune-core
crate's versions are different... I think I've correctly threaded the needle here :crossed_fingers:
Fixes #247.
cc: @f0rodo, @Mohit0928, @saidinesh5