You don't need to do all that.  The package manager is very helpful:  
http://docs.julialang.org/en/release-0.4/manual/packages/
For your own (local) packaged modules you can use 
Pkg.register("MyModuleName","MIT") <search for it in the link above>

On Wednesday, March 16, 2016 at 9:42:37 AM UTC-4, Gregory Salvan wrote:
>
> Hi,
> I don't understand the way of importing/using modules, or including files.
> I've look at documentation (FAQ and modules) and into this list for old 
> subjects, and tested all solutions I found.
>
> with julia version 0.4.3 on gentoo
>
> directory structure looks like:
>
> package.jl (directory)
>   |_ src
>   |  |_ fileA.jl
>   |  |_ fileB.jl
>   |  |_ fileC.jl
>   |  |_ fileD.jl
>   |  |_ package.jl
>   |_ test
>      |_ testA.jl
>
> The* first issue* I had was with "using" in tests, for example I've tried:
>
> push!(LOAD_PATH, string(dirname(@__FILE__), "/..src")) # just to try - 
> ModuleA is in fileA.jl in ../src
> using ModuleA
> # alternativelly:
> # using ModuleA.TypeA1 or using ModuleA: TypeA1...
> facts("Test ModuleA") do
>   context("create") do
>      type_a1 = ModuleA.TypeA1()
>   end
> end
>
>
> I've tested launching this test with :
> JULIA_LOAD_PATH=./src/ LOAD_PATH=./src julia --color=yes test/testA.jl
>
> (no differences with import too)
>
> The error message is:
> ERROR: LoadError: ArgumentError: ModuleA not found in path
>
> Instead of import/using (but that's not what I wanted), It's OK if I use :
> include("../src/fileA.jl")
>
>
>
> The *second issue* is when I wanted to define modules in package.jl this 
> way:
>
> module Package
>   module ModA
>     include("fileA.jl")
>     include("fileB.jl")
>   end
>   module ModC
>     include("fileC.jl")
>   end
> end
>
> And have for example a fileD.jl included in fileA.jl and fileB.jl (or 
> fileC.jl) with and immutable type. (I've included fileD.jl because I 
> couldn't use "using" but I would prefer "using")
> I have an error ERROR: LoadError: LoadError: LoadError: LoadError: 
> LoadError: invalid redefinition of constant ImmutableType
>
> So as I can't use "using" to avoid the reloading what can I do? 
> what I've not understood about julia import/using and include ?
>
> NOTE:
> some things I've tried: fileD.jl with a module ModuleD and "using" with 
> and without  __precompile__
> setting LOAD_PATH and JULIA_LOAD_PATH globally with bashrc or passing it 
> to shell
> ...
>
>

Reply via email to