Awesome work @tfa! I had a play around with it locally yesterday and was considering going down the route of making it a gh-pages branch of the QA repo which is then pushed to every time a crate is published, but the auto regeneration every night saves the need for that IMO.
My thinking is that we’ll fork it - will have a look again later today
Created a fork here.
Added 3 extra repos (mobile) and published here.
Finishing up for the day now so I’ll add a README tomorrow and have a think about how best to link to it from other repos - perhaps displaying the image in READMEs is OTT, or maybe I should but only in select repos. Feels like it belongs in a much larger overview document/wiki that should be linked to from each README…
Suggestions welcome & I should get time to come back to it tomorrow.
Quick update on dependencies - I’ve added the README as promised. Still not decided exactly how/where to link to this SVG.
Inspired by this, I went off on a tangent after some inception-like subliminal messages overnight from @danda, and spent time today looking into adding dependency trees or graphs on a per repository basis (as opposed to a general overview of all main Maidsafe repos).
Hey @marcin! I came across your cargo-deps yesterday after hitting a bug with cargo-graph. Based my vault graph off of your SCL example & it works like a charm
With my latest commit JavaScript repositories are not hardcoded anymore (safe_browser and safe-nodejs). You can merge it if you want.
Rust repositories are analyzed automatically from their Cargo.toml files and Javascript repositories from their package.json file. Note that safe-nodejs is in fact a Rust repository because it is its main language (Rust 72.7%, JavaScript 26.6%, Other 0.7%).
I will see what I can do for C# repositories. I guess that internal links can be derived from their csproj files. But I have not the faintest idea on how to get their external links (like safe_app_csharp depending on safe-ffi).
I haven’t delivered it yet, because I think it could be improved by setting the right source sub-project on the link to safe-ffi. @ravinderjangra , which one is it?
SafeApp
SafeApp.AppBindings
SafeApp.Core
Also, is safe-ffi the right destination for the link? I find it strange that it is not the same one as for safe-nodejs (which is safe-api).
Might be worth moving these posts to a dedicated thread such as Mapping SAFE repository dependencies to make it easier to find in the future. Thoughts?
For the C# repos, we can put a check on the csproj file will and see if the file contains MaidSafe.SafeApp. If that exists then the repo is using safe_app_csharp. To simplify the graph, we can simply show safe_app_csharp (since the graph is representing repo dependencies). In case we want to be more transparent then the we can point SafeApp.AppBindings to the safe-ffi.
Thanks. I prefer to add inner dependencies of safe_app_csharp like I did for safe-api and safe_client_libs. This gives a more accurate picture of the whole system.
Very nice. I must say seeing it all laid out so clearly disturbs my inner pedant though re. the use of hyphens and underlines: safe-mobile-browser, safe_browser etc.
Ha yeah this disparity has been nibbling at me for a while as well, guess this graph is the nudge I need to get them updated. I’ll be suggesting to the team that all is standardised separated by -, which seems to be most common these days, 1 less keystroke