You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-07-15 01:34:21 +02:00
chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0 (#1563)
* chore(deps): bump github.com/golangci/golangci-lint from 1.23.7 to 1.27.0 Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com> * fix: tests Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
committed by
GitHub
parent
501f092811
commit
69c8a502db
@ -14,3 +14,4 @@ linters:
|
||||
- godox
|
||||
- gomnd
|
||||
- gocognit
|
||||
- goerr113
|
||||
|
2
go.mod
2
go.mod
@ -11,7 +11,7 @@ require (
|
||||
github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e
|
||||
github.com/client9/misspell v0.3.4
|
||||
github.com/fatih/color v1.9.0
|
||||
github.com/golangci/golangci-lint v1.23.7
|
||||
github.com/golangci/golangci-lint v1.27.0
|
||||
github.com/google/go-github/v28 v28.1.1
|
||||
github.com/goreleaser/nfpm v1.2.1
|
||||
github.com/imdario/mergo v0.3.9
|
||||
|
86
go.sum
86
go.sum
@ -29,6 +29,8 @@ github.com/Azure/go-autorest v12.0.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSW
|
||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157 h1:hY39LwQHh+1kaovmIjOrlqnXNX6tygSRfLkkK33IkZU=
|
||||
github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
|
||||
github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20191009163259-e802c2cb94ae/go.mod h1:mjwGPas4yKduTyubHvD1Atl9r1rUq8DfVy+gkVvZ+oo=
|
||||
github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
|
||||
github.com/Masterminds/semver/v3 v3.1.0 h1:Y2lUDsFKVRSYGojLJ1yLxSXdMmMYTYls0rCvoqmMUQk=
|
||||
@ -59,8 +61,8 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
|
||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4=
|
||||
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI=
|
||||
github.com/bombsimon/wsl/v2 v2.0.0 h1:+Vjcn+/T5lSrO8Bjzhk4v14Un/2UyCA1E3V5j9nwTkQ=
|
||||
github.com/bombsimon/wsl/v2 v2.0.0/go.mod h1:mf25kr/SqFEPhhcxW1+7pxzGlW+hIl/hYTKY95VwV8U=
|
||||
github.com/bombsimon/wsl/v3 v3.0.0 h1:w9f49xQatuaeTJFaNP4SpiWSR5vfT6IstPtM62JjcqA=
|
||||
github.com/bombsimon/wsl/v3 v3.0.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc=
|
||||
github.com/caarlos0/ctrlc v1.0.0 h1:2DtF8GSIcajgffDFJzyG15vO+1PuBWOMUdFut7NnXhw=
|
||||
github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw=
|
||||
github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e h1:V9a67dfYqPLAvzk5hMQOXYJlZ4SLIXgyKIE+ZiHzgGQ=
|
||||
@ -80,7 +82,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -131,6 +133,7 @@ github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUD
|
||||
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
|
||||
github.com/go-toolsmith/typep v1.0.0 h1:zKymWyA1TRYvqYrYDrfEMZULyrhcnGY3x7LDKU2XQaA=
|
||||
github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU=
|
||||
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
|
||||
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
|
||||
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
|
||||
github.com/gofrs/flock v0.0.0-20190320160742-5135e617513b h1:ekuhfTjngPhisSjOJ0QWKpPQE8/rbknHaes6WVJj5Hw=
|
||||
@ -164,8 +167,8 @@ github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee h1:J2XAy40+7yz70u
|
||||
github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU=
|
||||
github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a h1:iR3fYXUjHCR97qWS8ch1y9zPNsgXThGwjKPrYfqMPks=
|
||||
github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
|
||||
github.com/golangci/golangci-lint v1.23.7 h1:/rWK6IXb9k554NPStxDapUgHsJhKf73AsSWvYqIDkp8=
|
||||
github.com/golangci/golangci-lint v1.23.7/go.mod h1:g/38bxfhp4rI7zeWSxcdIeHTQGS58TCak8FYcyCmavQ=
|
||||
github.com/golangci/golangci-lint v1.27.0 h1:VYLx63qb+XJsHdZ27PMS2w5JZacN0XG8ffUwe7yQomo=
|
||||
github.com/golangci/golangci-lint v1.27.0/go.mod h1:+eZALfxIuthdrHPtfM7w/R3POJLjHDfJJw8XZl9xOng=
|
||||
github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc h1:gLLhTLMk2/SutryVJ6D4VZCU3CUqr8YloG7FPIBWFpI=
|
||||
github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU=
|
||||
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA=
|
||||
@ -213,6 +216,7 @@ github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gookit/color v1.2.4/go.mod h1:AhIE+pS6D4Ql0SQWbBeXPHw7gY0/sjHoA4s/n1KB7xg=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/goreleaser/nfpm v1.2.1 h1:AEnu9XVmupRDTR930Z2rAs31Mj6sLIPxFcR9ESYvgDA=
|
||||
@ -275,16 +279,18 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
|
||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/maratori/testpackage v1.0.1 h1:QtJ5ZjqapShm0w5DosRjg0PRlSdAdlx+W6cCKoALdbQ=
|
||||
github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU=
|
||||
github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb h1:RHba4YImhrUVQDHUCe2BNSOz4tVy2yGyXhvYDvxGgeE=
|
||||
github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
|
||||
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
||||
@ -310,22 +316,28 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
|
||||
github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk=
|
||||
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
|
||||
github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
|
||||
github.com/nakabonne/nestif v0.3.0 h1:+yOViDGhg8ygGrmII72nV9B/zGxY188TYpfolntsaPw=
|
||||
github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c=
|
||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1ORQBMvzfzBgpsctsbQikCVpvC+tX285E=
|
||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw=
|
||||
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.12.0 h1:Iw5WCbBcaAAd0fpRb1c9r5YCylv4XDoCSigm1zLevwU=
|
||||
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
|
||||
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.8.1 h1:C5Dqfs/LeauYDX0jJXIe2SWmwCbGzx9yF8C8xy3Lh34=
|
||||
github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
|
||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||
github.com/onsi/gomega v1.9.0 h1:R1uwffexN6Pr340GtYRIdZmAiN4J+iw6WG4wog1DUXg=
|
||||
github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA=
|
||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88=
|
||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
||||
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
|
||||
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
@ -347,10 +359,12 @@ github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/ryancurrah/gomodguard v1.0.4 h1:oCreMAt9GuFXDe9jW4HBpc3GjdX3R/sUEcLAGh1zPx8=
|
||||
github.com/ryancurrah/gomodguard v1.0.4/go.mod h1:9T/Cfuxs5StfsocWr4WzDL36HqnX0fVb9d5fSEaLhoE=
|
||||
github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b h1:+gCnWOZV8Z/8jehJ2CdqB47Z3S+SREmQcuXkRFLNsiI=
|
||||
github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod h1:am+Fp8Bt506lA3Rk3QCmSqmYmLMnPDhdDUcosQCAx+I=
|
||||
github.com/securego/gosec v0.0.0-20200103095621-79fbf3af8d83 h1:AtnWoOvTioyDXFvu96MWEeE8qj4COSQnJogzLy/u41A=
|
||||
github.com/securego/gosec v0.0.0-20200103095621-79fbf3af8d83/go.mod h1:vvbZ2Ae7AzSq3/kywjUDxSNq2SJ27RxCz2un0H3ePqE=
|
||||
github.com/securego/gosec/v2 v2.3.0 h1:y/9mCF2WPDbSDpL3QDWZD3HHGrSYw0QSHnCqTfs4JPE=
|
||||
github.com/securego/gosec/v2 v2.3.0/go.mod h1:UzeVyUXbxukhLeHKV3VVqo7HdoQR9MrRfFmZYotn8ME=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc=
|
||||
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
|
||||
@ -400,6 +414,10 @@ github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H
|
||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2 h1:Xr9gkxfOP0KQWXKNqmwe8vEeSUiUj4Rlee9CMVX2ZUQ=
|
||||
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM=
|
||||
github.com/tetafro/godot v0.3.7 h1:+mecr7RKrUKB5UQ1gwqEMn13sDKTyDR8KNIquB9mm+8=
|
||||
github.com/tetafro/godot v0.3.7/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0=
|
||||
github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e h1:RumXZ56IrCj4CL+g1b9OL/oH0QnsF976bC8xQFYUD5Q=
|
||||
github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk=
|
||||
github.com/tj/assert v0.0.0-20171129193455-018094318fb0 h1:Rw8kxzWo1mr6FSaYXjQELRe88y2KdfynXdnK72rdjtA=
|
||||
@ -408,8 +426,8 @@ github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eN
|
||||
github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao=
|
||||
github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tommy-muehle/go-mnd v1.1.1 h1:4D0wuPKjOTiK2garzuPGGvm4zZ/wLYDOH8TJSABC7KU=
|
||||
github.com/tommy-muehle/go-mnd v1.1.1/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig=
|
||||
github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa h1:RC4maTWLKKwb7p1cnoygsbKIgNlJqSYBeAFON3Ar8As=
|
||||
github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||
github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
|
||||
@ -431,6 +449,8 @@ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofm
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
@ -461,8 +481,8 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl
|
||||
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee h1:WG0RUwxtNT4qqaXX3DPA8zHFNm/D9xaBpxzHt1WcA/E=
|
||||
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
|
||||
golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@ -481,8 +501,8 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR
|
||||
golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478 h1:l5EDrHhldLYb3ZRHDUhXF7Om7MvYXnkV9/iQNo1lX6g=
|
||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
@ -513,9 +533,10 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190620070143-6f217b454f45/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e h1:N7DeIrjYszNmSW409R3frPPwglRwMkXSBzwVbkOjLLA=
|
||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
|
||||
@ -543,18 +564,23 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn
|
||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190719005602-e377ae9d6386/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||
golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191113232020-e2727e816f5a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200204192400-7124308813f3 h1:Ms82wn6YK4ZycO6Bxyh0kxX3gFFVGo79CCuc52xgcys=
|
||||
golang.org/x/tools v0.0.0-20200204192400-7124308813f3/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
|
||||
golang.org/x/tools v0.0.0-20200331202046-9d5940d49312/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20200502202811-ed308ab3e770 h1:M9Fif0OxNji8w+HvmhVQ8KJtiZOsjU9RgslJGhn95XE=
|
||||
golang.org/x/tools v0.0.0-20200502202811-ed308ab3e770/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898 h1:/atklqdjdhuosWIl6AIbOeHJjicWYPqR9bpxqxYG2pA=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||
google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||
google.golang.org/api v0.6.0/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4=
|
||||
@ -589,6 +615,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
|
||||
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
@ -601,16 +629,14 @@ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bl
|
||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I=
|
||||
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
|
||||
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo=
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Package artifact provides the core artifact storage for goreleaser
|
||||
// Package artifact provides the core artifact storage for goreleaser.
|
||||
package artifact
|
||||
|
||||
// nolint: gosec
|
||||
@ -19,7 +19,7 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Type defines the type of an artifact
|
||||
// Type defines the type of an artifact.
|
||||
type Type int
|
||||
|
||||
const (
|
||||
@ -76,7 +76,7 @@ func (t Type) String() string {
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
// Artifact represents an artifact and its relevant info
|
||||
// Artifact represents an artifact and its relevant info.
|
||||
type Artifact struct {
|
||||
Name string
|
||||
Path string
|
||||
@ -105,7 +105,7 @@ func (a Artifact) Checksum(algorithm string) (string, error) {
|
||||
if err != nil {
|
||||
return "", errors.Wrap(err, "failed to checksum")
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
var h hash.Hash
|
||||
switch algorithm {
|
||||
case "crc32":
|
||||
@ -132,13 +132,13 @@ func (a Artifact) Checksum(algorithm string) (string, error) {
|
||||
return hex.EncodeToString(h.Sum(nil)), nil
|
||||
}
|
||||
|
||||
// Artifacts is a list of artifacts
|
||||
// Artifacts is a list of artifacts.
|
||||
type Artifacts struct {
|
||||
items []*Artifact
|
||||
lock *sync.Mutex
|
||||
}
|
||||
|
||||
// New return a new list of artifacts
|
||||
// New return a new list of artifacts.
|
||||
func New() Artifacts {
|
||||
return Artifacts{
|
||||
items: []*Artifact{},
|
||||
@ -146,12 +146,12 @@ func New() Artifacts {
|
||||
}
|
||||
}
|
||||
|
||||
// List return the actual list of artifacts
|
||||
// List return the actual list of artifacts.
|
||||
func (artifacts Artifacts) List() []*Artifact {
|
||||
return artifacts.items
|
||||
}
|
||||
|
||||
// GroupByPlatform groups the artifacts by their platform
|
||||
// GroupByPlatform groups the artifacts by their platform.
|
||||
func (artifacts Artifacts) GroupByPlatform() map[string][]*Artifact {
|
||||
var result = map[string][]*Artifact{}
|
||||
for _, a := range artifacts.items {
|
||||
@ -161,7 +161,7 @@ func (artifacts Artifacts) GroupByPlatform() map[string][]*Artifact {
|
||||
return result
|
||||
}
|
||||
|
||||
// Add safely adds a new artifact to an artifact list
|
||||
// Add safely adds a new artifact to an artifact list.
|
||||
func (artifacts *Artifacts) Add(a *Artifact) {
|
||||
artifacts.lock.Lock()
|
||||
defer artifacts.lock.Unlock()
|
||||
@ -174,31 +174,31 @@ func (artifacts *Artifacts) Add(a *Artifact) {
|
||||
}
|
||||
|
||||
// Filter defines an artifact filter which can be used within the Filter
|
||||
// function
|
||||
// function.
|
||||
type Filter func(a *Artifact) bool
|
||||
|
||||
// ByGoos is a predefined filter that filters by the given goos
|
||||
// ByGoos is a predefined filter that filters by the given goos.
|
||||
func ByGoos(s string) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
return a.Goos == s
|
||||
}
|
||||
}
|
||||
|
||||
// ByGoarch is a predefined filter that filters by the given goarch
|
||||
// ByGoarch is a predefined filter that filters by the given goarch.
|
||||
func ByGoarch(s string) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
return a.Goarch == s
|
||||
}
|
||||
}
|
||||
|
||||
// ByGoarm is a predefined filter that filters by the given goarm
|
||||
// ByGoarm is a predefined filter that filters by the given goarm.
|
||||
func ByGoarm(s string) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
return a.Goarm == s
|
||||
}
|
||||
}
|
||||
|
||||
// ByType is a predefined filter that filters by the given type
|
||||
// ByType is a predefined filter that filters by the given type.
|
||||
func ByType(t Type) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
return a.Type == t
|
||||
@ -232,7 +232,7 @@ func ByIDs(ids ...string) Filter {
|
||||
return Or(filters...)
|
||||
}
|
||||
|
||||
// Or performs an OR between all given filters
|
||||
// Or performs an OR between all given filters.
|
||||
func Or(filters ...Filter) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
for _, f := range filters {
|
||||
@ -244,7 +244,7 @@ func Or(filters ...Filter) Filter {
|
||||
}
|
||||
}
|
||||
|
||||
// And performs an AND between all given filters
|
||||
// And performs an AND between all given filters.
|
||||
func And(filters ...Filter) Filter {
|
||||
return func(a *Artifact) bool {
|
||||
for _, f := range filters {
|
||||
|
@ -19,7 +19,7 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Default builder instance
|
||||
// Default builder instance.
|
||||
// nolint: gochecknoglobals
|
||||
var Default = &Builder{}
|
||||
|
||||
@ -28,10 +28,10 @@ func init() {
|
||||
api.Register("go", Default)
|
||||
}
|
||||
|
||||
// Builder is golang builder
|
||||
// Builder is golang builder.
|
||||
type Builder struct{}
|
||||
|
||||
// WithDefaults sets the defaults for a golang build and returns it
|
||||
// WithDefaults sets the defaults for a golang build and returns it.
|
||||
func (*Builder) WithDefaults(build config.Build) config.Build {
|
||||
if build.Dir == "" {
|
||||
build.Dir = "."
|
||||
@ -57,7 +57,7 @@ func (*Builder) WithDefaults(build config.Build) config.Build {
|
||||
return build
|
||||
}
|
||||
|
||||
// Build builds a golang build
|
||||
// Build builds a golang build.
|
||||
func (*Builder) Build(ctx *context.Context, build config.Build, options api.Options) error {
|
||||
if err := checkMain(build); err != nil {
|
||||
return err
|
||||
|
@ -10,21 +10,21 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Info of the repository
|
||||
// Info of the repository.
|
||||
type Info struct {
|
||||
Description string
|
||||
Homepage string
|
||||
URL string
|
||||
}
|
||||
|
||||
// Client interface
|
||||
// Client interface.
|
||||
type Client interface {
|
||||
CreateRelease(ctx *context.Context, body string) (releaseID string, err error)
|
||||
CreateFile(ctx *context.Context, commitAuthor config.CommitAuthor, repo config.Repo, content []byte, path, message string) (err error)
|
||||
Upload(ctx *context.Context, releaseID string, artifact *artifact.Artifact, file *os.File) (err error)
|
||||
}
|
||||
|
||||
// New creates a new client depending on the token type
|
||||
// New creates a new client depending on the token type.
|
||||
func New(ctx *context.Context) (Client, error) {
|
||||
log.WithField("type", ctx.TokenType).Info("token type")
|
||||
if ctx.TokenType == context.TokenTypeGitHub {
|
||||
|
@ -33,7 +33,7 @@ func getInstanceURL(apiURL string) (string, error) {
|
||||
return rawurl, nil
|
||||
}
|
||||
|
||||
// NewGitea returns a gitea client implementation
|
||||
// NewGitea returns a gitea client implementation.
|
||||
func NewGitea(ctx *context.Context) (Client, error) {
|
||||
instanceURL, err := getInstanceURL(ctx.Config.GiteaURLs.API)
|
||||
if err != nil {
|
||||
@ -52,7 +52,7 @@ func NewGitea(ctx *context.Context) (Client, error) {
|
||||
}
|
||||
|
||||
// CreateFile creates a file in the repository at a given path
|
||||
// or updates the file if it exists
|
||||
// or updates the file if it exists.
|
||||
func (c *giteaClient) CreateFile(
|
||||
ctx *context.Context,
|
||||
commitAuthor config.CommitAuthor,
|
||||
@ -132,7 +132,7 @@ func (c *giteaClient) updateRelease(ctx *context.Context, title, body string, id
|
||||
}
|
||||
|
||||
// CreateRelease creates a new release or updates it by keeping
|
||||
// the release notes if it exists
|
||||
// the release notes if it exists.
|
||||
func (c *giteaClient) CreateRelease(ctx *context.Context, body string) (string, error) {
|
||||
var release *gitea.Release
|
||||
var err error
|
||||
@ -168,7 +168,7 @@ func (c *giteaClient) CreateRelease(ctx *context.Context, body string) (string,
|
||||
return strconv.FormatInt(release.ID, 10), nil
|
||||
}
|
||||
|
||||
// Upload uploads a file into a release repository
|
||||
// Upload uploads a file into a release repository.
|
||||
func (c *giteaClient) Upload(
|
||||
ctx *context.Context,
|
||||
releaseID string,
|
||||
|
@ -21,14 +21,13 @@ type githubClient struct {
|
||||
client *github.Client
|
||||
}
|
||||
|
||||
// NewGitHub returns a github client implementation
|
||||
// NewGitHub returns a github client implementation.
|
||||
func NewGitHub(ctx *context.Context) (Client, error) {
|
||||
ts := oauth2.StaticTokenSource(
|
||||
&oauth2.Token{AccessToken: ctx.Token},
|
||||
)
|
||||
httpClient := oauth2.NewClient(ctx, ts)
|
||||
base := httpClient.Transport.(*oauth2.Transport).Base
|
||||
// nolint: govet
|
||||
if base == nil || reflect.ValueOf(base).IsNil() {
|
||||
base = http.DefaultTransport
|
||||
}
|
||||
|
@ -15,14 +15,14 @@ import (
|
||||
"github.com/xanzy/go-gitlab"
|
||||
)
|
||||
|
||||
// ErrExtractHashFromFileUploadURL indicates the file upload hash could not ne extracted from the url
|
||||
// ErrExtractHashFromFileUploadURL indicates the file upload hash could not ne extracted from the url.
|
||||
var ErrExtractHashFromFileUploadURL = errors.New("could not extract hash from gitlab file upload url")
|
||||
|
||||
type gitlabClient struct {
|
||||
client *gitlab.Client
|
||||
}
|
||||
|
||||
// NewGitLab returns a gitlab client implementation
|
||||
// NewGitLab returns a gitlab client implementation.
|
||||
func NewGitLab(ctx *context.Context) (Client, error) {
|
||||
token := ctx.Token
|
||||
transport := &http.Transport{
|
||||
@ -47,7 +47,7 @@ func NewGitLab(ctx *context.Context) (Client, error) {
|
||||
}
|
||||
|
||||
// CreateFile gets a file in the repository at a given path
|
||||
// and updates if it exists or creates it for later pipes in the pipeline
|
||||
// and updates if it exists or creates it for later pipes in the pipeline.
|
||||
func (c *gitlabClient) CreateFile(
|
||||
ctx *context.Context,
|
||||
commitAuthor config.CommitAuthor,
|
||||
@ -157,7 +157,7 @@ func (c *gitlabClient) CreateFile(
|
||||
}
|
||||
|
||||
// CreateRelease creates a new release or updates it by keeping
|
||||
// the release notes if it exists
|
||||
// the release notes if it exists.
|
||||
func (c *gitlabClient) CreateRelease(ctx *context.Context, body string) (releaseID string, err error) {
|
||||
title, err := tmpl.New(ctx).Apply(ctx.Config.Release.NameTemplate)
|
||||
if err != nil {
|
||||
@ -229,7 +229,7 @@ func (c *gitlabClient) CreateRelease(ctx *context.Context, body string) (release
|
||||
return tagName, err // gitlab references a tag in a repo by its name
|
||||
}
|
||||
|
||||
// Upload uploads a file into a release repository
|
||||
// Upload uploads a file into a release repository.
|
||||
func (c *gitlabClient) Upload(
|
||||
ctx *context.Context,
|
||||
releaseID string,
|
||||
@ -292,7 +292,7 @@ func (c *gitlabClient) Upload(
|
||||
}
|
||||
|
||||
// extractProjectFileHashFrom extracts the hash from the
|
||||
// relative project file url of the format '/uploads/<hash>/filename.ext'
|
||||
// relative project file url of the format '/uploads/<hash>/filename.ext'.
|
||||
func extractProjectFileHashFrom(projectFileURL string) (string, error) {
|
||||
log.WithField("projectFileURL", projectFileURL).Debug("extract file hash from")
|
||||
splittedProjectFileURL := strings.Split(projectFileURL, "/")
|
||||
|
@ -13,7 +13,7 @@ import (
|
||||
|
||||
const baseURL = "https://goreleaser.com/deprecations#"
|
||||
|
||||
// Notice warns the user about the deprecation of the given property
|
||||
// Notice warns the user about the deprecation of the given property.
|
||||
func Notice(ctx *context.Context, property string) {
|
||||
ctx.Deprecated = true
|
||||
cli.Default.Padding += 3
|
||||
|
@ -111,7 +111,7 @@ type command struct {
|
||||
}
|
||||
|
||||
// resolveCommand returns the a command based on publisher template with replaced variables
|
||||
// Those variables can be replaced by the given context, goos, goarch, goarm and more
|
||||
// Those variables can be replaced by the given context, goos, goarch, goarm and more.
|
||||
func resolveCommand(ctx *context.Context, publisher config.Publisher, artifact *artifact.Artifact) (*command, error) {
|
||||
var err error
|
||||
|
||||
|
@ -9,13 +9,13 @@ import (
|
||||
"github.com/apex/log"
|
||||
)
|
||||
|
||||
// IsRepo returns true if current folder is a git repository
|
||||
// IsRepo returns true if current folder is a git repository.
|
||||
func IsRepo() bool {
|
||||
out, err := Run("rev-parse", "--is-inside-work-tree")
|
||||
return err == nil && strings.TrimSpace(out) == "true"
|
||||
}
|
||||
|
||||
// Run runs a git command and returns its output or errors
|
||||
// Run runs a git command and returns its output or errors.
|
||||
func Run(args ...string) (string, error) {
|
||||
// TODO: use exex.CommandContext here and refactor.
|
||||
var extraArgs = []string{
|
||||
@ -34,7 +34,7 @@ func Run(args ...string) (string, error) {
|
||||
return string(bts), nil
|
||||
}
|
||||
|
||||
// Clean the output
|
||||
// Clean the output.
|
||||
func Clean(output string, err error) (string, error) {
|
||||
output = strings.Replace(strings.Split(output, "\n")[0], "'", "", -1)
|
||||
if err != nil {
|
||||
|
@ -67,7 +67,7 @@ func assetOpenDefault(kind string, a *artifact.Artifact) (*asset, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
// Defaults sets default configuration options on upload structs
|
||||
// Defaults sets default configuration options on upload structs.
|
||||
func Defaults(uploads []config.Upload) error {
|
||||
for i := range uploads {
|
||||
defaults(&uploads[i])
|
||||
@ -84,7 +84,7 @@ func defaults(upload *config.Upload) {
|
||||
}
|
||||
}
|
||||
|
||||
// CheckConfig validates an upload configuration returning a descriptive error when appropriate
|
||||
// CheckConfig validates an upload configuration returning a descriptive error when appropriate.
|
||||
func CheckConfig(ctx *context.Context, upload *config.Upload, kind string) error {
|
||||
if upload.Target == "" {
|
||||
return misconfigured(kind, upload, "missing target")
|
||||
@ -142,7 +142,7 @@ func misconfigured(kind string, upload *config.Upload, reason string) error {
|
||||
// It must return and error when the response must be considered a failure.
|
||||
type ResponseChecker func(*h.Response) error
|
||||
|
||||
// Upload does the actual uploading work
|
||||
// Upload does the actual uploading work.
|
||||
func Upload(ctx *context.Context, uploads []config.Upload, kind string, check ResponseChecker) error {
|
||||
if ctx.SkipPublish {
|
||||
return pipe.ErrSkipPublishEnabled
|
||||
@ -204,7 +204,7 @@ func uploadWithFilter(ctx *context.Context, upload *config.Upload, filter artifa
|
||||
return g.Wait()
|
||||
}
|
||||
|
||||
// uploadAsset uploads file to target and logs all actions
|
||||
// uploadAsset uploads file to target and logs all actions.
|
||||
func uploadAsset(ctx *context.Context, upload *config.Upload, artifact *artifact.Artifact, kind string, check ResponseChecker) error {
|
||||
username, err := getUsername(ctx, upload, kind)
|
||||
if err != nil {
|
||||
@ -229,7 +229,7 @@ func uploadAsset(ctx *context.Context, upload *config.Upload, artifact *artifact
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer asset.ReadCloser.Close() // nolint: errcheck
|
||||
defer asset.ReadCloser.Close()
|
||||
|
||||
// target url need to contain the artifact name unless the custom
|
||||
// artifact name is used
|
||||
@ -271,7 +271,7 @@ func uploadAsset(ctx *context.Context, upload *config.Upload, artifact *artifact
|
||||
return nil
|
||||
}
|
||||
|
||||
// uploadAssetToServer uploads the asset file to target
|
||||
// uploadAssetToServer uploads the asset file to target.
|
||||
func uploadAssetToServer(ctx *context.Context, upload *config.Upload, target, username, secret string, headers map[string]string, a *asset, check ResponseChecker) (*h.Response, error) {
|
||||
req, err := newUploadRequest(upload.Method, target, username, secret, headers, a)
|
||||
if err != nil {
|
||||
@ -281,7 +281,7 @@ func uploadAssetToServer(ctx *context.Context, upload *config.Upload, target, us
|
||||
return executeHTTPRequest(ctx, upload, req, check)
|
||||
}
|
||||
|
||||
// newUploadRequest creates a new h.Request for uploading
|
||||
// newUploadRequest creates a new h.Request for uploading.
|
||||
func newUploadRequest(method, target, username, secret string, headers map[string]string, a *asset) (*h.Request, error) {
|
||||
req, err := h.NewRequest(method, target, a.ReadCloser)
|
||||
if err != nil {
|
||||
@ -320,7 +320,7 @@ func getHTTPClient(upload *config.Upload) (*h.Client, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
// executeHTTPRequest processes the http call with respect of context ctx
|
||||
// executeHTTPRequest processes the http call with respect of context ctx.
|
||||
func executeHTTPRequest(ctx *context.Context, upload *config.Upload, req *h.Request, check ResponseChecker) (*h.Response, error) {
|
||||
client, err := getHTTPClient(upload)
|
||||
if err != nil {
|
||||
@ -339,7 +339,7 @@ func executeHTTPRequest(ctx *context.Context, upload *config.Upload, req *h.Requ
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defer resp.Body.Close() // nolint: errcheck
|
||||
defer resp.Body.Close()
|
||||
|
||||
err = check(resp)
|
||||
if err != nil {
|
||||
@ -352,7 +352,7 @@ func executeHTTPRequest(ctx *context.Context, upload *config.Upload, req *h.Requ
|
||||
}
|
||||
|
||||
// resolveTargetTemplate returns the resolved target template with replaced variables
|
||||
// Those variables can be replaced by the given context, goos, goarch, goarm and more
|
||||
// Those variables can be replaced by the given context, goos, goarch, goarm and more.
|
||||
func resolveTargetTemplate(ctx *context.Context, upload *config.Upload, artifact *artifact.Artifact) (string, error) {
|
||||
var replacements = map[string]string{}
|
||||
if upload.Mode == ModeBinary {
|
||||
|
@ -3,13 +3,13 @@ package ids
|
||||
|
||||
import "fmt"
|
||||
|
||||
// IDs is the IDs type
|
||||
// IDs is the IDs type.
|
||||
type IDs struct {
|
||||
ids map[string]int
|
||||
kind string
|
||||
}
|
||||
|
||||
// New IDs
|
||||
// New IDs.
|
||||
func New(kind string) IDs {
|
||||
return IDs{
|
||||
ids: map[string]int{},
|
||||
@ -17,12 +17,12 @@ func New(kind string) IDs {
|
||||
}
|
||||
}
|
||||
|
||||
// Inc increment the counter of the given id
|
||||
// Inc increment the counter of the given id.
|
||||
func (i IDs) Inc(id string) {
|
||||
i.ids[id]++
|
||||
}
|
||||
|
||||
// Validate errors if there are any ids with counter > 1
|
||||
// Validate errors if there are any ids with counter > 1.
|
||||
func (i IDs) Validate() error {
|
||||
for id, count := range i.ids {
|
||||
if count > 1 {
|
||||
|
@ -3,10 +3,9 @@ package linux
|
||||
|
||||
import "strings"
|
||||
|
||||
// Arch converts a goarch to a linux-compatible arch
|
||||
//
|
||||
// list of all linux arches: `go tool dist list | grep linux`
|
||||
// Arch converts a goarch to a linux-compatible arch.
|
||||
func Arch(key string) string {
|
||||
// XXX: list of all linux arches: `go tool dist list | grep linux`
|
||||
var arch = strings.TrimPrefix(key, "linux")
|
||||
switch arch {
|
||||
case "386":
|
||||
|
@ -2,12 +2,12 @@ package logext
|
||||
|
||||
import "github.com/apex/log"
|
||||
|
||||
// Writer writes with log.Info
|
||||
// Writer writes with log.Info.
|
||||
type Writer struct {
|
||||
ctx *log.Entry
|
||||
}
|
||||
|
||||
// NewWriter creates a new log writer
|
||||
// NewWriter creates a new log writer.
|
||||
func NewWriter(ctx *log.Entry) Writer {
|
||||
return Writer{ctx: ctx}
|
||||
}
|
||||
@ -17,12 +17,12 @@ func (t Writer) Write(p []byte) (n int, err error) {
|
||||
return len(p), nil
|
||||
}
|
||||
|
||||
// Writer writes with log.Error
|
||||
// Writer writes with log.Error.
|
||||
type ErrorWriter struct {
|
||||
ctx *log.Entry
|
||||
}
|
||||
|
||||
// NewWriter creates a new log writer
|
||||
// NewWriter creates a new log writer.
|
||||
func NewErrWriter(ctx *log.Entry) ErrorWriter {
|
||||
return ErrorWriter{ctx: ctx}
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ import (
|
||||
"github.com/goreleaser/goreleaser/internal/semerrgroup"
|
||||
"github.com/goreleaser/goreleaser/internal/tmpl"
|
||||
"github.com/goreleaser/goreleaser/pkg/archive"
|
||||
archivelib "github.com/goreleaser/goreleaser/pkg/archive"
|
||||
"github.com/goreleaser/goreleaser/pkg/config"
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
@ -33,14 +32,14 @@ const (
|
||||
// nolint: gochecknoglobals
|
||||
var lock sync.Mutex
|
||||
|
||||
// Pipe for archive
|
||||
// Pipe for archive.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "archives"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
var ids = ids.New("archives")
|
||||
if len(ctx.Config.Archives) == 0 {
|
||||
@ -82,7 +81,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return ids.Validate()
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
var g = semerrgroup.New(ctx.Parallelism)
|
||||
for _, archive := range ctx.Config.Archives {
|
||||
@ -107,11 +106,11 @@ func (Pipe) Run(ctx *context.Context) error {
|
||||
return g.Wait()
|
||||
}
|
||||
|
||||
func create(ctx *context.Context, archive config.Archive, binaries []*artifact.Artifact) error {
|
||||
var format = packageFormat(archive, binaries[0].Goos)
|
||||
func create(ctx *context.Context, arch config.Archive, binaries []*artifact.Artifact) error {
|
||||
var format = packageFormat(arch, binaries[0].Goos)
|
||||
folder, err := tmpl.New(ctx).
|
||||
WithArtifact(binaries[0], archive.Replacements).
|
||||
Apply(archive.NameTemplate)
|
||||
WithArtifact(binaries[0], arch.Replacements).
|
||||
Apply(arch.NameTemplate)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -131,23 +130,22 @@ func create(ctx *context.Context, archive config.Archive, binaries []*artifact.A
|
||||
return fmt.Errorf("failed to create directory %s: %s", archivePath, err.Error())
|
||||
}
|
||||
lock.Unlock()
|
||||
defer archiveFile.Close() // nolint: errcheck
|
||||
defer archiveFile.Close()
|
||||
|
||||
var log = log.WithField("archive", archivePath)
|
||||
log.Info("creating")
|
||||
|
||||
template := tmpl.New(ctx).
|
||||
WithArtifact(binaries[0], archive.Replacements)
|
||||
wrap, err := template.
|
||||
Apply(wrapFolder(archive))
|
||||
WithArtifact(binaries[0], arch.Replacements)
|
||||
wrap, err := template.Apply(wrapFolder(arch))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var a = NewEnhancedArchive(archivelib.New(archiveFile), wrap)
|
||||
defer a.Close() // nolint: errcheck
|
||||
var a = NewEnhancedArchive(archive.New(archiveFile), wrap)
|
||||
defer a.Close()
|
||||
|
||||
files, err := findFiles(template, archive)
|
||||
files, err := findFiles(template, arch)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to find files to archive: %s", err.Error())
|
||||
}
|
||||
@ -171,8 +169,8 @@ func create(ctx *context.Context, archive config.Archive, binaries []*artifact.A
|
||||
Gomips: binaries[0].Gomips,
|
||||
Extra: map[string]interface{}{
|
||||
"Builds": binaries,
|
||||
"ID": archive.ID,
|
||||
"Format": archive.Format,
|
||||
"ID": arch.ID,
|
||||
"Format": arch.Format,
|
||||
"WrappedIn": wrap,
|
||||
},
|
||||
})
|
||||
@ -264,7 +262,7 @@ type EnhancedArchive struct {
|
||||
files map[string]string
|
||||
}
|
||||
|
||||
// Add adds a file
|
||||
// Add adds a file.
|
||||
func (d EnhancedArchive) Add(name, path string) error {
|
||||
name = strings.Replace(filepath.Join(d.wrap, name), "\\", "/", -1)
|
||||
log.Debugf("adding file: %s as %s", path, name)
|
||||
@ -275,7 +273,7 @@ func (d EnhancedArchive) Add(name, path string) error {
|
||||
return d.a.Add(name, path)
|
||||
}
|
||||
|
||||
// Close closes the underlying archive
|
||||
// Close closes the underlying archive.
|
||||
func (d EnhancedArchive) Close() error {
|
||||
return d.a.Close()
|
||||
}
|
||||
|
@ -27,23 +27,22 @@ type artifactoryResponse struct {
|
||||
URI string `json:"uri,omitempty"`
|
||||
}
|
||||
|
||||
// artifactoryChecksums reflects the checksums generated by
|
||||
// Artifactory
|
||||
// artifactoryChecksums reflects the checksums generated by Artifactory.
|
||||
type artifactoryChecksums struct {
|
||||
SHA1 string `json:"sha1,omitempty"`
|
||||
MD5 string `json:"md5,omitempty"`
|
||||
SHA256 string `json:"sha256,omitempty"`
|
||||
}
|
||||
|
||||
// Pipe for Artifactory
|
||||
// Pipe for Artifactory.
|
||||
type Pipe struct{}
|
||||
|
||||
// String returns the description of the pipe
|
||||
// String returns the description of the pipe.
|
||||
func (Pipe) String() string {
|
||||
return "artifactory"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
for i := range ctx.Config.Artifactories {
|
||||
ctx.Config.Artifactories[i].ChecksumHeader = "X-Checksum-SHA256"
|
||||
@ -52,7 +51,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return http.Defaults(ctx.Config.Artifactories)
|
||||
}
|
||||
|
||||
// Publish artifacts to artifactory
|
||||
// Publish artifacts to artifactory.
|
||||
//
|
||||
// Docs: https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-Example-DeployinganArtifact
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Package before provides the pipe implementation that runs before all other pipes.
|
||||
package before
|
||||
|
||||
import (
|
||||
@ -11,15 +12,15 @@ import (
|
||||
"github.com/mattn/go-shellwords"
|
||||
)
|
||||
|
||||
// Pipe is a global hook pipe
|
||||
// Pipe is a global hook pipe.
|
||||
type Pipe struct{}
|
||||
|
||||
// String is the name of this pipe
|
||||
// String is the name of this pipe.
|
||||
func (Pipe) String() string {
|
||||
return "running before hooks"
|
||||
}
|
||||
|
||||
// Run executes the hooks
|
||||
// Run executes the hooks.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
var tmpl = tmpl.New(ctx)
|
||||
/* #nosec */
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Package blob provides the pipe implementation that uploads files to "blob" providers, such as s3, gcs and azure.
|
||||
package blob
|
||||
|
||||
import (
|
||||
@ -9,15 +10,15 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe for Artifactory
|
||||
// Pipe for blobs.
|
||||
type Pipe struct{}
|
||||
|
||||
// String returns the description of the pipe
|
||||
// String returns the description of the pipe.
|
||||
func (Pipe) String() string {
|
||||
return "blobs"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
for i := range ctx.Config.Blobs {
|
||||
blob := &ctx.Config.Blobs[i]
|
||||
@ -32,7 +33,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Publish to specified blob bucket url
|
||||
// Publish to specified blob bucket url.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if len(ctx.Config.Blobs) == 0 {
|
||||
return pipe.Skip("blobs section is not configured")
|
||||
@ -48,7 +49,7 @@ func (Pipe) Publish(ctx *context.Context) error {
|
||||
return g.Wait()
|
||||
}
|
||||
|
||||
// errorContains check if error contains specific string
|
||||
// errorContains check if error contains specific string.
|
||||
func errorContains(err error, subs ...string) bool {
|
||||
for _, sub := range subs {
|
||||
if strings.Contains(err.Error(), sub) {
|
||||
|
@ -62,7 +62,7 @@ func urlFor(ctx *context.Context, conf config.Blob) (string, error) {
|
||||
|
||||
// Takes goreleaser context(which includes artificats) and bucketURL for
|
||||
// upload to destination (eg: gs://gorelease-bucket) using the given uploader
|
||||
// implementation
|
||||
// implementation.
|
||||
func doUpload(ctx *context.Context, conf config.Blob) error {
|
||||
folder, err := tmpl.New(ctx).Apply(conf.Folder)
|
||||
if err != nil {
|
||||
@ -186,7 +186,7 @@ func getData(ctx *context.Context, conf config.Blob, path string) ([]byte, error
|
||||
return data, err
|
||||
}
|
||||
|
||||
// uploader implements upload
|
||||
// uploader implements upload.
|
||||
type uploader interface {
|
||||
io.Closer
|
||||
Open(ctx *context.Context, url string) error
|
||||
@ -194,7 +194,7 @@ type uploader interface {
|
||||
}
|
||||
|
||||
// skipUploader is used when --skip-upload is set and will just log
|
||||
// things without really doing anything
|
||||
// things without really doing anything.
|
||||
type skipUploader struct{}
|
||||
|
||||
func (u *skipUploader) Close() error { return nil }
|
||||
@ -205,7 +205,7 @@ func (u *skipUploader) Upload(_ *context.Context, path string, _ []byte) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// productionUploader actually do upload to
|
||||
// productionUploader actually do upload to.
|
||||
type productionUploader struct {
|
||||
bucket *blob.Bucket
|
||||
}
|
||||
|
@ -19,17 +19,17 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ErrNoArchivesFound happens when 0 archives are found
|
||||
// ErrNoArchivesFound happens when 0 archives are found.
|
||||
var ErrNoArchivesFound = errors.New("no linux/macos archives found")
|
||||
|
||||
// ErrMultipleArchivesSameOS happens when the config yields multiple archives
|
||||
// for linux or windows.
|
||||
var ErrMultipleArchivesSameOS = errors.New("one tap can handle only archive of an OS/Arch combination. Consider using ids in the brew section")
|
||||
|
||||
// ErrEmptyTokenType indicates unknown token type
|
||||
// ErrEmptyTokenType indicates unknown token type.
|
||||
var ErrEmptyTokenType = errors.New("no token type found")
|
||||
|
||||
// ErrTokenTypeNotImplementedForBrew indicates that a new token type was not implemented for this pipe
|
||||
// ErrTokenTypeNotImplementedForBrew indicates that a new token type was not implemented for this pipe.
|
||||
type ErrTokenTypeNotImplementedForBrew struct {
|
||||
TokenType context.TokenType
|
||||
}
|
||||
@ -41,14 +41,14 @@ func (e ErrTokenTypeNotImplementedForBrew) Error() string {
|
||||
return "token type not implemented for brew pipe"
|
||||
}
|
||||
|
||||
// Pipe for brew deployment
|
||||
// Pipe for brew deployment.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "homebrew tap formula"
|
||||
}
|
||||
|
||||
// Publish brew formula
|
||||
// Publish brew formula.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
client, err := client.New(ctx)
|
||||
if err != nil {
|
||||
@ -62,7 +62,7 @@ func (Pipe) Publish(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
for i := range ctx.Config.Brews {
|
||||
var brew = &ctx.Config.Brews[i]
|
||||
@ -156,7 +156,7 @@ func doRun(ctx *context.Context, brew config.Homebrew, client client.Client) err
|
||||
var filename = brew.Name + ".rb"
|
||||
var path = filepath.Join(ctx.Config.Dist, filename)
|
||||
log.WithField("formula", path).Info("writing")
|
||||
if err := ioutil.WriteFile(path, []byte(content), 0644); err != nil {
|
||||
if err := ioutil.WriteFile(path, []byte(content), 0644); err != nil { //nolint: gosec
|
||||
return errors.Wrap(err, "failed to write brew tap")
|
||||
}
|
||||
|
||||
@ -268,7 +268,8 @@ func dataFor(ctx *context.Context, cfg config.Homebrew, tokenType context.TokenT
|
||||
DownloadURL: url,
|
||||
SHA256: sum,
|
||||
}
|
||||
if artifact.Goos == "darwin" {
|
||||
// TODO: refactor
|
||||
if artifact.Goos == "darwin" { // nolint: nestif
|
||||
if result.MacOS.DownloadURL != "" {
|
||||
return result, ErrMultipleArchivesSameOS
|
||||
}
|
||||
|
@ -23,14 +23,14 @@ import (
|
||||
_ "github.com/goreleaser/goreleaser/internal/builders/golang"
|
||||
)
|
||||
|
||||
// Pipe for build
|
||||
// Pipe for build.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "building binaries"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
for _, build := range ctx.Config.Builds {
|
||||
if build.Skip {
|
||||
@ -45,7 +45,7 @@ func (Pipe) Run(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
var ids = ids.New("builds")
|
||||
for i, build := range ctx.Config.Builds {
|
||||
|
@ -17,17 +17,17 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// ErrInvalidSortDirection happens when the sort order is invalid
|
||||
// ErrInvalidSortDirection happens when the sort order is invalid.
|
||||
var ErrInvalidSortDirection = errors.New("invalid sort direction")
|
||||
|
||||
// Pipe for checksums
|
||||
// Pipe for checksums.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "generating changelog"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
// TODO: should probably have a different field for the filename and its
|
||||
// contents.
|
||||
@ -93,7 +93,7 @@ func (Pipe) Run(ctx *context.Context) error {
|
||||
|
||||
var path = filepath.Join(ctx.Config.Dist, "CHANGELOG.md")
|
||||
log.WithField("changelog", path).Info("writing")
|
||||
return ioutil.WriteFile(path, []byte(ctx.ReleaseNotes), 0644)
|
||||
return ioutil.WriteFile(path, []byte(ctx.ReleaseNotes), 0644) //nolint: gosec
|
||||
}
|
||||
|
||||
func loadFromFile(file string) (string, error) {
|
||||
@ -204,7 +204,7 @@ func previous(tag string) (result string, err error) {
|
||||
// nolint: gochecknoglobals
|
||||
var validSHA1 = regexp.MustCompile(`^[a-fA-F0-9]{40}$`)
|
||||
|
||||
// isSHA1 te lets us know if the ref is a SHA1 or not
|
||||
// isSHA1 te lets us know if the ref is a SHA1 or not.
|
||||
func isSHA1(ref string) bool {
|
||||
return validSHA1.MatchString(ref)
|
||||
}
|
||||
|
@ -15,14 +15,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe for checksums
|
||||
// Pipe for checksums.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "calculating checksums"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
if ctx.Config.Checksum.NameTemplate == "" {
|
||||
ctx.Config.Checksum.NameTemplate = "{{ .ProjectName }}_{{ .Version }}_checksums.txt"
|
||||
@ -33,7 +33,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
artifactList := ctx.Artifacts.Filter(
|
||||
artifact.Or(
|
||||
@ -54,12 +54,12 @@ func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
file, err := os.OpenFile(
|
||||
filepath.Join(ctx.Config.Dist, filename),
|
||||
os.O_APPEND|os.O_WRONLY|os.O_CREATE|os.O_TRUNC,
|
||||
0444,
|
||||
0644,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
|
||||
var g = semerrgroup.New(ctx.Parallelism)
|
||||
for _, artifact := range artifactList {
|
||||
|
@ -7,15 +7,15 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe for custom publisher
|
||||
// Pipe for custom publisher.
|
||||
type Pipe struct{}
|
||||
|
||||
// String returns the description of the pipe
|
||||
// String returns the description of the pipe.
|
||||
func (Pipe) String() string {
|
||||
return "custom publisher"
|
||||
}
|
||||
|
||||
// Publish artifacts
|
||||
// Publish artifacts.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if len(ctx.Config.Publishers) == 0 {
|
||||
return pipe.Skip("publishers section is not configured")
|
||||
|
@ -8,14 +8,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/defaults"
|
||||
)
|
||||
|
||||
// Pipe that sets the defaults
|
||||
// Pipe that sets the defaults.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "setting defaults"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
if ctx.Config.Dist == "" {
|
||||
ctx.Config.Dist = "dist"
|
||||
|
4
internal/pipe/dist/dist.go
vendored
4
internal/pipe/dist/dist.go
vendored
@ -11,14 +11,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe for cleandis
|
||||
// Pipe for dist.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "checking ./dist"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
_, err = os.Stat(ctx.Config.Dist)
|
||||
if os.IsNotExist(err) {
|
||||
|
@ -19,17 +19,17 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ErrNoDocker is shown when docker cannot be found in $PATH
|
||||
// ErrNoDocker is shown when docker cannot be found in $PATH.
|
||||
var ErrNoDocker = errors.New("docker not present in $PATH")
|
||||
|
||||
// Pipe for docker
|
||||
// Pipe for docker.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "docker images"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
for i := range ctx.Config.Dockers {
|
||||
var docker = &ctx.Config.Dockers[i]
|
||||
@ -61,7 +61,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
if len(ctx.Config.Dockers) == 0 || len(ctx.Config.Dockers[0].ImageTemplates) == 0 {
|
||||
return pipe.Skip("docker section is not configured")
|
||||
@ -73,7 +73,7 @@ func (Pipe) Run(ctx *context.Context) error {
|
||||
return doRun(ctx)
|
||||
}
|
||||
|
||||
// Publish the docker images
|
||||
// Publish the docker images.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if ctx.SkipPublish {
|
||||
return pipe.ErrSkipPublishEnabled
|
||||
@ -227,7 +227,7 @@ func processBuildFlagTemplates(ctx *context.Context, docker config.Docker) ([]st
|
||||
return buildFlags, nil
|
||||
}
|
||||
|
||||
// walks the src, recreating dirs and hard-linking files
|
||||
// walks the src, recreating dirs and hard-linking files.
|
||||
func link(src, dest string) error {
|
||||
return filepath.Walk(src, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
yaml "gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
// Pipe that writes the effective config file to dist
|
||||
// Pipe that writes the effective config file to dist.
|
||||
type Pipe struct {
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ func (Pipe) String() string {
|
||||
return "writing effective config file"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
var path = filepath.Join(ctx.Config.Dist, "config.yaml")
|
||||
bts, err := yaml.Marshal(ctx.Config)
|
||||
@ -25,5 +25,5 @@ func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
return err
|
||||
}
|
||||
log.WithField("config", path).Info("writing")
|
||||
return ioutil.WriteFile(path, bts, 0644)
|
||||
return ioutil.WriteFile(path, bts, 0644) //nolint: gosec
|
||||
}
|
||||
|
8
internal/pipe/env/env.go
vendored
8
internal/pipe/env/env.go
vendored
@ -12,14 +12,14 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ErrMissingToken indicates an error when GITHUB_TOKEN, GITLAB_TOKEN and GITEA_TOKEN are all missing in the environment
|
||||
// ErrMissingToken indicates an error when GITHUB_TOKEN, GITLAB_TOKEN and GITEA_TOKEN are all missing in the environment.
|
||||
var ErrMissingToken = errors.New("missing GITHUB_TOKEN, GITLAB_TOKEN and GITEA_TOKEN")
|
||||
|
||||
// ErrMultipleTokens indicates that multiple tokens are defined. ATM only one of them if allowed
|
||||
// ErrMultipleTokens indicates that multiple tokens are defined. ATM only one of them if allowed.
|
||||
// See https://github.com/goreleaser/goreleaser/pull/809
|
||||
var ErrMultipleTokens = errors.New("multiple tokens defined. Only one is allowed")
|
||||
|
||||
// Pipe for env
|
||||
// Pipe for env.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
@ -39,7 +39,7 @@ func setDefaultTokenFiles(ctx *context.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
setDefaultTokenFiles(ctx)
|
||||
githubToken, githubTokenErr := loadEnv("GITHUB_TOKEN", ctx.Config.EnvFiles.GitHubToken)
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// ErrDirty happens when the repo has uncommitted/unstashed changes
|
||||
// ErrDirty happens when the repo has uncommitted/unstashed changes.
|
||||
type ErrDirty struct {
|
||||
status string
|
||||
}
|
||||
@ -14,7 +14,7 @@ func (e ErrDirty) Error() string {
|
||||
return fmt.Sprintf("git is currently in a dirty state, please check in your pipeline what can be changing the following files:\n%v", e.status)
|
||||
}
|
||||
|
||||
// ErrWrongRef happens when the HEAD reference is different from the tag being built
|
||||
// ErrWrongRef happens when the HEAD reference is different from the tag being built.
|
||||
type ErrWrongRef struct {
|
||||
commit, tag string
|
||||
}
|
||||
|
@ -13,14 +13,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe that sets up git state
|
||||
// Pipe that sets up git state.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "getting and validating git state"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
if _, err := exec.LookPath("git"); err != nil {
|
||||
return ErrNoGit
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Package nfpm implements the Pipe interface providing NFPM bindings.
|
||||
// Package nfpm implements the Pipe interface providing nFPM bindings.
|
||||
package nfpm
|
||||
|
||||
import (
|
||||
@ -25,14 +25,14 @@ import (
|
||||
|
||||
const defaultNameTemplate = "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}"
|
||||
|
||||
// Pipe for fpm packaging
|
||||
// Pipe for nfpm packaging.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "linux packages"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
var ids = ids.New("nfpms")
|
||||
for i := range ctx.Config.NFPMs {
|
||||
@ -62,7 +62,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return ids.Validate()
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
for _, nfpm := range ctx.Config.NFPMs {
|
||||
if len(nfpm.Formats) == 0 {
|
||||
@ -189,7 +189,7 @@ func create(ctx *context.Context, fpm config.NFPM, format, arch string, binaries
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer w.Close() // nolint: errcheck
|
||||
defer w.Close()
|
||||
if err := packager.Package(nfpm.WithDefaults(info), w); err != nil {
|
||||
return errors.Wrap(err, "nfpm failed")
|
||||
}
|
||||
|
@ -17,23 +17,23 @@ var ErrSkipSignEnabled = Skip("artifact signing is disabled")
|
||||
// It means that the part of a Piper that validates some things was not run.
|
||||
var ErrSkipValidateEnabled = Skip("validation is disabled")
|
||||
|
||||
// IsSkip returns true if the error is an ErrSkip
|
||||
// IsSkip returns true if the error is an ErrSkip.
|
||||
func IsSkip(err error) bool {
|
||||
_, ok := err.(ErrSkip)
|
||||
return ok
|
||||
}
|
||||
|
||||
// ErrSkip occurs when a pipe is skipped for some reason
|
||||
// ErrSkip occurs when a pipe is skipped for some reason.
|
||||
type ErrSkip struct {
|
||||
reason string
|
||||
}
|
||||
|
||||
// Error implements the error interface. returns the reason the pipe was skipped
|
||||
// Error implements the error interface. returns the reason the pipe was skipped.
|
||||
func (e ErrSkip) Error() string {
|
||||
return e.reason
|
||||
}
|
||||
|
||||
// Skip skips this pipe with the given reason
|
||||
// Skip skips this pipe with the given reason.
|
||||
func Skip(reason string) ErrSkip {
|
||||
return ErrSkip{reason: reason}
|
||||
}
|
||||
|
@ -7,14 +7,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe implemens defaulter to set the project name
|
||||
// Pipe implemens defaulter to set the project name.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "project name"
|
||||
}
|
||||
|
||||
// Default set project defaults
|
||||
// Default set project defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
if ctx.Config.ProjectName == "" {
|
||||
switch {
|
||||
|
@ -18,14 +18,14 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Pipe that publishes artifacts
|
||||
// Pipe that publishes artifacts.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "publishing"
|
||||
}
|
||||
|
||||
// Publisher should be implemented by pipes that want to publish artifacts
|
||||
// Publisher should be implemented by pipes that want to publish artifacts.
|
||||
type Publisher interface {
|
||||
fmt.Stringer
|
||||
|
||||
@ -48,7 +48,7 @@ var publishers = []Publisher{
|
||||
scoop.Pipe{},
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
for _, publisher := range publishers {
|
||||
if err := middleware.Logging(
|
||||
|
@ -14,18 +14,18 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ErrMultipleReleases indicates that multiple releases are defined. ATM only one of them is allowed
|
||||
// ErrMultipleReleases indicates that multiple releases are defined. ATM only one of them is allowed.
|
||||
// See https://github.com/goreleaser/goreleaser/pull/809
|
||||
var ErrMultipleReleases = errors.New("multiple releases are defined. Only one is allowed")
|
||||
|
||||
// Pipe for github release
|
||||
// Pipe for github release.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "github/gitlab/gitea releases"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
numOfReleases := 0
|
||||
if ctx.Config.Release.GitHub.String() != "" {
|
||||
@ -96,7 +96,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Publish github release
|
||||
// Publish the release.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if ctx.SkipPublish {
|
||||
return pipe.ErrSkipPublishEnabled
|
||||
@ -173,7 +173,7 @@ func upload(ctx *context.Context, cli client.Client, releaseID string, artifact
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
log.WithField("file", file.Name()).WithField("name", artifact.Name).Info("uploading to release")
|
||||
if err := cli.Upload(ctx, releaseID, artifact, file); err != nil {
|
||||
log.WithField("try", try).
|
||||
|
@ -17,20 +17,20 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// ErrNoWindows when there is no build for windows (goos doesn't contain windows)
|
||||
// ErrNoWindows when there is no build for windows (goos doesn't contain windows).
|
||||
var ErrNoWindows = errors.New("scoop requires a windows build")
|
||||
|
||||
// ErrTokenTypeNotImplementedForScoop indicates that a new token type was not implemented for this pipe
|
||||
// ErrTokenTypeNotImplementedForScoop indicates that a new token type was not implemented for this pipe.
|
||||
var ErrTokenTypeNotImplementedForScoop = errors.New("token type not implemented for scoop pipe")
|
||||
|
||||
// Pipe for build
|
||||
// Pipe for build.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "scoop manifests"
|
||||
}
|
||||
|
||||
// Publish scoop manifest
|
||||
// Publish scoop manifest.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if ctx.SkipPublish {
|
||||
return pipe.ErrSkipPublishEnabled
|
||||
@ -42,7 +42,7 @@ func (Pipe) Publish(ctx *context.Context) error {
|
||||
return doRun(ctx, client)
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
if ctx.Config.Scoop.Name == "" {
|
||||
ctx.Config.Scoop.Name = ctx.Config.ProjectName
|
||||
@ -125,8 +125,8 @@ func doRun(ctx *context.Context, client client.Client) error {
|
||||
)
|
||||
}
|
||||
|
||||
// Manifest represents a scoop.sh App Manifest, more info:
|
||||
// https://github.com/lukesampson/scoop/wiki/App-Manifests
|
||||
// Manifest represents a scoop.sh App Manifest.
|
||||
// more info: https://github.com/lukesampson/scoop/wiki/App-Manifests
|
||||
type Manifest struct {
|
||||
Version string `json:"version"` // The version of the app that this manifest installs.
|
||||
Architecture map[string]Resource `json:"architecture"` // `architecture`: If the app has 32- and 64-bit versions, architecture can be used to wrap the differences.
|
||||
@ -136,7 +136,7 @@ type Manifest struct {
|
||||
Persist []string `json:"persist,omitempty"` // Persist data between updates
|
||||
}
|
||||
|
||||
// Resource represents a combination of a url and a binary name for an architecture
|
||||
// Resource represents a combination of a url and a binary name for an architecture.
|
||||
type Resource struct {
|
||||
URL string `json:"url"` // URL to the archive
|
||||
Bin []string `json:"bin"` // name of binary inside the archive
|
||||
|
@ -8,15 +8,15 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Pipe is a global hook pipe
|
||||
// Pipe is a global hook pipe.
|
||||
type Pipe struct{}
|
||||
|
||||
// String is the name of this pipe
|
||||
// String is the name of this pipe.
|
||||
func (Pipe) String() string {
|
||||
return "parsing tag"
|
||||
}
|
||||
|
||||
// Run executes the hooks
|
||||
// Run executes the hooks.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
sv, err := semver.NewVersion(ctx.Git.CurrentTag)
|
||||
if err != nil {
|
||||
|
@ -23,16 +23,16 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// ErrNoSnapcraft is shown when snapcraft cannot be found in $PATH
|
||||
// ErrNoSnapcraft is shown when snapcraft cannot be found in $PATH.
|
||||
var ErrNoSnapcraft = errors.New("snapcraft not present in $PATH")
|
||||
|
||||
// ErrNoDescription is shown when no description provided
|
||||
// ErrNoDescription is shown when no description provided.
|
||||
var ErrNoDescription = errors.New("no description provided for snapcraft")
|
||||
|
||||
// ErrNoSummary is shown when no summary provided
|
||||
// ErrNoSummary is shown when no summary provided.
|
||||
var ErrNoSummary = errors.New("no summary provided for snapcraft")
|
||||
|
||||
// Metadata to generate the snap package
|
||||
// Metadata to generate the snap package.
|
||||
type Metadata struct {
|
||||
Name string
|
||||
Version string
|
||||
@ -47,7 +47,7 @@ type Metadata struct {
|
||||
Plugs map[string]interface{} `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// AppMetadata for the binaries that will be in the snap package
|
||||
// AppMetadata for the binaries that will be in the snap package.
|
||||
type AppMetadata struct {
|
||||
Command string
|
||||
Plugs []string `yaml:",omitempty"`
|
||||
@ -57,14 +57,14 @@ type AppMetadata struct {
|
||||
|
||||
const defaultNameTemplate = "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}"
|
||||
|
||||
// Pipe for snapcraft packaging
|
||||
// Pipe for snapcraft packaging.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "snapcraft packages"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
var ids = ids.New("snapcrafts")
|
||||
for i := range ctx.Config.Snapcrafts {
|
||||
@ -82,7 +82,7 @@ func (Pipe) Default(ctx *context.Context) error {
|
||||
return ids.Validate()
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) error {
|
||||
for _, snap := range ctx.Config.Snapcrafts {
|
||||
// TODO: deal with pipe.skip?
|
||||
@ -139,7 +139,7 @@ func isValidArch(arch string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// Publish packages
|
||||
// Publish packages.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if ctx.SkipPublish {
|
||||
return pipe.ErrSkipPublishEnabled
|
||||
@ -253,7 +253,7 @@ func create(ctx *context.Context, snap config.Snapcraft, arch string, binaries [
|
||||
if err := os.Link(config.Completer, destCompleterPath); err != nil {
|
||||
return errors.Wrap(err, "failed to link completer")
|
||||
}
|
||||
if err := os.Chmod(destCompleterPath, 0444); err != nil {
|
||||
if err := os.Chmod(destCompleterPath, 0644); err != nil {
|
||||
return errors.Wrap(err, "failed to change completer permissions")
|
||||
}
|
||||
appMetadata.Completer = config.Completer
|
||||
@ -270,7 +270,7 @@ func create(ctx *context.Context, snap config.Snapcraft, arch string, binaries [
|
||||
}
|
||||
|
||||
log.WithField("file", file).Debugf("writing metadata file")
|
||||
if err = ioutil.WriteFile(file, out, 0644); err != nil {
|
||||
if err = ioutil.WriteFile(file, out, 0644); err != nil { //nolint: gosec
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -10,14 +10,14 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Pipe for checksums
|
||||
// Pipe for checksums.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "snapshotting"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
if ctx.Config.Snapshot.NameTemplate == "" {
|
||||
ctx.Config.Snapshot.NameTemplate = "{{ .Tag }}-SNAPSHOT-{{ .ShortCommit }}"
|
||||
|
@ -12,14 +12,14 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Pipe for cleandis
|
||||
// Pipe for source archive.
|
||||
type Pipe struct{}
|
||||
|
||||
func (Pipe) String() string {
|
||||
return "creating source archive"
|
||||
}
|
||||
|
||||
// Run the pipe
|
||||
// Run the pipe.
|
||||
func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
if !ctx.Config.Source.Enabled {
|
||||
return pipe.Skip("source pipe is disabled")
|
||||
@ -45,7 +45,7 @@ func (Pipe) Run(ctx *context.Context) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
var archive = &ctx.Config.Source
|
||||
if archive.Format == "" {
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Package upload provides a Pipe that push using HTTP
|
||||
// Package upload provides a Pipe that push using HTTP.
|
||||
package upload
|
||||
|
||||
import (
|
||||
@ -10,20 +10,20 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// Pipe for http publishing
|
||||
// Pipe for http publishing.
|
||||
type Pipe struct{}
|
||||
|
||||
// String returns the description of the pipe
|
||||
// String returns the description of the pipe.
|
||||
func (Pipe) String() string {
|
||||
return "http upload"
|
||||
}
|
||||
|
||||
// Default sets the pipe defaults
|
||||
// Default sets the pipe defaults.
|
||||
func (Pipe) Default(ctx *context.Context) error {
|
||||
return http.Defaults(ctx.Config.Uploads)
|
||||
}
|
||||
|
||||
// Publish artifacts
|
||||
// Publish artifacts.
|
||||
func (Pipe) Publish(ctx *context.Context) error {
|
||||
if len(ctx.Config.Uploads) == 0 {
|
||||
return pipe.Skip("uploads section is not configured")
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"golang.org/x/sync/errgroup"
|
||||
)
|
||||
|
||||
// Group is the Semphore ErrorGroup itself
|
||||
// Group is the Semphore ErrorGroup itself.
|
||||
type Group interface {
|
||||
Go(func() error)
|
||||
Wait() error
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
// GitInit inits a new git project
|
||||
// GitInit inits a new git project.
|
||||
func GitInit(t *testing.T) {
|
||||
out, err := fakeGit("init")
|
||||
assert.NoError(t, err)
|
||||
@ -15,28 +15,28 @@ func GitInit(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
// GitRemoteAdd adds the given url as remote
|
||||
// GitRemoteAdd adds the given url as remote.
|
||||
func GitRemoteAdd(t *testing.T, url string) {
|
||||
out, err := fakeGit("remote", "add", "origin", url)
|
||||
assert.NoError(t, err)
|
||||
assert.Empty(t, out)
|
||||
}
|
||||
|
||||
// GitCommit creates a git commits
|
||||
// GitCommit creates a git commits.
|
||||
func GitCommit(t *testing.T, msg string) {
|
||||
out, err := fakeGit("commit", "--allow-empty", "-m", msg)
|
||||
assert.NoError(t, err)
|
||||
assert.Contains(t, out, "master", msg)
|
||||
}
|
||||
|
||||
// GitTag creates a git tag
|
||||
// GitTag creates a git tag.
|
||||
func GitTag(t *testing.T, tag string) {
|
||||
out, err := fakeGit("tag", tag)
|
||||
assert.NoError(t, err)
|
||||
assert.Empty(t, out)
|
||||
}
|
||||
|
||||
// GitAdd adds all files to stage
|
||||
// GitAdd adds all files to stage.
|
||||
func GitAdd(t *testing.T) {
|
||||
out, err := fakeGit("add", "-A")
|
||||
assert.NoError(t, err)
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
// AssertSkipped asserts that a pipe was skipped
|
||||
// AssertSkipped asserts that a pipe was skipped.
|
||||
func AssertSkipped(t *testing.T, err error) {
|
||||
_, ok := err.(pipe.ErrSkip)
|
||||
assert.True(t, ok, "expected a pipe.ErrSkip but got %v", err)
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Package tmpl provides templating utilities for goreleser
|
||||
// Package tmpl provides templating utilities for goreleaser.
|
||||
package tmpl
|
||||
|
||||
import (
|
||||
@ -14,7 +14,7 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/context"
|
||||
)
|
||||
|
||||
// Template holds data that can be applied to a template string
|
||||
// Template holds data that can be applied to a template string.
|
||||
type Template struct {
|
||||
fields Fields
|
||||
}
|
||||
@ -60,7 +60,7 @@ const (
|
||||
target = "Target"
|
||||
)
|
||||
|
||||
// New Template
|
||||
// New Template.
|
||||
func New(ctx *context.Context) *Template {
|
||||
sv := ctx.Semver
|
||||
rawVersionV := fmt.Sprintf("%d.%d.%d", sv.Major, sv.Minor, sv.Patch)
|
||||
@ -88,7 +88,7 @@ func New(ctx *context.Context) *Template {
|
||||
}
|
||||
|
||||
// WithEnvS overrides template's env field with the given KEY=VALUE list of
|
||||
// environment variables
|
||||
// environment variables.
|
||||
func (t *Template) WithEnvS(envs []string) *Template {
|
||||
var result = map[string]string{}
|
||||
for _, env := range envs {
|
||||
@ -98,7 +98,7 @@ func (t *Template) WithEnvS(envs []string) *Template {
|
||||
return t.WithEnv(result)
|
||||
}
|
||||
|
||||
// WithEnv overrides template's env field with the given environment map
|
||||
// WithEnv overrides template's env field with the given environment map.
|
||||
func (t *Template) WithEnv(e map[string]string) *Template {
|
||||
t.fields[env] = e
|
||||
return t
|
||||
@ -113,7 +113,7 @@ func (t *Template) WithExtraFields(f Fields) *Template {
|
||||
return t
|
||||
}
|
||||
|
||||
// WithArtifact populates Fields from the artifact and replacements
|
||||
// WithArtifact populates Fields from the artifact and replacements.
|
||||
func (t *Template) WithArtifact(a *artifact.Artifact, replacements map[string]string) *Template {
|
||||
var bin = a.Extra[binary]
|
||||
if bin == nil {
|
||||
|
@ -9,17 +9,17 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// Archive as gz
|
||||
// Archive as gz.
|
||||
type Archive struct {
|
||||
gw *gzip.Writer
|
||||
}
|
||||
|
||||
// Close all closeables
|
||||
// Close all closeables.
|
||||
func (a Archive) Close() error {
|
||||
return a.gw.Close()
|
||||
}
|
||||
|
||||
// New gz archive
|
||||
// New gz archive.
|
||||
func New(target io.Writer) Archive {
|
||||
// the error will be nil since the compression level is valid
|
||||
gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression)
|
||||
@ -28,7 +28,7 @@ func New(target io.Writer) Archive {
|
||||
}
|
||||
}
|
||||
|
||||
// Add file to the archive
|
||||
// Add file to the archive.
|
||||
func (a Archive) Add(name, path string) error {
|
||||
if a.gw.Header.Name != "" {
|
||||
return fmt.Errorf("gzip: failed to add %s, only one file can be archived in gz format", name)
|
||||
@ -37,7 +37,7 @@ func (a Archive) Add(name, path string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
info, err := file.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -9,13 +9,13 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// Archive as tar.gz
|
||||
// Archive as tar.gz.
|
||||
type Archive struct {
|
||||
gw *gzip.Writer
|
||||
tw *tar.Writer
|
||||
}
|
||||
|
||||
// Close all closeables
|
||||
// Close all closeables.
|
||||
func (a Archive) Close() error {
|
||||
if err := a.tw.Close(); err != nil {
|
||||
return err
|
||||
@ -23,7 +23,7 @@ func (a Archive) Close() error {
|
||||
return a.gw.Close()
|
||||
}
|
||||
|
||||
// New tar.gz archive
|
||||
// New tar.gz archive.
|
||||
func New(target io.Writer) Archive {
|
||||
// the error will be nil since the compression level is valid
|
||||
gw, _ := gzip.NewWriterLevel(target, gzip.BestCompression)
|
||||
@ -34,13 +34,13 @@ func New(target io.Writer) Archive {
|
||||
}
|
||||
}
|
||||
|
||||
// Add file to the archive
|
||||
// Add file to the archive.
|
||||
func (a Archive) Add(name, path string) error {
|
||||
file, err := os.Open(path) // #nosec
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
info, err := file.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -10,13 +10,13 @@ import (
|
||||
"github.com/ulikunitz/xz"
|
||||
)
|
||||
|
||||
// Archive as tar.xz
|
||||
// Archive as tar.xz.
|
||||
type Archive struct {
|
||||
xzw *xz.Writer
|
||||
tw *tar.Writer
|
||||
}
|
||||
|
||||
// Close all closeables
|
||||
// Close all closeables.
|
||||
func (a Archive) Close() error {
|
||||
if err := a.tw.Close(); err != nil {
|
||||
return err
|
||||
@ -24,7 +24,7 @@ func (a Archive) Close() error {
|
||||
return a.xzw.Close()
|
||||
}
|
||||
|
||||
// New tar.xz archive
|
||||
// New tar.xz archive.
|
||||
func New(target io.Writer) Archive {
|
||||
xzw, _ := xz.WriterConfig{DictCap: 16 * 1024 * 1024}.NewWriter(target)
|
||||
tw := tar.NewWriter(xzw)
|
||||
@ -34,13 +34,13 @@ func New(target io.Writer) Archive {
|
||||
}
|
||||
}
|
||||
|
||||
// Add file to the archive
|
||||
// Add file to the archive.
|
||||
func (a Archive) Add(name, path string) error {
|
||||
file, err := os.Open(path) // #nosec
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
info, err := file.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -9,17 +9,17 @@ import (
|
||||
"os"
|
||||
)
|
||||
|
||||
// Archive zip struct
|
||||
// Archive zip struct.
|
||||
type Archive struct {
|
||||
z *zip.Writer
|
||||
}
|
||||
|
||||
// Close all closeables
|
||||
// Close all closeables.
|
||||
func (a Archive) Close() error {
|
||||
return a.z.Close()
|
||||
}
|
||||
|
||||
// New zip archive
|
||||
// New zip archive.
|
||||
func New(target io.Writer) Archive {
|
||||
compressor := zip.NewWriter(target)
|
||||
compressor.RegisterCompressor(zip.Deflate, func(out io.Writer) (io.WriteCloser, error) {
|
||||
@ -30,13 +30,13 @@ func New(target io.Writer) Archive {
|
||||
}
|
||||
}
|
||||
|
||||
// Add a file to the zip archive
|
||||
// Add a file to the zip archive.
|
||||
func (a Archive) Add(name, path string) (err error) {
|
||||
file, err := os.Open(path) // #nosec
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer file.Close() // nolint: errcheck
|
||||
defer file.Close()
|
||||
info, err := file.Stat()
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -14,24 +14,24 @@ var (
|
||||
lock sync.Mutex
|
||||
)
|
||||
|
||||
// Register registers a builder to a given lang
|
||||
// Register registers a builder to a given lang.
|
||||
func Register(lang string, builder Builder) {
|
||||
lock.Lock()
|
||||
builders[lang] = builder
|
||||
lock.Unlock()
|
||||
}
|
||||
|
||||
// For gets the previously registered builder for the given lang
|
||||
// For gets the previously registered builder for the given lang.
|
||||
func For(lang string) Builder {
|
||||
return builders[lang]
|
||||
}
|
||||
|
||||
// Options to be passed down to a builder
|
||||
// Options to be passed down to a builder.
|
||||
type Options struct {
|
||||
Name, Path, Ext, Target string
|
||||
}
|
||||
|
||||
// Builder defines a builder
|
||||
// Builder defines a builder.
|
||||
type Builder interface {
|
||||
WithDefaults(build config.Build) config.Build
|
||||
Build(ctx *context.Context, build config.Build, options Options) error
|
||||
|
@ -12,7 +12,7 @@ import (
|
||||
yaml "gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
// GitHubURLs holds the URLs to be used when using github enterprise
|
||||
// GitHubURLs holds the URLs to be used when using github enterprise.
|
||||
type GitHubURLs struct {
|
||||
API string `yaml:"api,omitempty"`
|
||||
Upload string `yaml:"upload,omitempty"`
|
||||
@ -20,32 +20,32 @@ type GitHubURLs struct {
|
||||
SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"`
|
||||
}
|
||||
|
||||
// GitLabURLs holds the URLs to be used when using gitlab ce/enterprise
|
||||
// GitLabURLs holds the URLs to be used when using gitlab ce/enterprise.
|
||||
type GitLabURLs struct {
|
||||
API string `yaml:"api,omitempty"`
|
||||
Download string `yaml:"download,omitempty"`
|
||||
SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"`
|
||||
}
|
||||
|
||||
// GiteaURLs holds the URLs to be used when using gitea
|
||||
// GiteaURLs holds the URLs to be used when using gitea.
|
||||
type GiteaURLs struct {
|
||||
API string `yaml:"api,omitempty"`
|
||||
SkipTLSVerify bool `yaml:"skip_tls_verify,omitempty"`
|
||||
}
|
||||
|
||||
// Repo represents any kind of repo (github, gitlab, etc)
|
||||
// Repo represents any kind of repo (github, gitlab, etc).
|
||||
type Repo struct {
|
||||
Owner string `yaml:",omitempty"`
|
||||
Name string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// HomebrewDependency represents Homebrew dependency
|
||||
// HomebrewDependency represents Homebrew dependency.
|
||||
type HomebrewDependency struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
Type string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// type alias to prevent stack overflowing in the custom unmarshaler
|
||||
// type alias to prevent stack overflowing in the custom unmarshaler.
|
||||
type homebrewDependency HomebrewDependency
|
||||
|
||||
// UnmarshalYAML is a custom unmarshaler that accept brew deps in both the old and new format.
|
||||
@ -67,7 +67,7 @@ func (a *HomebrewDependency) UnmarshalYAML(unmarshal func(interface{}) error) er
|
||||
return nil
|
||||
}
|
||||
|
||||
// String of the repo, e.g. owner/name
|
||||
// String of the repo, e.g. owner/name.
|
||||
func (r Repo) String() string {
|
||||
if r.Owner == "" && r.Name == "" {
|
||||
return ""
|
||||
@ -75,7 +75,7 @@ func (r Repo) String() string {
|
||||
return r.Owner + "/" + r.Name
|
||||
}
|
||||
|
||||
// Homebrew contains the brew section
|
||||
// Homebrew contains the brew section.
|
||||
type Homebrew struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
GitHub Repo `yaml:",omitempty"`
|
||||
@ -99,7 +99,7 @@ type Homebrew struct {
|
||||
Goarm string `yaml:"goarm,omitempty"`
|
||||
}
|
||||
|
||||
// Scoop contains the scoop.sh section
|
||||
// Scoop contains the scoop.sh section.
|
||||
type Scoop struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
Bucket Repo `yaml:",omitempty"`
|
||||
@ -113,27 +113,27 @@ type Scoop struct {
|
||||
SkipUpload string `yaml:"skip_upload,omitempty"`
|
||||
}
|
||||
|
||||
// CommitAuthor is the author of a Git commit
|
||||
// CommitAuthor is the author of a Git commit.
|
||||
type CommitAuthor struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
Email string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Hooks define actions to run before and/or after something
|
||||
// Hooks define actions to run before and/or after something.
|
||||
type Hooks struct {
|
||||
Pre string `yaml:",omitempty"`
|
||||
Post string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// IgnoredBuild represents a build ignored by the user
|
||||
// IgnoredBuild represents a build ignored by the user.
|
||||
type IgnoredBuild struct {
|
||||
Goos, Goarch, Goarm, Gomips string
|
||||
}
|
||||
|
||||
// StringArray is a wrapper for an array of strings
|
||||
// StringArray is a wrapper for an array of strings.
|
||||
type StringArray []string
|
||||
|
||||
// UnmarshalYAML is a custom unmarshaler that wraps strings in arrays
|
||||
// UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
|
||||
func (a *StringArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
var strings []string
|
||||
if err := unmarshal(&strings); err != nil {
|
||||
@ -148,10 +148,10 @@ func (a *StringArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// FlagArray is a wrapper for an array of strings
|
||||
// FlagArray is a wrapper for an array of strings.
|
||||
type FlagArray []string
|
||||
|
||||
// UnmarshalYAML is a custom unmarshaler that wraps strings in arrays
|
||||
// UnmarshalYAML is a custom unmarshaler that wraps strings in arrays.
|
||||
func (a *FlagArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
var flags []string
|
||||
if err := unmarshal(&flags); err != nil {
|
||||
@ -166,7 +166,7 @@ func (a *FlagArray) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Build contains the build configuration section
|
||||
// Build contains the build configuration section.
|
||||
type Build struct {
|
||||
ID string `yaml:",omitempty"`
|
||||
Goos []string `yaml:",omitempty"`
|
||||
@ -195,7 +195,7 @@ type HookConfig struct {
|
||||
|
||||
type BuildHooks []BuildHook
|
||||
|
||||
// UnmarshalYAML is a custom unmarshaler that allows simplified declaration of single command
|
||||
// UnmarshalYAML is a custom unmarshaler that allows simplified declaration of single command.
|
||||
func (bhc *BuildHooks) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
var singleCmd string
|
||||
err := unmarshal(&singleCmd)
|
||||
@ -219,7 +219,7 @@ type BuildHook struct {
|
||||
Env []string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// UnmarshalYAML is a custom unmarshaler that allows simplified declarations of commands as strings
|
||||
// UnmarshalYAML is a custom unmarshaler that allows simplified declarations of commands as strings.
|
||||
func (bh *BuildHook) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
||||
var cmd string
|
||||
if err := unmarshal(&cmd); err != nil {
|
||||
@ -242,7 +242,7 @@ type FormatOverride struct {
|
||||
Format string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Archive config used for the archive
|
||||
// Archive config used for the archive.
|
||||
type Archive struct {
|
||||
ID string `yaml:",omitempty"`
|
||||
Builds []string `yaml:",omitempty"`
|
||||
@ -254,7 +254,7 @@ type Archive struct {
|
||||
Files []string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Release config used for the GitHub/GitLab release
|
||||
// Release config used for the GitHub/GitLab release.
|
||||
type Release struct {
|
||||
GitHub Repo `yaml:",omitempty"`
|
||||
GitLab Repo `yaml:",omitempty"`
|
||||
@ -267,12 +267,12 @@ type Release struct {
|
||||
ExtraFiles []ExtraFile `yaml:"extra_files,omitempty"`
|
||||
}
|
||||
|
||||
// ExtraFile on a release
|
||||
// ExtraFile on a release.
|
||||
type ExtraFile struct {
|
||||
Glob string `yaml:"glob,omitempty"`
|
||||
}
|
||||
|
||||
// NFPM config
|
||||
// NFPM config.
|
||||
type NFPM struct {
|
||||
NFPMOverridables `yaml:",inline"`
|
||||
Overrides map[string]NFPMOverridables `yaml:"overrides,omitempty"`
|
||||
@ -288,7 +288,7 @@ type NFPM struct {
|
||||
Bindir string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// NFPMScripts is used to specify maintainer scripts
|
||||
// NFPMScripts is used to specify maintainer scripts.
|
||||
type NFPMScripts struct {
|
||||
PreInstall string `yaml:"preinstall,omitempty"`
|
||||
PostInstall string `yaml:"postinstall,omitempty"`
|
||||
@ -296,7 +296,7 @@ type NFPMScripts struct {
|
||||
PostRemove string `yaml:"postremove,omitempty"`
|
||||
}
|
||||
|
||||
// NFPMOverridables is used to specify per package format settings
|
||||
// NFPMOverridables is used to specify per package format settings.
|
||||
type NFPMOverridables struct {
|
||||
FileNameTemplate string `yaml:"file_name_template,omitempty"`
|
||||
PackageName string `yaml:"package_name,omitempty"`
|
||||
@ -313,7 +313,7 @@ type NFPMOverridables struct {
|
||||
Scripts NFPMScripts `yaml:"scripts,omitempty"`
|
||||
}
|
||||
|
||||
// Sign config
|
||||
// Sign config.
|
||||
type Sign struct {
|
||||
ID string `yaml:"id,omitempty"`
|
||||
Cmd string `yaml:"cmd,omitempty"`
|
||||
@ -323,7 +323,7 @@ type Sign struct {
|
||||
IDs []string `yaml:"ids,omitempty"`
|
||||
}
|
||||
|
||||
// SnapcraftAppMetadata for the binaries that will be in the snap package
|
||||
// SnapcraftAppMetadata for the binaries that will be in the snap package.
|
||||
type SnapcraftAppMetadata struct {
|
||||
Plugs []string
|
||||
Daemon string
|
||||
@ -331,7 +331,7 @@ type SnapcraftAppMetadata struct {
|
||||
Completer string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Snapcraft config
|
||||
// Snapcraft config.
|
||||
type Snapcraft struct {
|
||||
NameTemplate string `yaml:"name_template,omitempty"`
|
||||
Replacements map[string]string `yaml:",omitempty"`
|
||||
@ -350,18 +350,18 @@ type Snapcraft struct {
|
||||
Plugs map[string]interface{} `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Snapshot config
|
||||
// Snapshot config.
|
||||
type Snapshot struct {
|
||||
NameTemplate string `yaml:"name_template,omitempty"`
|
||||
}
|
||||
|
||||
// Checksum config
|
||||
// Checksum config.
|
||||
type Checksum struct {
|
||||
NameTemplate string `yaml:"name_template,omitempty"`
|
||||
Algorithm string `yaml:"algorithm,omitempty"`
|
||||
}
|
||||
|
||||
// Docker image config
|
||||
// Docker image config.
|
||||
type Docker struct {
|
||||
Binaries []string `yaml:",omitempty"`
|
||||
Builds []string `yaml:",omitempty"`
|
||||
@ -375,12 +375,12 @@ type Docker struct {
|
||||
BuildFlagTemplates []string `yaml:"build_flag_templates,omitempty"`
|
||||
}
|
||||
|
||||
// Filters config
|
||||
// Filters config.
|
||||
type Filters struct {
|
||||
Exclude []string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Changelog Config
|
||||
// Changelog Config.
|
||||
type Changelog struct {
|
||||
Filters Filters `yaml:",omitempty"`
|
||||
Sort string `yaml:",omitempty"`
|
||||
@ -388,19 +388,19 @@ type Changelog struct {
|
||||
}
|
||||
|
||||
// EnvFiles holds paths to files that contains environment variables
|
||||
// values like the github token for example
|
||||
// values like the github token for example.
|
||||
type EnvFiles struct {
|
||||
GitHubToken string `yaml:"github_token,omitempty"`
|
||||
GitLabToken string `yaml:"gitlab_token,omitempty"`
|
||||
GiteaToken string `yaml:"gitea_token,omitempty"`
|
||||
}
|
||||
|
||||
// Before config
|
||||
// Before config.
|
||||
type Before struct {
|
||||
Hooks []string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Blob contains config for GO CDK blob
|
||||
// Blob contains config for GO CDK blob.
|
||||
type Blob struct {
|
||||
Bucket string `yaml:",omitempty"`
|
||||
Provider string `yaml:",omitempty"`
|
||||
@ -413,7 +413,7 @@ type Blob struct {
|
||||
ExtraFiles []ExtraFile `yaml:"extra_files,omitempty"`
|
||||
}
|
||||
|
||||
// Upload configuration
|
||||
// Upload configuration.
|
||||
type Upload struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
IDs []string `yaml:"ids,omitempty"`
|
||||
@ -428,7 +428,7 @@ type Upload struct {
|
||||
CustomArtifactName bool `yaml:"custom_artifact_name,omitempty"`
|
||||
}
|
||||
|
||||
// Publisher configuration
|
||||
// Publisher configuration.
|
||||
type Publisher struct {
|
||||
Name string `yaml:",omitempty"`
|
||||
IDs []string `yaml:"ids,omitempty"`
|
||||
@ -439,14 +439,14 @@ type Publisher struct {
|
||||
Env []string `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Source configuration
|
||||
// Source configuration.
|
||||
type Source struct {
|
||||
NameTemplate string `yaml:"name_template,omitempty"`
|
||||
Format string `yaml:",omitempty"`
|
||||
Enabled bool `yaml:",omitempty"`
|
||||
}
|
||||
|
||||
// Project includes all project configuration
|
||||
// Project includes all project configuration.
|
||||
type Project struct {
|
||||
ProjectName string `yaml:"project_name,omitempty"`
|
||||
Env []string `yaml:",omitempty"`
|
||||
@ -484,7 +484,7 @@ type Project struct {
|
||||
GiteaURLs GiteaURLs `yaml:"gitea_urls,omitempty"`
|
||||
}
|
||||
|
||||
// Load config file
|
||||
// Load config file.
|
||||
func Load(file string) (config Project, err error) {
|
||||
f, err := os.Open(file) // #nosec
|
||||
if err != nil {
|
||||
@ -495,7 +495,7 @@ func Load(file string) (config Project, err error) {
|
||||
return LoadReader(f)
|
||||
}
|
||||
|
||||
// LoadReader config via io.Reader
|
||||
// LoadReader config via io.Reader.
|
||||
func LoadReader(fd io.Reader) (config Project, err error) {
|
||||
data, err := ioutil.ReadAll(fd)
|
||||
if err != nil {
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
"github.com/goreleaser/goreleaser/pkg/config"
|
||||
)
|
||||
|
||||
// GitInfo includes tags and diffs used in some point
|
||||
// GitInfo includes tags and diffs used in some point.
|
||||
type GitInfo struct {
|
||||
CurrentTag string
|
||||
Commit string
|
||||
@ -25,7 +25,7 @@ type GitInfo struct {
|
||||
URL string
|
||||
}
|
||||
|
||||
// Env is the environment variables
|
||||
// Env is the environment variables.
|
||||
type Env map[string]string
|
||||
|
||||
// Copy returns a copy of the environment.
|
||||
@ -47,19 +47,19 @@ func (e Env) Strings() []string {
|
||||
return result
|
||||
}
|
||||
|
||||
// TokenType is either github or gitlab
|
||||
// TokenType is either github or gitlab.
|
||||
type TokenType string
|
||||
|
||||
const (
|
||||
// TokenTypeGitHub defines github as type of the token
|
||||
// TokenTypeGitHub defines github as type of the token.
|
||||
TokenTypeGitHub TokenType = "github"
|
||||
// TokenTypeGitLab defines gitlab as type of the token
|
||||
// TokenTypeGitLab defines gitlab as type of the token.
|
||||
TokenTypeGitLab TokenType = "gitlab"
|
||||
// TokenTypeGitea defines gitea as type of the token
|
||||
// TokenTypeGitea defines gitea as type of the token.
|
||||
TokenTypeGitea TokenType = "gitea"
|
||||
)
|
||||
|
||||
// Context carries along some data through the pipes
|
||||
// Context carries along some data through the pipes.
|
||||
type Context struct {
|
||||
ctx.Context
|
||||
Config config.Project
|
||||
@ -85,7 +85,7 @@ type Context struct {
|
||||
Semver Semver
|
||||
}
|
||||
|
||||
// Semver represents a semantic version
|
||||
// Semver represents a semantic version.
|
||||
type Semver struct {
|
||||
Major uint64
|
||||
Minor uint64
|
||||
@ -94,18 +94,18 @@ type Semver struct {
|
||||
Prerelease string
|
||||
}
|
||||
|
||||
// New context
|
||||
// New context.
|
||||
func New(config config.Project) *Context {
|
||||
return Wrap(ctx.Background(), config)
|
||||
}
|
||||
|
||||
// NewWithTimeout new context with the given timeout
|
||||
// NewWithTimeout new context with the given timeout.
|
||||
func NewWithTimeout(config config.Project, timeout time.Duration) (*Context, ctx.CancelFunc) {
|
||||
ctx, cancel := ctx.WithTimeout(ctx.Background(), timeout)
|
||||
return Wrap(ctx, config), cancel
|
||||
}
|
||||
|
||||
// Wrap wraps an existing context
|
||||
// Wrap wraps an existing context.
|
||||
func Wrap(ctx ctx.Context, config config.Project) *Context {
|
||||
return &Context{
|
||||
Context: ctx,
|
||||
|
Reference in New Issue
Block a user