diff --git a/lib/libjprog.jl b/lib/libjprog.jl new file mode 100644 index 0000000..434812b --- /dev/null +++ b/lib/libjprog.jl @@ -0,0 +1,95 @@ +module LibJprog + + using LibGit2: init + export check_dir, + check_file, + create_default_structure, + git_init, + help, + version, + DEBUG + + + +DEBUG = false # enable for verbose messages + +# Generic directory checking with boolean returns +function check_dir(directory) + + if ispath(directory) + if DEBUG == true print("The directory: ", directory, " already exists\n") end + return true + + else + if DEBUG == true print("The directory: ", directory, " does not exist\n") end + return false + end + + +end + +# Generic file checking with boolean returns +function check_file(filePath) + + if isfile(filePath) + + if DEBUG == true print("File: ", filePath, " exists\n") end + return true + + else + if DEBUG == false print("File: ", filePath, " does not exist\n") end + return false + end +end + +# Somewhat automate creating directories +function create_default_structure(projectDir) + + local subDirs = ["src", "lib"] + for dirs in subDirs + + mkpath("$projectDir/$dirs") + + end + + # check whether projectDir contains / + projectName = occursin(projectDir, "/" ) + + if DEBUG == true print(projectName, "\n") end + + # append name of project to main source file name + projectName = projectDir[projectName+1:length(projectDir)] + + + touch("$projectDir/src/$projectName.jl") + touch("$projectDir/README.md") + touch("$projectDir/LICENSE") +end + +# Establish a Git repository in project root +function git_init(projectPath) + + init("$projectPath", false) + + if check_dir("$projectPath/.git") != true + + print("Failed to initialize git repository in: ", pwd(), "/$projectPath\n") + + else + print("Git repository initialized\n") + end +end + +# Print a list of supported commands +function help() + print("\n", "useage: jprog init ", "\n", "\n") + + print("init Create a new project\n") +end + +# Get version information for this program +function version() + + print("\n", "Version 1\n\n") +end +end \ No newline at end of file diff --git a/src/jprog.jl b/src/jprog.jl index b37dcdc..f10c56c 100755 --- a/src/jprog.jl +++ b/src/jprog.jl @@ -27,89 +27,8 @@ ## ############################################################################## -using LibGit2: init - -DEBUG = false # enable for verbose messages - -# Generic directory checking with boolean returns -function check_dir(directory) - - if ispath(directory) - if DEBUG == true print("The directory: ", directory, " already exists\n") end - return true - - else - if DEBUG == true print("The directory: ", directory, " does not exist\n") end - return false - end - - -end - -# Generic file checking with boolean returns -function check_file(filePath) - - if isfile(filePath) - - if DEBUG == true print("File: ", filePath, " exists\n") end - return true - - else - if DEBUG == false print("File: ", filePath, " does not exist\n") end - return false - end -end - -# Somewhat automate creating directories -function create_default_structure(projectDir) - - local subDirs = ["src", "lib"] - for dirs in subDirs - - mkpath("$projectDir/$dirs") - - end - - # check whether projectDir contains / - projectName = occursin(projectDir, "/" ) - - if DEBUG == true print(projectName, "\n") end - - # append name of project to main source file name - projectName = projectDir[projectName+1:length(projectDir)] - - - touch("$projectDir/src/$projectName.jl") - touch("$projectDir/README.md") - touch("$projectDir/LICENSE") -end - -# Establish a Git repository in project root -function git_init(projectPath) - - init("$projectPath", false) - - if check_dir("$projectPath/.git") != true - - print("Failed to initialize git repository in: ", pwd(), "/$projectPath\n") - - else - print("Git repository initialized\n") - end -end - -# Print a list of supported commands -function help() - print("\n", "useage: jprog init ", "\n", "\n") - - print("init Create a new project\n") -end - -# Get version information for this program -function version() - - print("\n", "Version 1\n\n") -end +include("../lib/libjprog.jl") +using Main.LibJprog # Take arguments from the shell and process them function main()