Replies: 2 comments 7 replies
-
Good idea!
I think Bash (via Git Bash) should not be a requirement. Everyone has PureBasic installed, so why not use that for the task? PureBasic can execute compiled code directly. The PureBasic compiler does not provide a way to define parameters that will be passed to the compiled program at execution time, but it is possible to create constants at compile time:
For this we can use the GitHub API (Get the latest release) with the native PB function If we plan to create such a tool, we should create a separate repository for this project and discuss development there. |
Beta Was this translation helpful? Give feedback.
-
I have now created the PureGet repository for the package manager project. There I will start a new discussion and describe how I envision the package manager in detail. |
Beta Was this translation helpful? Give feedback.
-
Since PB doesn't have a package manager (and it's unlikely it will ever have a native one), I've been wondering about the possible solutions to allow end users to update the RegEx Engine library.
Probably the easiest solution would be to provide a shell script that uses cURL to fetch the latest library modules, based on a release tag supplied as a parameter. Since this script would leverage Git, it assumes that even Windows users have access to Bash (via Git Bash), and cURL is natively available on all the target OSs, Windows included (Win 10 or above).
So, the end user will only have to place this script in his working folder, and by executing it he/she will be able to download all the required modules, or update them to a specific release tag.
The script should also support checking which is the latest release tag, to automatically update the modules to their latest version (unless a specific version tag is passed).
This should work quite efficiently, especially in third party repositories, where a main script can be used to invoke the fetcher script with the required library version, thus allowing the repo owner to control which library version the project should use at any time. The actual RegEx modules could even be Git ignored, since the script is used to fetch them and there's no actual need to include them in the project, given that end users will end up having the same modules version as long they run the script whenever its updated.
This IMO is the simplest workaround to the lack of a package manager, and cURL is flexible enough to allow smart fetching of files according to need.
Beta Was this translation helpful? Give feedback.
All reactions