diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build/client.sh | 88 | ||||
-rwxr-xr-x | scripts/build/embed.sh | 2 | ||||
-rwxr-xr-x | scripts/build/index.sh | 2 | ||||
-rwxr-xr-x | scripts/build/server.sh | 2 | ||||
-rwxr-xr-x | scripts/ci.sh | 7 | ||||
-rw-r--r-- | scripts/create-import-video-file-job.ts | 4 | ||||
-rwxr-xr-x | scripts/create-transcoding-job.ts | 6 | ||||
-rw-r--r-- | scripts/danger/clean/cleaner.ts | 2 | ||||
-rwxr-xr-x | scripts/dev/cli.sh | 2 | ||||
-rwxr-xr-x | scripts/dev/client.sh | 4 | ||||
-rwxr-xr-x | scripts/dev/embed.sh | 2 | ||||
-rwxr-xr-x | scripts/dev/index.sh | 6 | ||||
-rwxr-xr-x | scripts/dev/server.sh | 8 | ||||
-rwxr-xr-x | scripts/generate-code-contributors.ts | 3 | ||||
-rw-r--r-- | scripts/migrations/peertube-2.1.ts | 2 | ||||
-rwxr-xr-x | scripts/openapi-clients.sh | 84 | ||||
-rwxr-xr-x | scripts/openapi-peertube-version.sh | 5 | ||||
-rw-r--r-- | scripts/optimize-old-videos.ts | 2 | ||||
-rwxr-xr-x | scripts/parse-log.ts | 2 | ||||
-rwxr-xr-x | scripts/prune-storage.ts | 2 | ||||
-rwxr-xr-x | scripts/reset-password.ts | 2 | ||||
-rwxr-xr-x | scripts/update-host.ts | 6 |
22 files changed, 206 insertions, 37 deletions
diff --git a/scripts/build/client.sh b/scripts/build/client.sh index d95bb9574..05c40b5bb 100755 --- a/scripts/build/client.sh +++ b/scripts/build/client.sh | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
5 | declare -A languages | ||
6 | |||
5 | pre_build_hook () { | 7 | pre_build_hook () { |
6 | mkdir "./src/pending_locale" > /dev/null || true | 8 | mkdir "./src/pending_locale" > /dev/null || true |
7 | mv ./src/locale/angular.*.xlf "./src/pending_locale" | 9 | mv ./src/locale/angular.*.xlf "./src/pending_locale" |
@@ -37,22 +39,94 @@ post_build_hook | |||
37 | 39 | ||
38 | # Don't build other languages if --light arg is provided | 40 | # Don't build other languages if --light arg is provided |
39 | if [ -z ${1+x} ] || [ "$1" != "--light" ]; then | 41 | if [ -z ${1+x} ] || [ "$1" != "--light" ]; then |
40 | if [ ! -z ${1+x} ] && [ "$1" == "--light-fr" ]; then | 42 | if [ ! -z ${1+x} ] && [ "$1" == "--light-hu" ]; then |
41 | languages=("fr-FR") | 43 | languages=(["hu"]="hu-HU") |
44 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-th" ]; then | ||
45 | languages=(["th"]="th-TH") | ||
46 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-fi" ]; then | ||
47 | languages=(["fi"]="fi-FI") | ||
48 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-nl" ]; then | ||
49 | languages=(["nl"]="nl-NL") | ||
50 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-gd" ]; then | ||
51 | languages=(["gd"]="gd") | ||
52 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-el" ]; then | ||
53 | languages=(["el"]="el-GR") | ||
54 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-es" ]; then | ||
55 | languages=(["es"]="es-ES") | ||
56 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-pt" ]; then | ||
57 | languages=(["pt"]="pt-BR") | ||
58 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-pt-PT" ]; then | ||
59 | languages=(["pt-PT"]="pt-PT") | ||
60 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-sv" ]; then | ||
61 | languages=(["sv"]="sv-SE") | ||
62 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-pl" ]; then | ||
63 | languages=(["pl"]="pl-PL") | ||
64 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-ru" ]; then | ||
65 | languages=(["ru"]="ru-RU") | ||
66 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-zh-Hans" ]; then | ||
67 | languages=(["zh-Hans"]="zh-Hans-CN") | ||
68 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-zh-Hant" ]; then | ||
69 | languages=(["zh-Hant"]="zh-Hant-TW") | ||
70 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-fr" ]; then | ||
71 | languages=(["fr"]="fr-FR") | ||
72 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-ja" ]; then | ||
73 | languages=(["ja"]="ja-JP") | ||
74 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-eu" ]; then | ||
75 | languages=(["eu"]="eu-ES") | ||
76 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-ca" ]; then | ||
77 | languages=(["ca"]="ca-ES") | ||
78 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-cs" ]; then | ||
79 | languages=(["cs"]="cs-CZ") | ||
80 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-eo" ]; then | ||
81 | languages=(["eo"]="eo") | ||
82 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-de" ]; then | ||
83 | languages=(["de"]="de-DE") | ||
84 | elif [ ! -z ${1+x} ] && [ "$1" == "--light-it" ]; then | ||
85 | languages=(["it"]="it-IT") | ||
42 | else | 86 | else |
43 | # Supported languages | 87 | # Supported languages |
44 | languages=( | 88 | languages=( |
45 | "fi-FI" "nl-NL" "gd" "el-GR" "es-ES" "oc" "pt-BR" "pt-PT" "sv-SE" "pl-PL" "ru-RU" "zh-Hans-CN" "zh-Hant-TW" | 89 | ["hu"]="hu-HU" |
46 | "fr-FR" "ja-JP" "eu-ES" "ca-ES" "cs-CZ" "eo" "de-DE" "it-IT" | 90 | ["th"]="th-TH" |
91 | ["fi"]="fi-FI" | ||
92 | ["nl"]="nl-NL" | ||
93 | ["gd"]="gd" | ||
94 | ["el"]="el-GR" | ||
95 | ["es"]="es-ES" | ||
96 | ["pt"]="pt-BR" | ||
97 | ["pt-PT"]="pt-PT" | ||
98 | ["sv"]="sv-SE" | ||
99 | ["pl"]="pl-PL" | ||
100 | ["ru"]="ru-RU" | ||
101 | ["zh-Hans"]="zh-Hans-CN" | ||
102 | ["zh-Hant"]="zh-Hant-TW" | ||
103 | ["fr"]="fr-FR" | ||
104 | ["ja"]="ja-JP" | ||
105 | ["eu"]="eu-ES" | ||
106 | ["ca"]="ca-ES" | ||
107 | ["cs"]="cs-CZ" | ||
108 | ["eo"]="eo" | ||
109 | ["de"]="de-DE" | ||
110 | ["it"]="it-IT" | ||
47 | ) | 111 | ) |
48 | fi | 112 | fi |
49 | 113 | ||
50 | for lang in "${languages[@]}"; do | 114 | for key in "${!languages[@]}"; do |
115 | lang=${languages[$key]} | ||
116 | |||
51 | # TODO: remove when the project will use runtime translations | 117 | # TODO: remove when the project will use runtime translations |
52 | pre_build_hook "$lang" | 118 | pre_build_hook "$lang" |
53 | 119 | ||
54 | npm run ng build -- --prod --i18n-file "./src/locale/angular.$lang.xlf" --i18n-format xlf --i18n-locale "$lang" \ | 120 | npm run ng build -- --prod --configuration="$lang" --output-path "dist/build" |
55 | --output-path "dist/$lang/" --deploy-url "/client/$lang/" | 121 | |
122 | # If --localize is not used | ||
123 | mv "dist/build/$key" "dist/$lang" | ||
124 | rmdir "dist/build" | ||
125 | |||
126 | # If --localize is used | ||
127 | # if [ ! "$lang" = "$key" ]; then | ||
128 | # mv "dist/$key" "dist/$lang" | ||
129 | # fi | ||
56 | 130 | ||
57 | # Do not duplicate assets | 131 | # Do not duplicate assets |
58 | rm -r "./dist/$lang/assets" | 132 | rm -r "./dist/$lang/assets" |
diff --git a/scripts/build/embed.sh b/scripts/build/embed.sh index 47e195d96..4be2afc25 100755 --- a/scripts/build/embed.sh +++ b/scripts/build/embed.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
diff --git a/scripts/build/index.sh b/scripts/build/index.sh index d7d04fd08..bf6ad48eb 100755 --- a/scripts/build/index.sh +++ b/scripts/build/index.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
diff --git a/scripts/build/server.sh b/scripts/build/server.sh index d66a52475..2ec83a3e1 100755 --- a/scripts/build/server.sh +++ b/scripts/build/server.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
diff --git a/scripts/ci.sh b/scripts/ci.sh index d111b7447..7854d88fc 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh | |||
@@ -12,7 +12,7 @@ killall -q peertube || true | |||
12 | perl -0777 -i -pe 's#proxy:(\n\s+)enabled: false\n\s+url: ""#proxy:$1enabled: true$1url: "http://188.165.225.149:7899"#' config/test.yaml | 12 | perl -0777 -i -pe 's#proxy:(\n\s+)enabled: false\n\s+url: ""#proxy:$1enabled: true$1url: "http://188.165.225.149:7899"#' config/test.yaml |
13 | 13 | ||
14 | if [ "$1" = "misc" ]; then | 14 | if [ "$1" = "misc" ]; then |
15 | npm run build -- --light-fr | 15 | npm run build -- --light |
16 | mocha --timeout 5000 --exit --require ts-node/register --require tsconfig-paths/register --bail server/tests/client.ts \ | 16 | mocha --timeout 5000 --exit --require ts-node/register --require tsconfig-paths/register --bail server/tests/client.ts \ |
17 | server/tests/feeds/index.ts \ | 17 | server/tests/feeds/index.ts \ |
18 | server/tests/misc-endpoints.ts \ | 18 | server/tests/misc-endpoints.ts \ |
@@ -34,8 +34,11 @@ elif [ "$1" = "api-3" ]; then | |||
34 | elif [ "$1" = "api-4" ]; then | 34 | elif [ "$1" = "api-4" ]; then |
35 | npm run build:server | 35 | npm run build:server |
36 | sh ./server/tests/api/ci-4.sh 2 | 36 | sh ./server/tests/api/ci-4.sh 2 |
37 | elif [ "$1" = "external-plugins" ]; then | ||
38 | npm run build:server | ||
39 | mocha --timeout 5000 --exit --require ts-node/register --require tsconfig-paths/register --bail server/tests/external-plugins/index.ts | ||
37 | elif [ "$1" = "lint" ]; then | 40 | elif [ "$1" = "lint" ]; then |
38 | npm run tslint -- --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" "shared/**/*.ts" | 41 | npm run eslint -- --ext .ts "server/**/*.ts" "shared/**/*.ts" |
39 | npm run swagger-cli -- validate support/doc/api/openapi.yaml | 42 | npm run swagger-cli -- validate support/doc/api/openapi.yaml |
40 | 43 | ||
41 | ( cd client | 44 | ( cd client |
diff --git a/scripts/create-import-video-file-job.ts b/scripts/create-import-video-file-job.ts index 204337d55..d71e82c14 100644 --- a/scripts/create-import-video-file-job.ts +++ b/scripts/create-import-video-file-job.ts | |||
@@ -4,7 +4,7 @@ registerTSPaths() | |||
4 | import * as program from 'commander' | 4 | import * as program from 'commander' |
5 | import { resolve } from 'path' | 5 | import { resolve } from 'path' |
6 | import { VideoModel } from '../server/models/video/video' | 6 | import { VideoModel } from '../server/models/video/video' |
7 | import { initDatabaseModels } from '../server/initializers' | 7 | import { initDatabaseModels } from '../server/initializers/database' |
8 | import { JobQueue } from '../server/lib/job-queue' | 8 | import { JobQueue } from '../server/lib/job-queue' |
9 | 9 | ||
10 | program | 10 | program |
@@ -38,6 +38,6 @@ async function run () { | |||
38 | } | 38 | } |
39 | 39 | ||
40 | await JobQueue.Instance.init() | 40 | await JobQueue.Instance.init() |
41 | await JobQueue.Instance.createJob({ type: 'video-file-import', payload: dataInput }) | 41 | await JobQueue.Instance.createJobWithPromise({ type: 'video-file-import', payload: dataInput }) |
42 | console.log('Import job for video %s created.', video.uuid) | 42 | console.log('Import job for video %s created.', video.uuid) |
43 | } | 43 | } |
diff --git a/scripts/create-transcoding-job.ts b/scripts/create-transcoding-job.ts index 27170299d..7ee0050e3 100755 --- a/scripts/create-transcoding-job.ts +++ b/scripts/create-transcoding-job.ts | |||
@@ -3,10 +3,10 @@ registerTSPaths() | |||
3 | 3 | ||
4 | import * as program from 'commander' | 4 | import * as program from 'commander' |
5 | import { VideoModel } from '../server/models/video/video' | 5 | import { VideoModel } from '../server/models/video/video' |
6 | import { initDatabaseModels } from '../server/initializers' | 6 | import { initDatabaseModels } from '../server/initializers/database' |
7 | import { JobQueue } from '../server/lib/job-queue' | 7 | import { JobQueue } from '../server/lib/job-queue' |
8 | import { VideoTranscodingPayload } from '../server/lib/job-queue/handlers/video-transcoding' | ||
9 | import { computeResolutionsToTranscode } from '@server/helpers/ffmpeg-utils' | 8 | import { computeResolutionsToTranscode } from '@server/helpers/ffmpeg-utils' |
9 | import { VideoTranscodingPayload } from '@shared/models' | ||
10 | 10 | ||
11 | program | 11 | program |
12 | .option('-v, --video [videoUUID]', 'Video UUID') | 12 | .option('-v, --video [videoUUID]', 'Video UUID') |
@@ -72,7 +72,7 @@ async function run () { | |||
72 | await JobQueue.Instance.init() | 72 | await JobQueue.Instance.init() |
73 | 73 | ||
74 | for (const d of dataInput) { | 74 | for (const d of dataInput) { |
75 | await JobQueue.Instance.createJob({ type: 'video-transcoding', payload: d }) | 75 | await JobQueue.Instance.createJobWithPromise({ type: 'video-transcoding', payload: d }) |
76 | console.log('Transcoding job for video %s created.', video.uuid) | 76 | console.log('Transcoding job for video %s created.', video.uuid) |
77 | } | 77 | } |
78 | } | 78 | } |
diff --git a/scripts/danger/clean/cleaner.ts b/scripts/danger/clean/cleaner.ts index ed35ef79f..2d5366a91 100644 --- a/scripts/danger/clean/cleaner.ts +++ b/scripts/danger/clean/cleaner.ts | |||
@@ -3,7 +3,7 @@ registerTSPaths() | |||
3 | 3 | ||
4 | import * as Promise from 'bluebird' | 4 | import * as Promise from 'bluebird' |
5 | import * as rimraf from 'rimraf' | 5 | import * as rimraf from 'rimraf' |
6 | import { initDatabaseModels, sequelizeTypescript } from '../../../server/initializers' | 6 | import { initDatabaseModels, sequelizeTypescript } from '../../../server/initializers/database' |
7 | import { CONFIG } from '../../../server/initializers/config' | 7 | import { CONFIG } from '../../../server/initializers/config' |
8 | 8 | ||
9 | initDatabaseModels(true) | 9 | initDatabaseModels(true) |
diff --git a/scripts/dev/cli.sh b/scripts/dev/cli.sh index 4b6fe5508..dc6f0af0d 100755 --- a/scripts/dev/cli.sh +++ b/scripts/dev/cli.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
diff --git a/scripts/dev/client.sh b/scripts/dev/client.sh index bcb8b88f6..e9cade800 100755 --- a/scripts/dev/client.sh +++ b/scripts/dev/client.sh | |||
@@ -1,11 +1,11 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
5 | clientCommand="cd client && node node_modules/.bin/ng serve --proxy-config proxy.config.json --hmr --configuration hmr --host 0.0.0.0 --disable-host-check --port 3000" | 5 | clientCommand="cd client && node node_modules/.bin/ng serve --proxy-config proxy.config.json --hmr --configuration hmr --host 0.0.0.0 --disable-host-check --port 3000" |
6 | serverCommand="npm run build:server && NODE_ENV=test node dist/server" | 6 | serverCommand="npm run build:server && NODE_ENV=test node dist/server" |
7 | 7 | ||
8 | if [ ! -z ${1+x} ] && [ "$1" == "--skip-server" ]; then | 8 | if [ ! -z ${1+x} ] && [ "$1" = "--skip-server" ]; then |
9 | NODE_ENV=test eval $clientCommand | 9 | NODE_ENV=test eval $clientCommand |
10 | else | 10 | else |
11 | NODE_ENV=test node node_modules/.bin/concurrently -k \ | 11 | NODE_ENV=test node node_modules/.bin/concurrently -k \ |
diff --git a/scripts/dev/embed.sh b/scripts/dev/embed.sh index 9b0ef27cf..b4835604e 100755 --- a/scripts/dev/embed.sh +++ b/scripts/dev/embed.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
diff --git a/scripts/dev/index.sh b/scripts/dev/index.sh index d221d2fc8..56addb7fe 100755 --- a/scripts/dev/index.sh +++ b/scripts/dev/index.sh | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
5 | NODE_ENV=test npm run concurrently -- -k \ | 5 | NODE_ENV=test npm run concurrently -- -k \ |
6 | "npm run dev:client -- --skip-server" \ | 6 | "sh scripts/dev/client.sh --skip-server" \ |
7 | "npm run dev:server" | 7 | "sh scripts/dev/server.sh --skip-client" |
diff --git a/scripts/dev/server.sh b/scripts/dev/server.sh index b09a966dd..680ca3d79 100755 --- a/scripts/dev/server.sh +++ b/scripts/dev/server.sh | |||
@@ -1,10 +1,12 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | 2 | ||
3 | set -eu | 3 | set -eu |
4 | 4 | ||
5 | if [ ! -f "./client/dist/en-US/index.html" ]; then | 5 | if [ ! -f "./client/dist/en-US/index.html" ]; then |
6 | echo "client/dist/en-US/index.html does not exist, compile client files..." | 6 | if [ -z ${1+x} ] || [ "$1" != "--skip-client" ]; then |
7 | npm run build:client -- --light | 7 | echo "client/dist/en-US/index.html does not exist, compile client files..." |
8 | npm run build:client -- --light | ||
9 | fi | ||
8 | fi | 10 | fi |
9 | 11 | ||
10 | # Copy locales | 12 | # Copy locales |
diff --git a/scripts/generate-code-contributors.ts b/scripts/generate-code-contributors.ts index f1922a20e..7bc3b84dd 100755 --- a/scripts/generate-code-contributors.ts +++ b/scripts/generate-code-contributors.ts | |||
@@ -33,7 +33,8 @@ async function run () { | |||
33 | console.log('\n\n# Icons\n') | 33 | console.log('\n\n# Icons\n') |
34 | console.log(' * [Robbie Pearce](https://robbiepearce.com/softies/)') | 34 | console.log(' * [Robbie Pearce](https://robbiepearce.com/softies/)') |
35 | console.log(' * [Fork-Awesome](https://github.com/ForkAwesome/Fork-Awesome)') | 35 | console.log(' * [Fork-Awesome](https://github.com/ForkAwesome/Fork-Awesome)') |
36 | console.log(' * playlist add by Google') | 36 | console.log(' * `playlist add` by Material UI') |
37 | console.log(' * `language` by Aaron Jin') | ||
37 | } | 38 | } |
38 | } | 39 | } |
39 | 40 | ||
diff --git a/scripts/migrations/peertube-2.1.ts b/scripts/migrations/peertube-2.1.ts index 892497a88..e17e58166 100644 --- a/scripts/migrations/peertube-2.1.ts +++ b/scripts/migrations/peertube-2.1.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import { registerTSPaths } from '../../server/helpers/register-ts-paths' | 1 | import { registerTSPaths } from '../../server/helpers/register-ts-paths' |
2 | registerTSPaths() | 2 | registerTSPaths() |
3 | 3 | ||
4 | import { initDatabaseModels, sequelizeTypescript } from '../../server/initializers' | 4 | import { initDatabaseModels, sequelizeTypescript } from '../../server/initializers/database' |
5 | import * as Sequelize from 'sequelize' | 5 | import * as Sequelize from 'sequelize' |
6 | import { join } from 'path' | 6 | import { join } from 'path' |
7 | import { HLS_STREAMING_PLAYLIST_DIRECTORY, STATIC_PATHS, WEBSERVER } from '@server/initializers/constants' | 7 | import { HLS_STREAMING_PLAYLIST_DIRECTORY, STATIC_PATHS, WEBSERVER } from '@server/initializers/constants' |
diff --git a/scripts/openapi-clients.sh b/scripts/openapi-clients.sh new file mode 100755 index 000000000..c799658e3 --- /dev/null +++ b/scripts/openapi-clients.sh | |||
@@ -0,0 +1,84 @@ | |||
1 | #!/bin/bash | ||
2 | # Required environment vars | ||
3 | # ========================= | ||
4 | # API_LANGS | ||
5 | # A ':' delimited list of the client lib languages to be generated | ||
6 | # API_GIT_USER | ||
7 | # The user that will be used to push/pull from the APIs repos | ||
8 | # API_GIT_EMAIL | ||
9 | # The git email | ||
10 | # GIT_TOKEN | ||
11 | # A personal access token for github or gilab for pushing to repos | ||
12 | # !!!This is a secret and shouldn't be logged publicly!!! | ||
13 | |||
14 | # (Optional environment vars) | ||
15 | # =========================== | ||
16 | # API_COMMIT_MSG | ||
17 | # A message to use when committing to the lib repo | ||
18 | # API_PATH_PREFIX | ||
19 | # Will be used for building the URL to the repo and path to checkout. | ||
20 | # !!! End with a slash "/", otherwise the prefix will be tacked onto the language | ||
21 | # API_URL_USERNAME | ||
22 | # The username to use building the URL to the git repo. | ||
23 | # Default: API_GIT_USER | ||
24 | # API_REPO_HOST | ||
25 | # Whoever's hosting the repo e.g gitlab.com, github.com, etc. | ||
26 | # Default: framagit.org | ||
27 | |||
28 | # Unofficial bash strict mode | ||
29 | # https://web.archive.org/web/20190115051613/https://redsymbol.net/articles/unofficial-bash-strict-mode/ | ||
30 | set -euo pipefail | ||
31 | IFS=$'\n\t ' | ||
32 | |||
33 | # Set default values | ||
34 | API_URL_USERNAME="${API_URL_USERNAME:-$API_GIT_USER}" | ||
35 | API_PATH_PREFIX="${API_PATH_PREFIX:-}" | ||
36 | API_REPO_HOST=${API_REPO_HOST:-framagit.org} | ||
37 | |||
38 | echo "API_GIT_USER='${API_GIT_USER}'" | ||
39 | echo "API_URL_USERNAME='${API_URL_USERNAME}'" | ||
40 | echo "API_LANGS='${API_LANGS}'" | ||
41 | |||
42 | git config --global user.email "${API_GIT_EMAIL}" | ||
43 | git config --global user.name "${API_GIT_USER}" | ||
44 | |||
45 | for lang in ${API_LANGS//:/ } ; do | ||
46 | ( | ||
47 | echo "Generating client API libs for $lang" | ||
48 | |||
49 | lang_dir="support/openapi/${lang}" | ||
50 | |||
51 | out_dir_prefix="dist/api/${API_PATH_PREFIX}" | ||
52 | out_dir="${out_dir_prefix}/${lang}" | ||
53 | git_repo_id="${API_PATH_PREFIX}${lang}" | ||
54 | host_path="${API_REPO_HOST}/${API_URL_USERNAME}/${git_repo_id}.git" | ||
55 | git_remote="https://${API_GIT_USER}:${GIT_TOKEN}@${host_path}" | ||
56 | if ! [ -e "$out_dir" ] ; then | ||
57 | # Make sure the prefix exists before cloning the repo | ||
58 | mkdir -p "${out_dir_prefix}" | ||
59 | git clone "https://${host_path}" "$out_dir" | ||
60 | fi | ||
61 | |||
62 | npx openapi-generator generate \ | ||
63 | -i support/doc/api/openapi.yaml \ | ||
64 | -c "${lang_dir}/def.yaml" \ | ||
65 | -t "${lang_dir}" \ | ||
66 | -g "$lang" \ | ||
67 | --git-host "${API_REPO_HOST}" \ | ||
68 | --git-user-id "${API_URL_USERNAME}" \ | ||
69 | --git-repo-id "${git_repo_id}" \ | ||
70 | -o "${out_dir}" | ||
71 | |||
72 | # Commit and push changes to the remote | ||
73 | cd "$out_dir" | ||
74 | git remote set-url origin "$git_remote" | ||
75 | # Make sure something has changed | ||
76 | if [[ $(git status -s | wc -l) = 0 ]] ; then | ||
77 | echo "No changes from previous version" | ||
78 | continue | ||
79 | fi | ||
80 | git add . | ||
81 | git commit -m "${API_COMMIT_MSG:-"Minor update $lang"}" | ||
82 | git push | ||
83 | ) | ||
84 | done | ||
diff --git a/scripts/openapi-peertube-version.sh b/scripts/openapi-peertube-version.sh index 4eb481e64..49154a5f3 100755 --- a/scripts/openapi-peertube-version.sh +++ b/scripts/openapi-peertube-version.sh | |||
@@ -4,3 +4,8 @@ | |||
4 | PACKAGE_VERSION=$(node -p "require('./package.json').version") | 4 | PACKAGE_VERSION=$(node -p "require('./package.json').version") |
5 | 5 | ||
6 | sed -i "s/\(^\s*\)version: .*/\1version: $PACKAGE_VERSION/" ./support/doc/api/openapi.yaml | 6 | sed -i "s/\(^\s*\)version: .*/\1version: $PACKAGE_VERSION/" ./support/doc/api/openapi.yaml |
7 | |||
8 | # Sets the package version for libs | ||
9 | echo "packageVersion: $PACKAGE_VERSION" >> ./support/openapi/go.yaml | ||
10 | echo "artifactVersion: $PACKAGE_VERSION" >> ./support/openapi/kotlin.yaml | ||
11 | echo "packageVersion: $PACKAGE_VERSION" >> ./support/openapi/python.yaml | ||
diff --git a/scripts/optimize-old-videos.ts b/scripts/optimize-old-videos.ts index a84845068..9595efd9c 100644 --- a/scripts/optimize-old-videos.ts +++ b/scripts/optimize-old-videos.ts | |||
@@ -6,7 +6,7 @@ import { getDurationFromVideoFile, getVideoFileBitrate, getVideoFileFPS, getVide | |||
6 | import { getMaxBitrate } from '../shared/models/videos' | 6 | import { getMaxBitrate } from '../shared/models/videos' |
7 | import { VideoModel } from '../server/models/video/video' | 7 | import { VideoModel } from '../server/models/video/video' |
8 | import { optimizeOriginalVideofile } from '../server/lib/video-transcoding' | 8 | import { optimizeOriginalVideofile } from '../server/lib/video-transcoding' |
9 | import { initDatabaseModels } from '../server/initializers' | 9 | import { initDatabaseModels } from '../server/initializers/database' |
10 | import { basename, dirname } from 'path' | 10 | import { basename, dirname } from 'path' |
11 | import { copy, move, remove } from 'fs-extra' | 11 | import { copy, move, remove } from 'fs-extra' |
12 | import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' | 12 | import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' |
diff --git a/scripts/parse-log.ts b/scripts/parse-log.ts index 9e6653ca3..26049b54d 100755 --- a/scripts/parse-log.ts +++ b/scripts/parse-log.ts | |||
@@ -40,7 +40,7 @@ const logger = winston.createLogger({ | |||
40 | stderrLevels: [], | 40 | stderrLevels: [], |
41 | format: winston.format.combine( | 41 | format: winston.format.combine( |
42 | winston.format.splat(), | 42 | winston.format.splat(), |
43 | labelFormatter, | 43 | labelFormatter(), |
44 | winston.format.colorize(), | 44 | winston.format.colorize(), |
45 | loggerFormat | 45 | loggerFormat |
46 | ) | 46 | ) |
diff --git a/scripts/prune-storage.ts b/scripts/prune-storage.ts index fa3d81744..2b04e906d 100755 --- a/scripts/prune-storage.ts +++ b/scripts/prune-storage.ts | |||
@@ -5,7 +5,7 @@ import * as prompt from 'prompt' | |||
5 | import { join } from 'path' | 5 | import { join } from 'path' |
6 | import { CONFIG } from '../server/initializers/config' | 6 | import { CONFIG } from '../server/initializers/config' |
7 | import { VideoModel } from '../server/models/video/video' | 7 | import { VideoModel } from '../server/models/video/video' |
8 | import { initDatabaseModels } from '../server/initializers' | 8 | import { initDatabaseModels } from '../server/initializers/database' |
9 | import { readdir, remove } from 'fs-extra' | 9 | import { readdir, remove } from 'fs-extra' |
10 | import { VideoRedundancyModel } from '../server/models/redundancy/video-redundancy' | 10 | import { VideoRedundancyModel } from '../server/models/redundancy/video-redundancy' |
11 | import * as Bluebird from 'bluebird' | 11 | import * as Bluebird from 'bluebird' |
diff --git a/scripts/reset-password.ts b/scripts/reset-password.ts index 6126c3cd0..863537500 100755 --- a/scripts/reset-password.ts +++ b/scripts/reset-password.ts | |||
@@ -2,7 +2,7 @@ import { registerTSPaths } from '../server/helpers/register-ts-paths' | |||
2 | registerTSPaths() | 2 | registerTSPaths() |
3 | 3 | ||
4 | import * as program from 'commander' | 4 | import * as program from 'commander' |
5 | import { initDatabaseModels } from '../server/initializers' | 5 | import { initDatabaseModels } from '../server/initializers/database' |
6 | import { UserModel } from '../server/models/account/user' | 6 | import { UserModel } from '../server/models/account/user' |
7 | import { isUserPasswordValid } from '../server/helpers/custom-validators/users' | 7 | import { isUserPasswordValid } from '../server/helpers/custom-validators/users' |
8 | 8 | ||
diff --git a/scripts/update-host.ts b/scripts/update-host.ts index 54b31d786..2efe326a2 100755 --- a/scripts/update-host.ts +++ b/scripts/update-host.ts | |||
@@ -11,15 +11,15 @@ import { | |||
11 | getVideoAnnounceActivityPubUrl, | 11 | getVideoAnnounceActivityPubUrl, |
12 | getVideoChannelActivityPubUrl, | 12 | getVideoChannelActivityPubUrl, |
13 | getVideoCommentActivityPubUrl | 13 | getVideoCommentActivityPubUrl |
14 | } from '../server/lib/activitypub' | 14 | } from '../server/lib/activitypub/url' |
15 | import { VideoShareModel } from '../server/models/video/video-share' | 15 | import { VideoShareModel } from '../server/models/video/video-share' |
16 | import { VideoCommentModel } from '../server/models/video/video-comment' | 16 | import { VideoCommentModel } from '../server/models/video/video-comment' |
17 | import { getServerActor } from '../server/helpers/utils' | ||
18 | import { AccountModel } from '../server/models/account/account' | 17 | import { AccountModel } from '../server/models/account/account' |
19 | import { VideoChannelModel } from '../server/models/video/video-channel' | 18 | import { VideoChannelModel } from '../server/models/video/video-channel' |
20 | import { VideoStreamingPlaylistModel } from '../server/models/video/video-streaming-playlist' | 19 | import { VideoStreamingPlaylistModel } from '../server/models/video/video-streaming-playlist' |
21 | import { initDatabaseModels } from '../server/initializers' | 20 | import { initDatabaseModels } from '../server/initializers/database' |
22 | import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' | 21 | import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' |
22 | import { getServerActor } from '@server/models/application/application' | ||
23 | 23 | ||
24 | run() | 24 | run() |
25 | .then(() => process.exit(0)) | 25 | .then(() => process.exit(0)) |