so, since 1.0 I am really confused about the recommended workflow for contributing to julia packages which are being developed on GitHub.com.
Is there any documentation on the entire process? I forked and cloned the package I want to sent a PR to (NLSolversBase.jl) but
activate . in my local clone does not seem to do the job since the Project.toml is missing. I am a just totally confused right now since the CI is of the package seems to work fine for 1.0.
Can anybody enlighten me as to whether the Project.toml is needed (aka what exactly IS as julia package) and how ideally should do my PR?
I guess this does the trick:
(v1.0) pkg> dev NLSolverBase
This will checkout NLSolverBase into the dev dir defined in JULIA_PKG_DEVDIR.
You can then just add your github fork as a second remote to your local repository, and issue the PR after pushing to this fork. I guess you could do it the other way around, i.e., install the package directly from your fork. However, because the fork is not registered with General, you would need to manage the dependencies for NLSolverBase yourself.
I understand that you don’t need a Project.toml/Manifest.toml and the dependency fallback is the REQUIRE file. However, this will change in future.
The need for better documentation is already noted:
Still not sure I get how this is supposed to work. In my case, I would like to develop a package
PackageA.jl, which in turn depends on
PackageC.jl; all of these are v0.6 compatible currently so I’d like to dev them in 0.7 to fix deprecations.
Is the way to do this:
- Fork all three packages
pkg> dev "https://github.com/nilshg/PackageA.jl", and the same for B and C
julia> using PackageA to see deprecation warnings, fix them
- git push the changes
Work your way up - start by fixing
PackageB and finally
PackageA. Each fix can be based on the fixed branch or PR of the previous package.