-
-
Notifications
You must be signed in to change notification settings - Fork 446
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
Testing, dependencies via path, multiple repos #624
Comments
In RustCrypto I use roughly the following approach:
This is why I recommended to use repositories with multiple crates, as with one-repo-per-crate approach it will be significantly more burdensome to do the same. |
Okay, I just switched the dependencies to use published versions in any case. If So how do you propose we fix the tests? I see RustCrypto/hashes uses |
You can use a script similar to |
Yes, a build script could be used, but it's not a tidy solution and needs a different implementation for AppVeyor (Windows tests; very important for I think the better option would be to pull |
Well, extracting history via But, should we?
The alternative is that we scrap the |
As I was talking before I prefer several repositories which contain one or several crates. (though instead of
Personally I don't see much value in it (e.g. what is wrong with having docs per repo or even per crate?), but I think it should be possible to work around it.
Additionally on a plus side, CI runs will be a bit faster. |
I think rustdoc being disjointed makes rand significantly harder to use. Why not keep all crates used by rand inside one repo? Is it that you want a small-rngs that contains both stuff you do not maintain and stuff you want to depend on? |
This is why I'm still undecided. There isn't a strong argument for using multiple crates, but in some ways it's cleaner. |
FWIW I think the rustdoc being all together is a big positive and if there isn't a strong argument to combat it, I'd vote for moving smallrng in. |
@burdges @coltfred |
@newpavlov your comments are applicable to RNG crates like those in the |
We're talking about html where cross links should be ubiquitous. We should not throw people into making guesses about paths from a table of contents like some printed book. Ideally, a user viewing docs could click src, observe an item name like |
docs.rs already links traits and items from other crates. Lets take for example |
I agree with @burdges that being able to use the search bar for things someone has just discovered is a better experience. You're right that the links do help, but seeing all the out of the box The desire to split them to lessen pain of the maintainers is completely understandable, but I was just making this point: The experience for the user is better if they're all in one doc location, if the downsides for the maintainers aren't too onerous. |
I think the Implementations on Foreign Types section is compelling. It'd disappear if we split repos but it's essential to understanding the public interface. There are valid concerns with exposing algorithm details from rand itself of course, but one can achieve this with individual algorithm crates inside the rand repository, and one or two opaque wrapper types. We could RFC some "codependency" relationship among crates, but it's considerably easier for new contributors if all the code lives in one repository, so maybe only |
Very well. Lets bring TODO: decide the fate of the |
Well, if you'll bring |
BTW it's possible to use a separate repo for doc generation, see e.g. dalek-cryptography. |
That sounds like more maintenance overhead than help. Lets keep things simple... |
|
#623 fails tests:
@vks @newpavlov I seem to recall that you were advocates of multiple crates, though @newpavlov not of multiple repos... anyway, now we seem to have the following problem:
rand_xorshift
andrand_pcg
, housed in thesmall-rngs
reporand_core
via path since it is in a different reporand_core
while testing Rand (in order to only have a single copy of traits likeSeedableRng
) we need to depend on the release version ofrand_core
here toorand_core
in the tree, socargo test --package rand_core
is ambiguousSo, what's the best solution?
<spec>
like above and I can't find an unambiguous relative versioncd
to the sub-crate directory before testingrand_core
to a new repoThe text was updated successfully, but these errors were encountered: