KWARC / rust-libxml

Rust wrapper for libxml2
https://crates.io/crates/libxml
MIT License
76 stars 38 forks source link

Publish on crates.io #6

Closed dginev closed 8 years ago

dginev commented 8 years ago

I am currently looking into publishing the libxml wrapper to crates.io.

One big missing part are publicly hosted API docs, which I am working on jotting down with the help of adding #![deny(missing_docs)] directive to lib.rs, which turns all missing documentation into compile-time errors.

A question to solve with @jfschaefer is whether he wants to keep the wrapper hosted on his own repo, which is fine, but implies longer term commitment to maintaining the wrapper.

jfschaefer commented 8 years ago

Publishing the wrapper at crates.io would be great. Considering my history of maintaining the repo, it's probably a good idea to move it somewhere else. What would be a better location?

dginev commented 8 years ago

KWARC/rust-libxml ?

dginev commented 8 years ago

If you like the idea, feel free to transfer the repo over to the organization, I'll ship the 0.0.2 release to crates.io by the end of the day here. One hope I have from doing so is that we get more externals to contribute code to the repo - we've already had two external contributors, which is great.

jfschaefer commented 8 years ago

I like the idea, but cannot transfer it, because I'm not among the owners of KWARC. Can you do the transfer? Or should I transfer it to you first?

dginev commented 8 years ago

Oh, you need to be an owner to transfer into an organization? I think I just switched that setting, please try again.

jfschaefer commented 8 years ago

Thanks, now it worked

dginev commented 8 years ago

Sweet, I can take it from here. Thanks! And let me know if it seems like you're missing any permission in the KWARC github organization, always easy to add more.

dginev commented 8 years ago

Done!

The hardest part was generating the online API docs, check the .travis.yml file on how I did that (the secure token is a pain to generate, but it works out in the end).

Packaging + publishing is dead simple with cargo, they have done a masterful job. All it takes is:

cargo package;
cargo publish

Detailed instructions here

Here is the crates.io release: https://crates.io/crates/libxml