Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolving blockers for publishing #32

Closed
2 of 3 tasks
Hoverbear opened this issue Feb 14, 2019 · 8 comments · Fixed by #192
Closed
2 of 3 tasks

Resolving blockers for publishing #32

Hoverbear opened this issue Feb 14, 2019 · 8 comments · Fixed by #192
Labels
bug Something isn't working

Comments

@Hoverbear
Copy link
Contributor

Hoverbear commented Feb 14, 2019

This crate is intended to be published to the Crates.io registry to support our users easily (and correctly) depending on this client.

It will also enable future cargo install tikv-client uses for our command line tool (#17).

The current blockers:

These issues prevent us from reaching a published 0.0.1 release.

@Hoverbear Hoverbear added the bug Something isn't working label Feb 14, 2019
@Hoverbear Hoverbear self-assigned this Feb 14, 2019
@florianeichin
Copy link

Is there a plan on when version 0.0.1 is released to crates, as the module is not usable as described in the readme

@Hoverbear
Copy link
Contributor Author

@florianeichin When the blockers listed above are resolve! :)

@thinktainer
Copy link

thinktainer commented Jan 29, 2020

What approaches have been considered on how to address the KVproto dependency blocker? just saw the open pr for this.

@nrc
Copy link
Collaborator

nrc commented Feb 11, 2020

See also tikv/protobuf-build#31

@nrc
Copy link
Collaborator

nrc commented Oct 21, 2020

To summarise the problem:

  • All our deps must be published
  • kvproto (unpublished) depends on protobuf-build (unpublished)
    • publishing kvproto also opens questions about what to do with the Go code, etc.
  • protobuf-build depends on PingCAP's fork of rust-protobuf
    • it would be a relatively large amount of work, and uncertain, to try and upstream our changes
    • rust-client only uses Prost, so this is kind of a limitation of Cargo

So, possible solutions:

  • publish kvproto, requires
    • upstreaming changes to rust-protobuf
    • or publishing our fork of rust-protobuf (easiest, but not popular on Use a published version of the rust-proto branch protobuf-build#31)
    • removing the rust-protobuf dependency from protobuf build, either by removing rust-protobuf support from TiKV (hard) or by implementing some kind of pre-build step.
    • implement a separate version of protobuf-build which only supports Prost as a new project
  • Copy the protos we require to the client repo. However, we'd still need to fix the dependency of protobuf-build, as above. We could do our own protobuf codegen.

The easiest solution seems to me to be to copy protos to the client repo and to do our own codegen rather than rely on protobuf-build.

@nrc
Copy link
Collaborator

nrc commented Oct 21, 2020

Actually it seems that protobuf-build does not depend on our fork of protobuf, it depends on upstream. So maybe we can just copy the protos we need and we're done :-)

@jerrygreen
Copy link

Blockers resolved, but still no crate?

@nrc
Copy link
Collaborator

nrc commented Feb 15, 2021

Blockers resolved, but still no crate?

Indeed, we're working on getting the quality to a point where we're satisfied enough for a 0.1 release. Hopefully we should have a release in the next month or so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants