Uh oh!
There was an error while loading. Please reload this page.
Reverse dependency on components - #42
Conversation
alexcjohnson
commented
Jun 12, 2020
To confirm though, once they are added to the registry this will be just: Pkg.add("dash")And the other 4 come along automatically, correct? If so, this looks perfect! |
| name: 🔎 Unit tests | ||
| command: | | ||
| julia -e 'using Pkg; Pkg.update(); Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"])); Pkg.add(PackageSpec(url="https://github.com/waralex/dash-html-components.git", rev="jl_generator_test")); Pkg.add(PackageSpec(url="https://github.com/waralex/dash-core-components.git", rev="jl_generator_test"));Pkg.build("Dash"); Pkg.build("DashHtmlComponents"); Pkg.build("DashCoreComponents");Pkg.test("Dash", coverage=true); function precompile_pkgs(); for pkg in collect(keys(Pkg.installed())); if !isdefined(Symbol(pkg), :Symbol) && pkg != "Compat.jl"; @info("Importing $(pkg)..."); try (@eval import $(Symbol(pkg))) catch end; end; end; end; precompile_pkgs()' | ||
| julia -e 'using Pkg; Pkg.update(); Pkg.add(PackageSpec(url="https://github.com/waralex/DashBase.jl.git")); Pkg.add(PackageSpec(url="https://github.com/waralex/dash-html-components.git", rev="jl_reverse_test")); Pkg.add(PackageSpec(url="https://github.com/waralex/dash-core-components.git", rev="jl_reverse_test"));Pkg.add(PackageSpec(url="https://github.com/waralex/dash-table.git", rev="jl_reverse_test")); Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"])); Pkg.build("Dash");Pkg.test("Dash", coverage=true); function precompile_pkgs(); for pkg in collect(keys(Pkg.installed())); if !isdefined(Symbol(pkg), :Symbol) && pkg != "Compat.jl"; @info("Importing $(pkg)..."); try (@eval import $(Symbol(pkg))) catch end; end; end; end; precompile_pkgs()' |
There was a problem hiding this comment.
It's awfully hard to tell what's changing here - perhaps we can move this to a separate .jl file? To make clear that it's meant only for CI we can put it in the .circleci folder - similar to what we do with the plotly.js test script.
waralex
commented
Jun 12, 2020
The user still needs to Pkg.add component packages if they plan to use them in their environment. In his entourage is added to the component version that satisfies the dependencies Dash. I.e. in Julia is 2 different actions - physical installation package and add a package to the current environment. Pkg.add(dash) physically install the component packages, but the user still needs to add them to their environment. The user does not need to add DashBase to their environment. |
alexcjohnson
commented
Jun 15, 2020
As discussed on Slack, let's proceed with this. Aside from my comment about the unit test CI script this looks in good shape to me! The only potential change I can think of after this is bundling the rest of the core as sub-packages of |
waralex
commented
Jun 15, 2020
@alexcjohnson Ok. I will move |
alexcjohnson
commented
Aug 26, 2020
Is this PR obsolete now that we have #54? |
waralex
commented
Aug 27, 2020
Yes, I'll close it |
DashBase.jl package added. Dash depends on DashBase and core components, core components depends on DashBase and other components depends on Dash.
For testing until the corresponding packages are added to the Registrator you need to install the packages in this order:
Corresponding PR to the generator plotly/dash#1302
If this option is accepted, then I will need to move the DashBase to the plotly repository. You will also need to update the
jlbranches for the main components