aboutsummaryrefslogtreecommitdiff
path: root/ci/plugins.taskfile.yaml
blob: 08a3525aa9c66f4308448c6320b1296d3fd54b8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100

version: "3"

vars:


tasks:

  all:
    cmds:
    - echo "Installing and configuring plugins and UI"
    - task: install-accounts
    - task: install-sessions
    - task: install-vncache
    - task: install-router
    - task: install-users
    - task: build-cmnext

  build-cmnext:
    cmds:
    #build js libraries
    - cd ../lib/admin && npm install && npm run build
    - cd ../front-end && npm install && npm run build
    #move dist files to web root
    - powershell -Command "cp -Recurse -Force ../front-end/dist {{.USER_WORKING_DIR}}"
    #move the plugin output
    - powershell -Command "cp -Recurse -Force ../back-end/src/bin/release/net6.0/publish/* ./plugins/CMNext"
    #move cmnext config file
    - powershell -Command "cp -Force config/CMNext.json ./plugins/CMNext/CMNext.json"

  install-accounts:
    cmds:
    #install accounts plugin
    - task: install-plugin
      vars:
        NAME: 'Essentials.Accounts'
        PROJECT_NAME: 'VNLib.Plugins.Essentials.Accounts'
        MODULE_NAME: "Plugins.Essentials"
        FILE_NAME: "release.tgz"
        DIR: './plugins/Essentials.Accounts'

  install-router:
    cmds:
    #install router plugin
    - task: install-plugin
      vars:
        NAME: 'PageRouter'
        PROJECT_NAME: 'VNLib.Plugins.Essentials.Content.Routing'
        MODULE_NAME: "Plugins.Essentials"
        FILE_NAME: "release.tgz"
        DIR: './plugins/PageRouter'

  install-sessions:
    cmds:
    #install sessions plugin
    - task: install-plugin
      vars:
        NAME: 'SessionProvider'
        PROJECT_NAME: 'SessionProvider'
        MODULE_NAME: "VNLib.Plugins.Sessions"
        FILE_NAME: "release.tgz"
        DIR: './plugins/SessionProvider'

  install-users:
    cmds:
    #install users plugin
    - task: install-plugin
      vars:
        NAME: 'VNLib.Plugins.Essentials.Users'
        PROJECT_NAME: 'VNLib.Plugins.Essentials.Users'
        MODULE_NAME: "VNLib.Plugins.Essentials.Users"
        FILE_NAME: "release.tgz"
        DIR: './plugins/assets/VNLib.Plugins.Essentials.Users'

    #move routes xml files
    - cmd: powershell -Command "cp -Force config/routes.xml ./plugins/routes.xml"

  install-vncache:
    cmds:
    #install sessions plugin
    - task: install-plugin
      vars:
        NAME: 'VNLib.Plugins.Sessions.VNCache'
        PROJECT_NAME: 'VNLib.Plugins.Sessions.VNCache'
        MODULE_NAME: "VNLib.Plugins.Sessions"
        FILE_NAME: "release.tgz"
        DIR: './plugins/assets/VNLib.Plugins.Sessions.VNCache'

  install-plugin:
    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}}"
    #copy config file from config dir
    - cmd: powershell -Command "cp -Force ./config/{{.NAME}}.json {{.DIR}}/{{.NAME}}.json"
      ignore_error: true