-
Notifications
You must be signed in to change notification settings - Fork 56
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
Move database.bin
generation to an xtask
#62
Comments
Maybe playing devil's advocate (I'm not familiar with xtask) but how is that different from running the task from a risk perspective? |
Fair question. From a risk perspective...
|
I think I disagree with your security model. If you mistrust a rather simple and straightforward I really don't think the benefit in terms of your security model and build time outweighs the mental overhead required for us to maintain an That said, I agree with the sentiment that a bincode-formatted file that is used for nearly all users is not optimal, which you report in #63. I'll comment on that tomorrow! |
Hi @rubdos I get that the My issue with the We can talk back and forth about security, but that's more a symptom of the issue. This ties in with issue #64 too. As depending on the outcome of that conversation, maybe we can shift the dependencies needed for creating the database into another package. We certainly don't require In short, I would like to split the existing lib code into two parts;
Let's withhold talking about the implementation details of the data processing task In that case I think your maintenance burden is not drastically increased.
What do you think? |
Can't that be fixed by outputting |
From what I understand about I just noticed the Is this not the perfect place to trigger the generation of the database? |
I still find your argumentation ill-posed. Compilation of the library itself is also work that's needlessly happening on your machine. Very many libraries have I still feel like we have an x-y problem here. Do you take issue with the build time that the library poses? Because that, in my eyes, would be a rather good argument to look closely at how we can further optimize the build process. If you indeed take issue with the build time, then I would also like to see numbers and a benchmark, such that we can track the build script performance over time. As an aside: after #63, I imagine we get rid of the
I did not know we still depended on
That fixes reruns, but those shouldn't really happen once the crate has been build as a dependency for your own project anyway. It would probably be a good thing to implement either way, because it speeds up the development of
It would be the correct place to trigger it. But still:
My suggested approach to clean things up:
|
My problem is the amount of dependencies being brought into a project I maintain. Not build times per se, but of course more dependencies mean longer build times. We review our dependencies periodically, and the
Yea I find the I think it's a good idea to at least feature gate it, and consider deprecating it and seeing if you get feedback on usage in the wild.
👍 much appreciated!
Yes I agree that checking in a binary is opaque. The C++ impl uses protobufs from what I see, which has the sames downsides.
👍
👍 If you remove the
👍 Like I said above, I would go so far as to deprecate it and gather feedback on resistance to that.
👍 |
Cool, I think we reached an agreement about basically all points then. I'm in favour of getting the dependency tree smaller, but it should really not go at the cost of a maintenance burden. I suggest I close this specific issue, and I create issues for the tasks we discussed. Would you agree with that? |
Yep let's close this issue, the issues you outlined are more focused. Thanks for your openness 😉 |
The
database.bin
is currently generated in thebuild.rs
.This is unnecessary and has a few downsides.
database.bin
only needs to be generated when theassets/PhoneNumberMetadata.xml
is updated.build.rs
files can be seen as suspicious. A build.rs file executing on my local machine may be outside of the risks I'm willing to takebuild.rs
are required to build the project.I propose that the generation of
database.bin
is moved into an xtask.This means restructuring the project into a workspace where one of the members is the
xtask
package.But the benefits are:
xtask
is independent from the published packageassets/PhoneNumberMetadata.xml
is updated.build.rs
anymoreThe text was updated successfully, but these errors were encountered: