From e11cfbf793ee8814099fbbb87175a88642f786a0 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 5 Sep 2018 22:55:28 +0200 Subject: [PATCH] Use make for Dockerfile and Travis CI --- .dockerignore | 9 ++++----- .travis.yml | 4 +--- Dockerfile | 3 +-- Makefile | 15 ++++++++++++--- frontend/src/app/routes.js | 4 ++-- go.mod | 23 ++++++++++++----------- go.sum | 24 ++++++++++++++++++++++++ 7 files changed, 56 insertions(+), 26 deletions(-) diff --git a/.dockerignore b/.dockerignore index 2ec64ff7f..49ba858fd 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,4 @@ -photos -frontend/node_modules -vendor/* -!vendor/.gitignore -!vendor/vendor.json \ No newline at end of file +photos/ +frontend/node_modules/* +vendor/ +server/assets/build/* \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 685ae7828..a9141713b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,11 +5,9 @@ services: before_script: - docker-compose -f docker-compose.travis.yml up -d - - docker-compose exec photoprism /usr/local/go/bin/go build ./... - - docker-compose exec photoprism /usr/local/go/bin/go run cmd/photoprism/photoprism.go migrate-db script: - - docker-compose exec photoprism /usr/local/go/bin/go test ./... + - docker-compose exec photoprism make deps migrate-db js test after_script: - docker-compose -f docker-compose.travis.yml down \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index b19e6a2ac..32724e37e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -116,8 +116,7 @@ COPY . . RUN cp config.example.yml ~/.photoprism # Build PhotoPrism -RUN go build ./... -RUN go install cmd/photoprism/photoprism.go +RUN make deps js install # Expose HTTP port EXPOSE 80 diff --git a/Makefile b/Makefile index c2d2de66f..d9dcffd63 100644 --- a/Makefile +++ b/Makefile @@ -8,11 +8,18 @@ GOTEST=$(GOCMD) test GOGET=$(GOCMD) get BINARY_NAME=photoprism -all: deps test build +all: deps js build install: $(GOINSTALL) cmd/photoprism/photoprism.go build: - $(GOBUILD) cmd/photoprism/photoprism.go -o $(BINARY_NAME) -v + $(GOBUILD) cmd/photoprism/photoprism.go +js: + (cd frontend && yarn install) + (cd frontend && npm run build) +start: + $(GORUN) cmd/photoprism/photoprism.go start +migrate-db: + $(GORUN) cmd/photoprism/photoprism.go migrate-db test: $(GOTEST) -v ./... clean: @@ -22,4 +29,6 @@ image: docker build . --tag photoprism/photoprism docker push photoprism/photoprism deps: - $(GOBUILD) -v ./... \ No newline at end of file + $(GOBUILD) -v ./... +upgrade: + $(GOGET) -u \ No newline at end of file diff --git a/frontend/src/app/routes.js b/frontend/src/app/routes.js index bd3c75164..7a7438a29 100644 --- a/frontend/src/app/routes.js +++ b/frontend/src/app/routes.js @@ -1,7 +1,7 @@ import Photos from 'app/pages/photos.vue'; import Albums from 'app/pages/albums.vue'; -import Import from 'app/pages/Import.vue'; -import Export from 'app/pages/Export.vue'; +import Import from 'app/pages/import.vue'; +import Export from 'app/pages/export.vue'; import Settings from 'app/pages/settings.vue'; export default [ diff --git a/go.mod b/go.mod index 511e7377d..c8931aef6 100644 --- a/go.mod +++ b/go.mod @@ -1,39 +1,40 @@ module github.com/photoprism/photoprism require ( - cloud.google.com/go v0.26.0 + cloud.google.com/go v0.27.0 github.com/araddon/dateparse v0.0.0-20180729174819-cfd92a431d0e github.com/bamiaux/rez v0.0.0-20170731184118-29f4463c688b github.com/brett-lempereur/ish v0.0.0-20161214150457-bbdc45bcf55d - github.com/davecgh/go-spew v1.1.0 - github.com/denisenkom/go-mssqldb v0.0.0-20180707235734-242fa5aa1b45 - github.com/disintegration/imaging v1.4.2 + github.com/davecgh/go-spew v1.1.1 + github.com/denisenkom/go-mssqldb v0.0.0-20180901172138-1eb28afdf9b6 + github.com/disintegration/imaging v1.5.0 github.com/djherbis/times v1.0.1 github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7 github.com/gin-gonic/gin v1.3.0 github.com/go-sql-driver/mysql v1.4.0 - github.com/golang/protobuf v1.1.0 + github.com/golang/protobuf v1.2.0 github.com/jinzhu/gorm v1.9.1 github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a github.com/json-iterator/go v1.1.5 github.com/kylelemons/go-gypsy v0.0.0-20160905020020-08cad365cd28 - github.com/lib/pq v0.0.0-20180523175426-90697d60dd84 - github.com/mattn/go-isatty v0.0.3 + github.com/lib/pq v1.0.0 + github.com/mattn/go-isatty v0.0.4 github.com/mattn/go-sqlite3 v1.9.0 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd - github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 + github.com/modern-go/reflect2 v1.0.1 github.com/pkg/errors v0.8.0 github.com/pmezard/go-difflib v1.0.0 github.com/rwcarlsen/goexif v0.0.0-20180518182100-8d986c03457a github.com/steakknife/hamming v0.0.0-20161012051909-5ac3f73b8842 github.com/stretchr/testify v1.2.2 - github.com/tensorflow/tensorflow v1.10.0 + github.com/tensorflow/tensorflow v1.10.1 github.com/ugorji/go v1.1.1 github.com/urfave/cli v1.20.0 - golang.org/x/crypto v0.0.0-20180808211826-de0752318171 + golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81 - golang.org/x/sys v0.0.0-20180814072032-4e1fef560951 + golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 google.golang.org/appengine v1.1.0 + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect gopkg.in/go-playground/validator.v8 v8.18.2 gopkg.in/yaml.v2 v2.2.1 ) diff --git a/go.sum b/go.sum index d39e2dc37..1f0094537 100644 --- a/go.sum +++ b/go.sum @@ -1,16 +1,25 @@ cloud.google.com/go v0.26.0 h1:e0WKqKTd5BnrG8aKH3J3h+QvEIQtSUcf2n5UZ5ZgLtQ= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.27.0 h1:Xa8ZWro6QYKOwDKtxfKsiE0ea2jD39nx32RxtF5RjYE= +cloud.google.com/go v0.27.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/araddon/dateparse v0.0.0-20180729174819-cfd92a431d0e h1:s05JG2GwtJMHaPcXDpo4V35TFgyYZzNsmBlSkHPEbeg= github.com/araddon/dateparse v0.0.0-20180729174819-cfd92a431d0e/go.mod h1:SLqhdZcd+dF3TEVL2RMoob5bBP5R1P1qkox+HtCBgGI= github.com/bamiaux/rez v0.0.0-20170731184118-29f4463c688b h1:5Ci5wpOL75rYF6RQGRoqhEAU6xLJ6n/D4SckXX1yB74= github.com/bamiaux/rez v0.0.0-20170731184118-29f4463c688b/go.mod h1:obBQGGIFbbv9KWg92Qu9UHeD94JXmHD1jovY/z6I3O8= github.com/brett-lempereur/ish v0.0.0-20161214150457-bbdc45bcf55d h1:oCP9o9IOvgi0A1biE1EkI/m+pViqJoCQjU/bAopLpBo= github.com/brett-lempereur/ish v0.0.0-20161214150457-bbdc45bcf55d/go.mod h1:sGi2C1jLbZM77czzwYX70vIkYV8Smll6xG93m96IZYw= +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= 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= github.com/denisenkom/go-mssqldb v0.0.0-20180707235734-242fa5aa1b45 h1:UW8VerkZA1zCt3uWhQ2wbMae76OLn7s7Utz8wyKtJUk= github.com/denisenkom/go-mssqldb v0.0.0-20180707235734-242fa5aa1b45/go.mod h1:xN/JuLBIz4bjkxNmByTiV1IbhfnYb6oo99phBn4Eqhc= +github.com/denisenkom/go-mssqldb v0.0.0-20180901172138-1eb28afdf9b6 h1:BZGp1dbKFjqlGmxEpwkDpCWNxVwEYnUPoncIzLiHlPo= +github.com/denisenkom/go-mssqldb v0.0.0-20180901172138-1eb28afdf9b6/go.mod h1:xN/JuLBIz4bjkxNmByTiV1IbhfnYb6oo99phBn4Eqhc= github.com/disintegration/imaging v1.4.2 h1:BSVxoYQ2NfLdvIGCDD8GHgBV5K0FCEsc0d/6FxQII3I= github.com/disintegration/imaging v1.4.2/go.mod h1:9B/deIUIrliYkyMTuXJd6OUFLcrZ2tf+3Qlwnaf/CjU= +github.com/disintegration/imaging v1.5.0 h1:uYqUhwNmLU4K1FN44vhqS4TZJRAA4RhBINgbQlKyGi0= +github.com/disintegration/imaging v1.5.0/go.mod h1:9B/deIUIrliYkyMTuXJd6OUFLcrZ2tf+3Qlwnaf/CjU= github.com/djherbis/times v1.0.1 h1:nVRrVOTFd2r0C7wCQdIDz/fqt8yO0EEzr5f6aXfXiS0= github.com/djherbis/times v1.0.1/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7 h1:AzN37oI0cOS+cougNAV9szl6CVoj2RYwzS3DpUQNtlY= @@ -21,6 +30,8 @@ github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/golang/protobuf v1.1.0 h1:0iH4Ffd/meGoXqF2lSAhZHt8X+cPgkfn/cb6Cce5Vpc= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/jinzhu/gorm v1.9.1 h1:lDSDtsCt5AGGSKTs8AHlSDbbgif4G4+CKJ8ETBDVHTA= github.com/jinzhu/gorm v1.9.1/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo= github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a h1:eeaG9XMUvRBYXJi4pg1ZKM7nxc5AfXfojeLLW7O5J3k= @@ -30,33 +41,46 @@ github.com/kylelemons/go-gypsy v0.0.0-20160905020020-08cad365cd28 h1:SzHLOWB819X github.com/kylelemons/go-gypsy v0.0.0-20160905020020-08cad365cd28/go.mod h1:T/T7jsxVqf9k/zYOqbgNAsANsjxTd1Yq3htjDhQ1H0c= github.com/lib/pq v0.0.0-20180523175426-90697d60dd84 h1:it29sI2IM490luSc3RAhp5WuCYnc6RtbfLVAB7nmC5M= github.com/lib/pq v0.0.0-20180523175426-90697d60dd84/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-sqlite3 v1.9.0 h1:pDRiWfl+++eC2FEFRy6jXmQlvp4Yh3z1MJKg4UeYM/4= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rwcarlsen/goexif v0.0.0-20180518182100-8d986c03457a h1:ZDZdsnbMuRSoVbq1gR47o005lfn2OwODNCr23zh9gSk= github.com/rwcarlsen/goexif v0.0.0-20180518182100-8d986c03457a/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= github.com/steakknife/hamming v0.0.0-20161012051909-5ac3f73b8842 h1:Xk8V2cXXyb8xE/JOy2d8+0byqbKS1pEhVaeENndbaME= github.com/steakknife/hamming v0.0.0-20161012051909-5ac3f73b8842/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/tensorflow/tensorflow v1.10.0 h1:TVlKz+s8FPTwEBI98rhB2MR+8S46bK1Rp4bcIFCd7VQ= github.com/tensorflow/tensorflow v1.10.0/go.mod h1:itOSERT4trABok4UOoG+X4BoKds9F3rIsySdn+Lvu90= +github.com/tensorflow/tensorflow v1.10.1 h1:HW5ENAyVcRqQDeeRrLZXpv9vJVbPDbL72dTRvPD0nnU= +github.com/tensorflow/tensorflow v1.10.1/go.mod h1:itOSERT4trABok4UOoG+X4BoKds9F3rIsySdn+Lvu90= github.com/ugorji/go v1.1.1 h1:gmervu+jDMvXTbcHQ0pd2wee85nEoE0BsVyEuzkfK8w= github.com/ugorji/go v1.1.1/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= golang.org/x/crypto v0.0.0-20180808211826-de0752318171 h1:vYogbvSFj2YXcjQxFHu/rASSOt9sLytpCaSkiwQ135I= golang.org/x/crypto v0.0.0-20180808211826-de0752318171/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793 h1:u+LnwYTOOW7Ukr/fppxEb1Nwz0AtPflrblfvUudpo+I= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81 h1:00VmoueYNlNz/aHIilyyQz/MHSqGoWJzpFv/HW8xpzI= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/sys v0.0.0-20180814072032-4e1fef560951/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ= gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=