aboutsummaryrefslogtreecommitdiff
path: root/ci/plugins.taskfile.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ci/plugins.taskfile.yaml')
-rw-r--r--ci/plugins.taskfile.yaml162
1 files changed, 115 insertions, 47 deletions
diff --git a/ci/plugins.taskfile.yaml b/ci/plugins.taskfile.yaml
index d67c56e..dda3838 100644
--- a/ci/plugins.taskfile.yaml
+++ b/ci/plugins.taskfile.yaml
@@ -5,132 +5,200 @@
version: "3"
+includes:
+ install:
+ taskfile: install.taskfile.yaml
+
vars:
+ CORE_VERSION: '1b590c2517fef110564943ed8a10edd11fa758b0'
+ ESSENTIALS_VERSION: '451091e93b5feee7a5e01d3a81f5d63efa7ea8be'
+ CACHE_VERSION: '930980a1e6b5db24dd4d8beeb115e4279ea79ee2'
+ USERS_VERSION: '6d48be92c39d0046c5d827fb86af7ea1f3877e69'
+ SESSION_VERSION: 'f2dedded2a8646273c4dd13013b8334d64e02d6f'
+ EXTENSIONS_VERSION: '1350c983c371fdd6a93596c8474345f9168284e1'
tasks:
all:
+ deps:
+ - install-rpmalloc
+ - install-compressor-lib
+ - install-argon2-lib
+ - install-compression
+ - install-sqlite
+ - install-router
+ - install-accounts
+ - install-sessions
+ - install-vncache
+ - install-vncache-sessions
+ - install-users
cmds:
+
- echo "Installing and configuring plugins and UI"
- - task: install-accounts
- - task: install-sessions
- - task: install-vncache
- - task: install-vncache-sessions
- - task: install-router
- - task: install-users
- - task: install-argon2-lib
- - task: build-cmnext
-
- build-cmnext:
+ - task: build-proj
+
+ build-proj:
cmds:
- #build js libraries
- - cd ../lib/admin && npm install && npm run build
- - cd ../front-end && npm install && npm run build
+ #build front-end
+ - cd ../front-end && task ci-build
#move dist files to web root
- - powershell -Command "cp -Recurse -Force ../front-end/dist {{.USER_WORKING_DIR}}"
+ - cmd: powershell -Command "cp -Recurse -Force ../front-end/dist {{.USER_WORKING_DIR}}"
#build the plugin
- cmd: cd ../back-end/src && task build
- - powershell -Command "mkdir plugins/CMNext -Force"
+ - powershell -Command "mkdir plugins/{{.PROJECT_NAME}} -Force"
#copy the plugin output
- - powershell -Command "cp -Recurse -Force ../back-end/src/bin/release/net8.0/publish/* plugins/CMNext/"
+ - powershell -Command "cp -Recurse -Force ../back-end/src/bin/release/net8.0/publish/* plugins/{{.PROJECT_NAME}}/"
install-accounts:
cmds:
#install accounts plugin
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'VNLib.Plugins.Essentials.Accounts'
MODULE_NAME: "Plugins.Essentials"
FILE_NAME: "release.tgz"
DIR: './plugins/Essentials.Accounts'
+ VERSION: '{{.ESSENTIALS_VERSION}}'
install-router:
cmds:
#install router plugin
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'VNLib.Plugins.Essentials.Content.Routing'
MODULE_NAME: "Plugins.Essentials"
FILE_NAME: "release.tgz"
DIR: './plugins/PageRouter'
+ VERSION: '{{.ESSENTIALS_VERSION}}'
install-sessions:
cmds:
#install sessions plugin
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'SessionProvider'
MODULE_NAME: "VNLib.Plugins.Sessions"
FILE_NAME: "release.tgz"
DIR: './plugins/SessionProvider'
+ VERSION: '{{.SESSION_VERSION}}'
+
+ install-vncache-sessions:
+ cmds:
+ #install vncache-web-sessions plugin
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'VNLib.Plugins.Sessions.VNCache'
+ MODULE_NAME: "VNLib.Plugins.Sessions"
+ FILE_NAME: "release.tgz"
+ DIR: './plugins/assets/VNLib.Plugins.Sessions.VNCache'
+ VERSION: '{{.SESSION_VERSION}}'
install-users:
cmds:
#install users plugin
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'VNLib.Plugins.Essentials.Users'
MODULE_NAME: "VNLib.Plugins.Essentials.Users"
FILE_NAME: "release.tgz"
DIR: './plugins/assets/VNLib.Plugins.Essentials.Users'
+ VERSION: '{{.USERS_VERSION}}'
install-vncache:
cmds:
#install vncache global cache provider plugin
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'VNLib.Data.Caching.Providers.VNCache'
MODULE_NAME: "VNLib.Data.Caching"
FILE_NAME: "release.tgz"
DIR: './plugins/assets/VNLib.Data.Caching.Providers.VNCache'
+ VERSION: '{{.CACHE_VERSION}}'
- install-vncache-sessions:
+ install-sqlite:
cmds:
- #install vncache-web-sessions plugin
- - task: install-plugin
+ #install SQLite asset package
+ - task: install:install
vars:
- PROJECT_NAME: 'VNLib.Plugins.Sessions.VNCache'
- MODULE_NAME: "VNLib.Plugins.Sessions"
+ PROJECT_NAME: 'VNLib.Plugins.Extensions.Loading.Sql.SQLite'
+ MODULE_NAME: "VNLib.Plugins.Extensions"
FILE_NAME: "release.tgz"
- DIR: './plugins/assets/VNLib.Plugins.Sessions.VNCache'
+ DIR: './plugins/assets/VNLib.Plugins.Extensions.Loading.Sql.SQLite'
+ VERSION: '{{.EXTENSIONS_VERSION}}'
+
+ install-compression:
+ cmds:
+ #install compression plugin
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'VNLib.Net.Compression'
+ MODULE_NAME: "VNLib.Core"
+ FILE_NAME: "release.tgz"
+ DIR: './lib/vnlib.net.compression'
+ VERSION: '{{.CORE_VERSION}}'
+
+ install-compressor-lib:
+ cmds:
+ #install the compressor binary for Windows
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'vnlib_compress'
+ MODULE_NAME: "VNLib.Core"
+ FILE_NAME: "msvc-x64-release-vnlib_compress.tgz"
+ DIR: './lib/vnlib_compress'
+ VERSION: '{{.CORE_VERSION}}'
+
+ #install compressor plugin
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'vnlib_compress'
+ MODULE_NAME: "VNLib.Core"
+ FILE_NAME: "src.tgz"
+ DIR: './lib/vnlib_compress'
+ VERSION: '{{.CORE_VERSION}}'
install-argon2-lib:
cmds:
#install the argon2 binary for Windows
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'phc-winner-argon2'
MODULE_NAME: "VNLib.Core"
- FILE_NAME: "win-x64-release-Argon2.tgz"
+ FILE_NAME: "msvc-x64-release-Argon2.tgz"
DIR: './lib/argon2'
+ VERSION: '{{.CORE_VERSION}}'
#install the argon2 source code package for Linux and Mac
- - task: install-plugin
+ - task: install:install
vars:
PROJECT_NAME: 'phc-winner-argon2'
MODULE_NAME: "VNLib.Core"
FILE_NAME: "src.tgz"
DIR: './lib/argon2'
+ VERSION: '{{.CORE_VERSION}}'
#remove unneeded files
- - cmd: powershell -Command "rm ./lib/argon2/man -Recurse"
- ignore_error: true
- - cmd: powershell -Command "rm ./lib/argon2/latex -Recurse"
- ignore_error: true
- - cmd: powershell -Command "rm ./lib/argon2/kats -Recurse"
- ignore_error: true
- - cmd: powershell -Command "rm ./lib/argon2/argon2-specs.pdf"
- ignore_error: true
- - cmd: powershell -Command "rm ./lib/argon2/package.json"
+ - for: [ man, latex, kats, argon2-specs.pdf ]
+ cmd: powershell -Command "rm ./lib/argon2/{{.ITEM}} -Recurse"
ignore_error: true
- install-plugin:
+ install-rpmalloc:
cmds:
- #make the plugin directory
- - cmd: powershell -Command "mkdir {{.DIR}} -Force"
- ignore_error: true
- - cd {{.DIR}} && powershell "{{.USER_WORKING_DIR}}/install.ps1" -BaseUrl {{.BUILDS_URL}} -ModuleName {{.MODULE_NAME}} -ProjectName {{.PROJECT_NAME}} -FileName {{.FILE_NAME}}
- - cd {{.DIR}} && tar -xzf {{.FILE_NAME}}
- #remove the archive file
- - cd {{.DIR}} && powershell -Command "rm {{.FILE_NAME}}" \ No newline at end of file
+ #install the rpmalloc source code package for Linux and Mac
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'vnlib_rpmalloc'
+ MODULE_NAME: "VNLib.Core"
+ FILE_NAME: "src.tgz"
+ DIR: './lib/vnlib_rpmalloc'
+ VERSION: '{{.CORE_VERSION}}'
+
+ #install the rpmalloc binary for Windows
+ - task: install:install
+ vars:
+ PROJECT_NAME: 'vnlib_rpmalloc'
+ MODULE_NAME: "VNLib.Core"
+ FILE_NAME: "msvc-x64-release-vnlib_rpmalloc.tgz"
+ DIR: './lib/vnlib_rpmalloc'
+ VERSION: '{{.CORE_VERSION}}'