A cleaner tack, for the moment is follow this general approach

package name: MyPackagedModule.jl  
package content on github  

repositiory: https://github.com/<github user>/MyPackagedModule.jl  

files/directories  
at the top level of the repository the files  
LICENSE  
README.md  

at the top level of the repository the directories  
`src`  
`test`  


in `test`, a file named runtests.jl with the lines:   
using Base.test  
using MyPackagedModule  
# and eventually some actual tests  

in `src`, a file with the same name as the package:  
MyPackagedModule.jl  

that looks like this:  

```julia
module MyPackagedModule

# possibly
# capabilities you need to use or you need to specialize for your use
import Base: *function_name, function_name *

# and make what you create available outside of the package's inside
export MyPackgedType, MyPackagedFunction

# include your code, software that exists in separate files
# keeping this source file clean and neat
include("mytype,jl")
include("myfunction.jl")
# or better yet, but them in a subdirectory of `src`
# if that subdirectory is named `implementation`
include("implemention/mytype,jl")
include("implementation/myfunction.jl")


end # module MyPackagedModule
```

On Wednesday, October 26, 2016 at 1:44:34 PM UTC-4, [email protected] wrote:
>
> Using the example package https://github.com/JuliaLang/Example.jl/ I am 
> wondering:
>
>
> the root level name ~/Example.jl is case-insensitive and the .jl suffix 
> is optional i.e. if I rename ~/Example.jl to ~/example it still works.
>
>
> Changing ~/Example.jl to ~/fobar and it breaks.
>
>
> However, ~/Example.jl/src/Example.jl is not case-insensitive and the .jl 
> suffix 
> is mandatory ...
>
>
> And how is the source tree searched? - the docs are a bit patchy ...
>
>
>

Reply via email to