Taskfile.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. version: '3'
  2. vars:
  3. BINARY_EXT:
  4. sh: echo '{{if eq OS "windows"}}.exe{{end}}'
  5. tasks:
  6. web:
  7. desc: Build the binary and start the web server
  8. deps: [build]
  9. cmds:
  10. - ./gogs web
  11. build:
  12. desc: Build the binary
  13. cmds:
  14. - go build -v
  15. -ldflags '
  16. -X "{{.PKG_PATH}}.BuildTime={{.BUILD_TIME}}"
  17. -X "{{.PKG_PATH}}.BuildCommit={{.BUILD_COMMIT}}"
  18. '
  19. -tags '{{.TAGS}}'
  20. -trimpath -o gogs{{.BINARY_EXT}}
  21. vars:
  22. PKG_PATH: gogs.io/gogs/internal/conf
  23. BUILD_TIME:
  24. sh: date -u '+%Y-%m-%d %I:%M:%S %Z'
  25. BUILD_COMMIT:
  26. sh: git rev-parse HEAD
  27. sources:
  28. - go.mod
  29. - gogs.go
  30. - internal/**/*.go
  31. - conf/**/*
  32. - public/**/*
  33. - templates/**/*
  34. - custom/**/*
  35. method: timestamp
  36. generate-schemadoc:
  37. desc: Generate database schema documentation
  38. cmds:
  39. - go generate ./internal/db/schemadoc
  40. generate:
  41. desc: Run all go:generate commands
  42. deps: [generate-schemadoc]
  43. test:
  44. desc: Run all tests.
  45. cmds:
  46. - go test -cover -race ./...
  47. clean:
  48. desc: Cleans up system meta files
  49. cmds:
  50. - find . -name "*.DS_Store" -type f -delete
  51. release:
  52. desc: Build the binary and pack resources to a ZIP file
  53. deps: [build]
  54. cmds:
  55. - rm -rf {{.RELEASE_GOGS}}
  56. - mkdir -p {{.RELEASE_GOGS}}
  57. - cp -r gogs{{.BINARY_EXT}} LICENSE README.md README_ZH.md scripts {{.RELEASE_GOGS}}
  58. - cd {{.RELEASE_ROOT}} && zip -r gogs.zip "gogs"
  59. vars:
  60. RELEASE_ROOT: release
  61. RELEASE_GOGS: release/gogs
  62. less:
  63. desc: Generate CSS from LESS files
  64. cmds:
  65. - lessc --clean-css --source-map "public/less/gogs.less" public/css/gogs.min.css
  66. fixme:
  67. desc: Show all occurrences of "FIXME"
  68. cmds:
  69. - grep -rnw "FIXME" internal
  70. todo:
  71. desc: Show all occurrences of "TODO"
  72. cmds:
  73. - grep -rnw "TODO" internal
  74. legacy:
  75. desc: Identify legacy and deprecated lines
  76. cmds:
  77. - grep -rnw "\(LEGACY\|Deprecated\)" internal