In a former commit we respected the error of the Close()
call for a HTTP response. The fix was to introduce named
return values (e.g. err for error).
The problem: We defered the resp.Close() via
err = resp.Close()
This had the effect of always overwrite the real error
that happen when the HTTP call failes (due to checkResponse func).
When the upload target is not resolvable by tcp (e.g. unknown host)
no response object will be generated.
In an error case the response object is used (it was assumed that
this will be there at every point in time).
This commit fixes this behaviour
Artifactory is an universal Artifact Repository Manager by
JFrog. See https://www.jfrog.com/artifactory/
It is available in an OSS and Enterprise version.
Many companies using this internally to store, manage and
distribute binaries within their internal infrastructure.
It adds basic support to push all generated binaries into an
Artifactory. Basic means only the built artifacts. Without
checksums or archives.
As an authentication only Basic auth is supported by this Pipe.
See #344
Previous code was handling only main.go as the main build file, but
the main function can actually be in any file.
Now, if a specific file (*.go) is passed, that file will be checked
for the main function.
If a folder is passed, the package will be scanned for the main
function.
Rather than using a conditional to check if `bindir` has been set,
use the defaults pipe to set it to `/usr/local/bin` if it has not
been set in the config file.
Some packagers may want to put binaries in a location other than
/usr/local/bin. This allows one to override the destination for
binaries when using fpm, using the `fpm.bindir` config key.
FPM would randomly fail to build deb and rpm packages. It apparently
happens because fpm (or some tool it uses) shares state between runs
(possibly by overriding files that are going inside the archive).
The error `file changed as we read it` was happening, which is a `tar`
error.
I don't know how to fix this, but, in order to make goreleaser more
stable, I'll disable the concurrency here for now.
closes#333
TODO: factor all the name stuff
into a function like the others, so maybe
setNameDefaults(ctx), etc.
Signed-off-by: Matt Stratton <matt.stratton@gmail.com>
We were checking for a .git folder, which would break in cases
where goreleaser is running from a subfolder of a monorepo, for example.
Check 529af6f#commitcomment-25011738
Closes#402#403
Improved the error handling in git code,
mostly in the defaults pipe. The idea is to
output better error messages, hopefully avoiding
confusion on "whats wrong".
refs #356
The field is optional. When set to true, files in archive are wrapped
in a directory, which has the same name as the archive itself.
Tests have also been extended to cover this.
Closes#251