From 49d7b9b12fab9618cdcb92a830095dc18f39fa9d Mon Sep 17 00:00:00 2001 From: Ralph Slooten Date: Sat, 7 Sep 2019 23:08:43 +1200 Subject: [PATCH 1/5] Update README --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5aa2a45..1bb2012 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,11 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/axllent/goptimize)](https://goreportcard.com/report/github.com/axllent/goptimize) -Goptimizer is a commandline utility written in Golang. It downscales and optimizes JPEG, PNG and Gif files. +Goptimizer is a commandline utility written in Golang. It downscales and optimizes JPEG, PNG, GIF, TIFF and BMP files. Image downscaling/rotation is done within goptimize (`-m x`, see [Usage](#usage-options)), however optimization is done using the following additional tools (if they are installed): -- jpegoptim -- jpegtran (`libjpeg-turbo-progs`) +- jpegtran (`libjpeg-turbo-progs`) or jpegoptim - optipng - pngquant - gifsicle @@ -23,6 +22,8 @@ Goptimize will remove all exif data from JPEG files, auto-rotating those that re It will also preserve (by default) the file's original modification times (`-p=false` to disable). +Animated GIF files are not supported an automatically get skipped. + ## Usage options From cb4bde8c4ea3cf4be123c0ecb3b5f99bebb741a5 Mon Sep 17 00:00:00 2001 From: Ralph Slooten Date: Sat, 7 Sep 2019 23:11:06 +1200 Subject: [PATCH 2/5] Update README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1bb2012..7ea00cc 100644 --- a/README.md +++ b/README.md @@ -14,15 +14,15 @@ Image downscaling/rotation is done within goptimize (`-m x`, see ## Notes -Both `jpegoptim` & `jpegtran` have almost identical optimization, so if both are installed then just `jpegtran` is used for JPG optimization. PNG optimization however will run through both `optipng` & `pngquant` (if installed) as this has definite advantages. +Both `jpegoptim` & `jpegtran` have almost identical optimization, so if both are installed then just `jpegtran` is used for JPG optimization. PNG optimization however will run through both `optipng` & `pngquant` (if installed) as this can result in better optimization. It is highly recommended to install the necessary optimization tools, however they are not required to run goptimize. -Goptimize will remove all exif data from JPEG files, auto-rotating those that relied on it. +Goptimize will remove all exif data from JPEG files, auto-rotating those that depend on it for orientation. It will also preserve (by default) the file's original modification times (`-p=false` to disable). -Animated GIF files are not supported an automatically get skipped. +Animated GIF files are not supported and automatically get skipped. ## Usage options From 7ffb944b0f425087ec213f3f1ad46193066ba5e2 Mon Sep 17 00:00:00 2001 From: Ralph Slooten Date: Sat, 26 Oct 2019 22:19:46 +1300 Subject: [PATCH 3/5] Switch to go mods --- CHANGELOG.md | 5 +++++ Makefile | 2 -- README.md | 7 ++++++- go.mod | 10 ++++++++++ go.sum | 10 ++++++++++ 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 go.mod create mode 100644 go.sum diff --git a/CHANGELOG.md b/CHANGELOG.md index afbce56..b1f4e8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [dev] + +- Switch to go mods - go (>= 1.11 required) + + ## [0.0.3] - Detect & skip animated GIFs diff --git a/Makefile b/Makefile index 623867a..bf5e5f8 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,6 @@ build = echo "\n\nBuilding $(1)-$(2)" && GOOS=$(1) GOARCH=$(2) go build ${LDFLAG && bzip2 dist/goptimize_${VERSION}_$(1)_$(2) goptimize: *.go - go get github.com/disintegration/imaging golang.org/x/image/bmp golang.org/x/image/tiff github.com/axllent/gitrel github.com/spf13/pflag go build ${LDFLAGS} -o goptimize rm -rf /tmp/go-* @@ -16,7 +15,6 @@ clean: release: mkdir -p dist rm -f dist/goptimize_${VERSION}_* - go get github.com/disintegration/imaging golang.org/x/image/bmp golang.org/x/image/tiff github.com/axllent/gitrel github.com/spf13/pflag $(call build,linux,amd64) $(call build,linux,386) $(call build,linux,arm) diff --git a/README.md b/README.md index 7ea00cc..9b8f044 100644 --- a/README.md +++ b/README.md @@ -57,11 +57,16 @@ Options: ## Install Download the appropriate binary from the [releases](https://github.com/axllent/goptimize/releases/latest), or if you have golang installed + + +### Build requirements + +Go >= 1.11 required. + ``` go get github.com/axllent/goptimize ``` - ## TODO Some ideas for the future: diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..cc6b4c9 --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module github.com/axllent/goptimize + +go 1.13 + +require ( + github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd + github.com/disintegration/imaging v1.6.1 + github.com/spf13/pflag v1.0.5 + golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..212a7c9 --- /dev/null +++ b/go.sum @@ -0,0 +1,10 @@ +github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd h1:cJgMzRxCEzJiI95DxIOgrpCxwBqcUQU0foCuGTB1F4o= +github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd/go.mod h1:p7Ab0oyyqKbcVmclkdRR9+pw8b5RZlMlDXQ6iplJiQ4= +github.com/disintegration/imaging v1.6.1 h1:JnBbK6ECIZb1NsWIikP9pd8gIlTIRx7fuDNpU9fsxOE= +github.com/disintegration/imaging v1.6.1/go.mod h1:xuIt+sRxDFrHS0drzXUlCJthkJ8k7lkkUojDSR247MQ= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U= +golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From 8c3e4783848570878bf26a42f03a05f06018bc41 Mon Sep 17 00:00:00 2001 From: Ralph Slooten Date: Sun, 3 Nov 2019 19:12:02 +1300 Subject: [PATCH 4/5] Switch to axllent/ghru --- .gitignore | 2 +- Makefile | 2 +- go.mod | 2 +- go.sum | 6 ++++-- main.go | 8 ++++---- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index f85d4b6..c72cd1f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /dist/ -goptimize \ No newline at end of file +goptimize* \ No newline at end of file diff --git a/Makefile b/Makefile index bf5e5f8..72c57a0 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ LDFLAGS=-ldflags "-s -w -X main.version=${VERSION}" build = echo "\n\nBuilding $(1)-$(2)" && GOOS=$(1) GOARCH=$(2) go build ${LDFLAGS} -o dist/goptimize_${VERSION}_$(1)_$(2) \ && bzip2 dist/goptimize_${VERSION}_$(1)_$(2) -goptimize: *.go +goptimize: *.go go.* go build ${LDFLAGS} -o goptimize rm -rf /tmp/go-* diff --git a/go.mod b/go.mod index cc6b4c9..f937d7e 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/axllent/goptimize go 1.13 require ( - github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd + github.com/axllent/ghru v1.1.3 github.com/disintegration/imaging v1.6.1 github.com/spf13/pflag v1.0.5 golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 diff --git a/go.sum b/go.sum index 212a7c9..519c5c5 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ -github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd h1:cJgMzRxCEzJiI95DxIOgrpCxwBqcUQU0foCuGTB1F4o= -github.com/axllent/gitrel v0.0.0-20190920100556-8fb3317ae1cd/go.mod h1:p7Ab0oyyqKbcVmclkdRR9+pw8b5RZlMlDXQ6iplJiQ4= +github.com/axllent/ghru v1.1.3 h1:n0jYsuqCYaHHAR6DraXZl8hpBY4j0XV47y5Lyym/jGo= +github.com/axllent/ghru v1.1.3/go.mod h1:rFvMhcO1UAv2Cv6bXscS8EOc7qqNpfe8ZLp23utzs88= +github.com/axllent/semver v0.0.0-20191103011746-394cefa91ee9 h1:LHNcCfePzgC/agAJs5a/5K3hFo8uW04bEdDKDkoX4do= +github.com/axllent/semver v0.0.0-20191103011746-394cefa91ee9/go.mod h1:2xSPzvG8n9mRfdtxSvWvfTfQGWfHsMsHO1iZnKATMSc= github.com/disintegration/imaging v1.6.1 h1:JnBbK6ECIZb1NsWIikP9pd8gIlTIRx7fuDNpU9fsxOE= github.com/disintegration/imaging v1.6.1/go.mod h1:xuIt+sRxDFrHS0drzXUlCJthkJ8k7lkkUojDSR247MQ= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= diff --git a/main.go b/main.go index 848d51e..a67d2bd 100644 --- a/main.go +++ b/main.go @@ -7,7 +7,7 @@ import ( "regexp" "strconv" - "github.com/axllent/gitrel" + "github.com/axllent/ghru" "github.com/spf13/pflag" ) @@ -87,15 +87,15 @@ func main() { if showversion { fmt.Println(fmt.Sprintf("Version: %s", version)) - latest, _, _, err := gitrel.Latest("axllent/goptimize", "goptimize") - if err == nil && latest != version { + latest, _, _, err := ghru.Latest("axllent/goptimize", "goptimize") + if err == nil && ghru.GreaterThan(latest, version) { fmt.Printf("Update available: %s\nRun `%s -u` to update.\n", latest, os.Args[0]) } return } if update { - rel, err := gitrel.Update("axllent/goptimize", "goptimize", version) + rel, err := ghru.Update("axllent/goptimize", "goptimize", version) if err != nil { fmt.Println(err) os.Exit(1) From 6c1aabaa70cf83e3035fcdba486c5a806aa55f81 Mon Sep 17 00:00:00 2001 From: Ralph Slooten Date: Sun, 3 Nov 2019 19:18:03 +1300 Subject: [PATCH 5/5] 0.1.0 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1f4e8a..9438983 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [dev] - Switch to go mods - go (>= 1.11 required) +- Switch to axllent/semver for app updating ## [0.0.3]