Chore: Detaching go tools from the main Grafana workspace (#104861)
* add script for tooling * add to make * not to forget * reworked go tools * add tool installation script * adding readme * updating readme * updating readme * cleanup install.sh and makefile * update the readme file * cleanup scripts * switch variables.mk to lazy evaluation * add tools ache to gitignore * get rid of absolute path in hte Variables.mk file * switch to reusable function for path generation * add debug statements * add create cache tool dir * add debuig statements to make file * drop tool cache * fix race condition n ci * fix race condition n ci * cleanup workspace * add lefthook.rc to codeowners * copy .citools folder to docker image * switch back to main branch of grafana-build * Add .citools to the drone builder * fix wording in generate.sh and README.md
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
## API
|
||||
|
||||
### Adding and Upgrading Tools
|
||||
|
||||
To add a new tool, execute the installation script:
|
||||
|
||||
```bash
|
||||
install.sh <tool>
|
||||
```
|
||||
|
||||
#### Example
|
||||
|
||||
The following command will add `lefthook` to the tracked tools if it is not already installed, or update its version:
|
||||
|
||||
```bash
|
||||
install.sh github.com/evilmartians/lefthook@v1.11.10
|
||||
```
|
||||
|
||||
Behind the scenes, the script performs a few simple steps:
|
||||
|
||||
- Creates a Go module under the `.citools/src/<toolname>` directory to track the tool version and its dependencies.
|
||||
- Creates a reference to the tool binary in the `.citools/Variables.mk` file.
|
||||
|
||||
### Using Tools in the Makefile
|
||||
|
||||
Our Makefile imports `.citools/Variables.mk`, so you can call a tool binary using standard Make syntax.
|
||||
|
||||
#### Example
|
||||
|
||||
```make
|
||||
run:
|
||||
$(bra) run
|
||||
```
|
||||
|
||||
### Using Tracked Tools Without the Makefile
|
||||
|
||||
If you want to use a tool outside of the Makefile, you can locate the tool binary by executing the following command:
|
||||
|
||||
```bash
|
||||
GOWORK=off go tool -n -modfile=<path_to_modfile> <toolname>
|
||||
```
|
||||
Reference in New Issue
Block a user