Add $GOBIN

- Set $GOBIN to $(go env GOPATH)/bin
- Add $GOBIN to the PATH

Should make the setup of tools like golangci-lint or golint work with a
simple `go get`.

Using $GOBIN instead of $GOPATH/bin because the goal is to have GOPATH
not being directly referenced. Also, in the future, GOBIN will have a
default value too, so we would not need to manually set it, just add it
to the path (see discussion in golang/go#23439).

Closes #14.
This commit is contained in:
francisco souza 2020-03-01 21:18:28 -05:00
parent 2096a2c66a
commit 25c870be4d
No known key found for this signature in database
GPG key ID: 3F6AA3B701F20B3E
5 changed files with 106 additions and 17 deletions

21
__tests__/gobin.test.ts Normal file
View file

@ -0,0 +1,21 @@
import * as gobin from '../src/gobin';
jest.mock('child_process');
describe('gobin', () => {
const childProcess = require('child_process');
let execSpy: jest.SpyInstance;
beforeEach(() => {
execSpy = jest.spyOn(childProcess, 'exec');
execSpy.mockImplementation((_command, callback) => {
callback('', {stdout: '/home/user/go', stderr: ''});
});
});
it('should return ${GOPATH}/bin', async () => {
const gobinPath = await gobin.getGOBIN('...');
expect(gobinPath).toBe('/home/user/go/bin');
});
});