95 lines
2.1 KiB
Julia
95 lines
2.1 KiB
Julia
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 <project name>", "\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 |