Convert your Julia Project into an Executable

If you want your Julia project to work as an executable, it is now possible with the exe.jl package. Using this package, you can easily convert any Julia project into an executable file.
NOTE: You will need to organize your Julia code according to some conventions and this package is tested only on UNIX-like operating systems.
Features
You can easily use command line argument in your Julia code with the native Vector{String} type.
Prerequisites
To make the executable of your project you will need some tools which are as follows:
GCC or Clang Compiler
Julia [Installed]
A Specific Convention:
To get things done, you will need to organize your project code around a
mainfunction in the base project file (in my case it is main.jl). My demo projectmyprojectlooks something like this:myproject
โโโ main.jl
0 directories, 1 file
and the contents of main.jl file is-
function main(argc::Int32, argv::Vector{String}) println("argc: $argc") println("argv: $argv") endHere,
argcis the number of command line arguments passed and theargvis an array of all those arguments.
Usage
Here are some steps to make the executable of your project:
Move the setup.jl file from the exe.jl repository to your project directory.
e.g. Suppose I have a project folder 'myproject' and the 'exe.jl' repository in the home directory of my system.
$ mv ~/exe.jl/setup.jl ~/myproject/Run the setup.jl file using the installed Julia binary.
$ julia setup.jlWhen you will run the latter command, you will be asked for the Project's base file which in this case is main.jl.
$ julia setup.jl Project File: main.jlafter you have entered the name of the base file: 'main.jl', you will see
Search main.jl: OKstatus if the file exists elseSearch main.jl: ERRORAfter this, you will be asked for
Julia Path$ julia setup.jl Project File: main.jl julia Path: /opt/julia-1.6.7/ #in my caseHere, you have to type the path of your Julia folder. You can find the path using the
whichcommand:$ which julia /opt/julia-1.6.7/bin/julia #in my caseFrom this path, you have to take only the main path, which is
/opt/julia-1.6.7/.NOTE: Version number may differ.
If the above commands run without showing any error or warning messages. You can now see an executable file in the project directory with the name
app.$ ls app main.jl setup.jlNow, You can execute this file.
$ ./app hello world argc: 3 argv: ["./app", "hello", "world"]
Conclusion
Making an executable of Julia code seems to be complex, but using the exe.jl you can easily make it by just running a setup file and passing some information.
