How to generate a new package/module for v0.7-beta only

question

#1

What’s the best way to do the following:

Generate a new package to be used as a module by the end user or other packages, in some public registry. I don’t need v0.6 compatibility. It probably won’t be made public for several days or weeks. Possiblities:

  1. In v0.7-beta do

(v0.7) pkg> generate MyMod
Generating project MyMod:
    MyMod/Project.toml
    MyMod/src/MyMod.jl

I get a uuid in the Project.toml, which is comforting. Trying using MyMod anywhere other than the current directory throws an error. I’m sure there is an easy way to solve this.

  1. In v0.6.3 do
 julia> PkgDev.generate("MyMod", "MIT")
Info: Initializing MyMod repo: /home/lapeyre/.julia/v0.6/MyMod
Info: Origin: https://github.com/jlapeyre/MyMod.jl.git
Info: Generating LICENSE.md
Info: Generating README.md
Info: Generating src/MyMod.jl
Info: Generating test/runtests.jl
Info: Generating REQUIRE
Info: Generating .gitignore
Info: Generating .travis.yml
Info: Generating appveyor.yml
Info: Generating .codecov.yml
Info: Committing MyMod generated files

Look at all the useful files I get ! Then,

shell> mkdir ~/.julia/mydev
shell> cp -a ~/.julia/v0.6/MyMod/ ~/.julia/mydev

Then again in v0.6

julia> Pkg.rm("MyMod");

Then

(v0.7) pkg> dev ~/.julia/mydev/MyMod
┌ Warning: packages will need to have a [Julia]Project.toml file in the future
└ @ Pkg.Types Types.jl:578
[ Info: Assigning UUID 62a62a1c-8078-11e8-34fd-c32091553eb2 to MyMod
 Resolving package versions...
  Updating `~/.julia/environments/v0.7/Project.toml`
  [62a62a1c] + MyMod v0.0.0 [`~/.julia/mydev/MyMod`]
  Updating `~/.julia/environments/v0.7/Manifest.toml`
  [62a62a1c] + MyMod v0.0.0 [`~/.julia/mydev/MyMod`]

Entries are made in Project.toml and Manifest.toml so that I can immediately do using MyMod together with all the other packages.

  1. Don’t worry, because it won’t be made public for a while, and things will be much more developed and clear by then. Maybe use option 2, just because I can using the package immediately, use CI services, and I won’t forget where it is. Well, I will, but it will be easier to find.

  2. … ?