It should never be necessary for your test or example files to include("../src/Paillier.jl")
, and you should not need to do -L src/Paillier.jl
either.
Instead, since you have already created a nice Project.toml
file, you should be able to load your package (via import Paillier
or using Paillier
) whenever you have that Project active. The way you activate a project in Julia is:
cd /whatever/Paillier
julia --project
or, if you are already in Julia:
pkg> activate /whatever/Paillier
(where you get the pkg>
prompt by pressing ]
).
I would recommend trying all of this in a terminal for now. I’m not sure what exactly intelliJ is doing, and it will be easier to save debugging that part of the puzzle for later. In a terminal, you should be able to do:
cd /whatever/Paillier
julia --project
julia> using Paillier
If that doesn’t work, I would remove all your includes until you just have a plain Paillier/src/Paillier.jl
file with just module Paillier
in it and then add your includes one by one.
Assuming that works, you should be able to change your runtests.jl
to just do:
using Paillier # no include required
then you can try it with:
cd /whatever/Paillier
julia --project
pkg> test Paillier
(note that you don’t actually need to do the cd
and julia --project
steps every time. You can just keep the same Julia terminal open. I’m including them every time for completeness).
Assuming that works, you should be able to change your examples to also do:
using Paillier
(or import Paillier
if you prefer. There’s no difference in the way using
and import
look for packages).
And you should be able to run your examples with:
cd /whatever/Paillier
julia --project example.jl
Once that’s all working, we can figure out how IntelliJ factors into it.