|
преди 3 години | |
---|---|---|
.github | преди 3 години | |
ziget-build-files-copy | преди 3 години | |
.gitignore | преди 3 години | |
README.md | преди 4 години | |
build.zig | преди 3 години | |
fixdeletetree.zig | преди 3 години | |
test.zig | преди 3 години | |
update-ziget-build-files-copy | преди 3 години | |
zigetsha | преди 3 години | |
zigup.zig | преди 3 години |
Download and manage zig compilers.
# fetch a compiler and set it as the default
zigup <version>
zigup master
zigup 0.6.0
# fetch a compiler only (do not set it as default)
zigup fetch <version>
zigup fetch master
# print the default compiler version
zigup default
# set the default compiler
zigup default <version>
# list the installed compiler versions
zigup list
# clean compilers that are not the default, not master, and not marked to keep. when a version is specified, it will clean that version
zigup clean [<version>]
# mark a compiler to keep
zigup keep <version>
Things that a user may want to configure
PATH
directory that points to the default compilerPATH
directory that calls forwards calls to the default compiler executableI may support one or more configuration files. Possibly a file that lives alongside the executable, or in the user's home directory, possibly both. I've added command-line options to configure the install directory and path symlink for testing, that may be good enough because one can just wrap zigup in a script and forward those options to it.
On Linux/Bsd/Mac (which I will call "Posix" systems) the default install location is $HOME/zig
. Not sure what default directory to use for windows yet, maybe %APPDATA%\zig
. This directory will contain a unique sub-directory for every version of the compiler that is installed on the system. When a new compiler is installed, this tool will also add some scripts that will modify an environment to use that version of the zig compiler.
One compiler will be set as the "default" by linking a symlink or batch file to one of the compiler executables that have been installed. On Posix systems this will be a symlink named zig
in a PATH
directory that points to one of the zig
executables. On windows this will be a batch file named zig.bat
in a PATH
directoty that calls one of the zig
executables.
My breakdown of the operations I'd like.
zigup fetch master
)zigup fetch <version>
)zigup list
)zigup default
and zigup default <version>
)setup the environment for a specific version of the compiler?
download zig index file (zigup fetch-index
)
NOTE: by default
zigup list
should display more information, like release date, its "keep" value, etc. Maybe it should also sort them, probably by release date?
build.zig
assumes it exists alongside this repository.On linux, uses tar
to extract archives
zig build
# install to a bin directory with
cp zig-cache/bin/zigup BIN_PATH