You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-10-08 22:51:57 +02:00
Поднят номер версии, начало SSH
This commit is contained in:
58
.github/workflows/oint_test_full_en.yml
vendored
58
.github/workflows/oint_test_full_en.yml
vendored
@@ -54,7 +54,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -180,7 +180,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -298,7 +298,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -344,7 +344,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -398,7 +398,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -444,7 +444,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -490,7 +490,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -536,7 +536,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -582,7 +582,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -624,7 +624,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -702,7 +702,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -752,7 +752,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -806,7 +806,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -864,7 +864,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -914,7 +914,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -968,7 +968,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1030,7 +1030,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1084,7 +1084,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1154,7 +1154,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1256,7 +1256,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1306,7 +1306,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1372,7 +1372,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1418,7 +1418,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1468,7 +1468,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1518,7 +1518,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1568,7 +1568,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1610,7 +1610,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1672,7 +1672,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1722,7 +1722,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
|
58
.github/workflows/oint_test_full_ru.yml
vendored
58
.github/workflows/oint_test_full_ru.yml
vendored
@@ -54,7 +54,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -180,7 +180,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -298,7 +298,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -344,7 +344,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -398,7 +398,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -444,7 +444,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -490,7 +490,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -536,7 +536,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -582,7 +582,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -624,7 +624,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -702,7 +702,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -752,7 +752,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -806,7 +806,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -864,7 +864,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -914,7 +914,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -968,7 +968,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1030,7 +1030,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1084,7 +1084,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1154,7 +1154,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1256,7 +1256,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1306,7 +1306,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1372,7 +1372,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1418,7 +1418,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1468,7 +1468,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1518,7 +1518,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1568,7 +1568,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1610,7 +1610,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1672,7 +1672,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
@@ -1722,7 +1722,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
|
2
.github/workflows/testcl.yml
vendored
2
.github/workflows/testcl.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
|||||||
- name: Установить OInt
|
- name: Установить OInt
|
||||||
run: |
|
run: |
|
||||||
TEMP_DEB="$(mktemp)" &&
|
TEMP_DEB="$(mktemp)" &&
|
||||||
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb' &&
|
wget -O "$TEMP_DEB" 'https://api.athenaeum.digital/tc/job/Release/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb' &&
|
||||||
sudo dpkg -i "$TEMP_DEB"
|
sudo dpkg -i "$TEMP_DEB"
|
||||||
rm -f "$TEMP_DEB"
|
rm -f "$TEMP_DEB"
|
||||||
|
|
||||||
|
6
ci/cli_deb_test_en
vendored
6
ci/cli_deb_test_en
vendored
@@ -25,7 +25,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый deb-пакет oint
|
// Скачиваем новый deb-пакет oint
|
||||||
sh 'wget -O oint_1.27.0_all_en.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_en.deb '
|
sh 'wget -O oint_1.28.0_all_en.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_en.deb '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,14 +34,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'dpkg -i oint_1.27.0_all_en.deb'
|
sh 'dpkg -i oint_1.28.0_all_en.deb'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/en/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/en/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
6
ci/cli_deb_test_ru
vendored
6
ci/cli_deb_test_ru
vendored
@@ -25,7 +25,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый deb-пакет oint
|
// Скачиваем новый deb-пакет oint
|
||||||
sh 'wget -O oint_1.27.0_all_ru.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_ru.deb '
|
sh 'wget -O oint_1.28.0_all_ru.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_ru.deb '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,14 +34,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'dpkg -i oint_1.27.0_all_ru.deb'
|
sh 'dpkg -i oint_1.28.0_all_ru.deb'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
6
ci/cli_rpm_test_en
vendored
6
ci/cli_rpm_test_en
vendored
@@ -24,7 +24,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый rpm-пакет oint
|
// Скачиваем новый rpm-пакет oint
|
||||||
sh 'wget -O oint-1.27.0-1.noarch_en.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint-1.27.0-1.noarch_en.rpm '
|
sh 'wget -O oint-1.28.0-1.noarch_en.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint-1.28.0-1.noarch_en.rpm '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -33,14 +33,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'rpm -ivh --replacepkgs oint-1.27.0-1.noarch_en.rpm'
|
sh 'rpm -ivh --replacepkgs oint-1.28.0-1.noarch_en.rpm'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/en/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/en/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
6
ci/cli_rpm_test_ru
vendored
6
ci/cli_rpm_test_ru
vendored
@@ -24,7 +24,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый rpm-пакет oint
|
// Скачиваем новый rpm-пакет oint
|
||||||
sh 'wget -O oint-1.27.0-1.noarch_ru.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint-1.27.0-1.noarch_ru.rpm '
|
sh 'wget -O oint-1.28.0-1.noarch_ru.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint-1.28.0-1.noarch_ru.rpm '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -33,14 +33,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'rpm -ivh --replacepkgs oint-1.27.0-1.noarch_ru.rpm'
|
sh 'rpm -ivh --replacepkgs oint-1.28.0-1.noarch_ru.rpm'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
4
ci/cli_test_en
vendored
4
ci/cli_test_en
vendored
@@ -13,7 +13,7 @@ pipeline {
|
|||||||
stages {
|
stages {
|
||||||
stage('Decrypt Data') {
|
stage('Decrypt Data') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/en/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/en/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ pipeline {
|
|||||||
stage('Download Installer') {
|
stage('Download Installer') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script: '''
|
powershell encoding: 'UTF-8', script: '''
|
||||||
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_installer_en.exe "
|
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_installer_en.exe "
|
||||||
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
||||||
Invoke-WebRequest -Uri $url -OutFile $output
|
Invoke-WebRequest -Uri $url -OutFile $output
|
||||||
Write-Host "Инсталлер скачан в: $output"
|
Write-Host "Инсталлер скачан в: $output"
|
||||||
|
4
ci/cli_test_ru
vendored
4
ci/cli_test_ru
vendored
@@ -13,7 +13,7 @@ pipeline {
|
|||||||
stages {
|
stages {
|
||||||
stage('Decrypt Data') {
|
stage('Decrypt Data') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ pipeline {
|
|||||||
stage('Download Installer') {
|
stage('Download Installer') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script: '''
|
powershell encoding: 'UTF-8', script: '''
|
||||||
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_installer_ru.exe "
|
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_installer_ru.exe "
|
||||||
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
||||||
Invoke-WebRequest -Uri $url -OutFile $output
|
Invoke-WebRequest -Uri $url -OutFile $output
|
||||||
Write-Host "Инсталлер скачан в: $output"
|
Write-Host "Инсталлер скачан в: $output"
|
||||||
|
4
ci/main
vendored
4
ci/main
vendored
@@ -26,8 +26,8 @@ pipeline {
|
|||||||
|
|
||||||
stage('Local update'){
|
stage('Local update'){
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build; opm install -f oint-cli-1.27.0.ospx; del oint-cli-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build; opm install -f oint-cli-1.28.0.ospx; del oint-cli-1.28.0.ospx'
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
6
ci/opm_push
vendored
6
ci/opm_push
vendored
@@ -7,10 +7,10 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
|
|
||||||
withCredentials([string(credentialsId: 'opm-token', variable: 'TOKEN')]) {
|
withCredentials([string(credentialsId: 'opm-token', variable: 'TOKEN')]) {
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.28.0.ospx'
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm push --token $ENV:TOKEN --channel stable --file oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm push --token $ENV:TOKEN --channel stable --file oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build;'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build;'
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm push --token $ENV:TOKEN --channel stable --file oint-cli-1.27.0.ospx; del oint-cli-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm push --token $ENV:TOKEN --channel stable --file oint-cli-1.28.0.ospx; del oint-cli-1.28.0.ospx'
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
4
ci/opm_update
vendored
4
ci/opm_update
vendored
@@ -7,8 +7,8 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
|
|
||||||
|
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install -f oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build; opm install -f oint-cli-1.27.0.ospx; del oint-cli-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/cli; opm build; opm install -f oint-cli-1.28.0.ospx; del oint-cli-1.28.0.ospx'
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
20
ci/os/docs_main.os
vendored
20
ci/os/docs_main.os
vendored
@@ -178,7 +178,7 @@
|
|||||||
Макет = СтрЗаменить(Макет, "@Описание" , СтруктураМетода["Описание"]);
|
Макет = СтрЗаменить(Макет, "@Описание" , СтруктураМетода["Описание"]);
|
||||||
|
|
||||||
ТаблицаПараметров = "";
|
ТаблицаПараметров = "";
|
||||||
Вызов1С = ПолучитьВызов1С(СтруктураМетода["ИмяМодуля"], СтруктураМетода["ИмяМетода"]);
|
Вызов1С = ПолучитьВызов1С(СтруктураМетода["ИмяМодуля"], СтруктураМетода["ИмяМетода"], ТекущийЯзык);
|
||||||
ВызовCLI = ПолучитьВызовCLI(СтруктураМетода);
|
ВызовCLI = ПолучитьВызовCLI(СтруктураМетода);
|
||||||
|
|
||||||
Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл
|
Для каждого ПараметрМетода Из СтруктураМетода["Параметры"] Цикл
|
||||||
@@ -570,7 +570,7 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция ПолучитьВызов1С(Модуль, Метод)
|
Функция ПолучитьВызов1С(Модуль, Метод, ТекущийЯзык)
|
||||||
|
|
||||||
Результат = "";
|
Результат = "";
|
||||||
|
|
||||||
@@ -594,6 +594,22 @@
|
|||||||
|
|
||||||
Результат = СокрП(Результат);
|
Результат = СокрП(Результат);
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Результат) Тогда
|
||||||
|
|
||||||
|
Если ТекущийЯзык = "ru" Тогда
|
||||||
|
ШаблонТекста = "```bsl title=""Пример использования для 1С:Предприятие/OneScript""
|
||||||
|
|%1
|
||||||
|
|```";
|
||||||
|
Иначе
|
||||||
|
ШаблонТекста = "```bsl title=""1C:Enterprise/OneScript code example""
|
||||||
|
|%1
|
||||||
|
|```";
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Результат = СтрШаблон(ШаблонТекста, Результат);
|
||||||
|
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
2
ci/os/releasemaker.os
vendored
2
ci/os/releasemaker.os
vendored
@@ -12,7 +12,7 @@
|
|||||||
Процедура НачалоРаботы()
|
Процедура НачалоРаботы()
|
||||||
|
|
||||||
Репозиторий = "https://github.com/Bayselonarrend/OpenIntegrations";
|
Репозиторий = "https://github.com/Bayselonarrend/OpenIntegrations";
|
||||||
Версия = "1.27.0";
|
Версия = "1.28.0";
|
||||||
Режим = "CONFIG";
|
Режим = "CONFIG";
|
||||||
|
|
||||||
//Локальные данные
|
//Локальные данные
|
||||||
|
2
ci/os_deb_test_en
vendored
2
ci/os_deb_test_en
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/en/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/en/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/os_deb_test_ru
vendored
2
ci/os_deb_test_ru
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/os_rpm_test_en
vendored
2
ci/os_rpm_test_en
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/en/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/en/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/os_rpm_test_ru
vendored
2
ci/os_rpm_test_ru
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/ru/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/os_test_en
vendored
2
ci/os_test_en
vendored
@@ -48,7 +48,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Build OInt from source and decrypt secret data'){
|
stage('Build OInt from source and decrypt secret data'){
|
||||||
steps{
|
steps{
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/en/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/en/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/os_test_ru
vendored
2
ci/os_test_ru
vendored
@@ -48,7 +48,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Build OInt from source and decrypt secret data'){
|
stage('Build OInt from source and decrypt secret data'){
|
||||||
steps{
|
steps{
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/ru/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%GPGKEY%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
2
ci/release
vendored
2
ci/release
vendored
@@ -8,7 +8,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script:'Remove-Item -Path "./Melezh" -Recurse -Force'
|
powershell encoding: 'UTF-8', script:'Remove-Item -Path "./Melezh" -Recurse -Force'
|
||||||
bat 'oscript ./ci/os/releasemaker.os'
|
bat 'oscript ./ci/os/releasemaker.os'
|
||||||
archiveArtifacts artifacts: '1.27.0/*'
|
archiveArtifacts artifacts: '1.28.0/*'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
service/iss/en.iss
vendored
2
service/iss/en.iss
vendored
@@ -1,5 +1,5 @@
|
|||||||
#define MyAppName "OInt"
|
#define MyAppName "OInt"
|
||||||
#define MyAppVersion "1.27.0"
|
#define MyAppVersion "1.28.0"
|
||||||
#define MyAppPublisher "bayselonarrend"
|
#define MyAppPublisher "bayselonarrend"
|
||||||
#define MyAppURL "https://github.com/Bayselonarrend/OpenIntegrations"
|
#define MyAppURL "https://github.com/Bayselonarrend/OpenIntegrations"
|
||||||
#define MyAppExeName "oint.bat"
|
#define MyAppExeName "oint.bat"
|
||||||
|
2
service/iss/ru.iss
vendored
2
service/iss/ru.iss
vendored
@@ -1,5 +1,5 @@
|
|||||||
#define MyAppName "OInt"
|
#define MyAppName "OInt"
|
||||||
#define MyAppVersion "1.27.0"
|
#define MyAppVersion "1.28.0"
|
||||||
#define MyAppPublisher "bayselonarrend"
|
#define MyAppPublisher "bayselonarrend"
|
||||||
#define MyAppURL "https://github.com/Bayselonarrend/OpenIntegrations"
|
#define MyAppURL "https://github.com/Bayselonarrend/OpenIntegrations"
|
||||||
#define MyAppExeName "oint.bat"
|
#define MyAppExeName "oint.bat"
|
||||||
|
2
service/project.json
vendored
2
service/project.json
vendored
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "1.27.0",
|
"version": "1.28.0",
|
||||||
"root": "./src/",
|
"root": "./src/",
|
||||||
"mainLang": "ru",
|
"mainLang": "ru",
|
||||||
"packageSrc": "OInt/",
|
"packageSrc": "OInt/",
|
||||||
|
3
service/templates/doc_en.md
vendored
3
service/templates/doc_en.md
vendored
@@ -24,10 +24,7 @@ import TabItem from '@theme/TabItem';
|
|||||||
|
|
||||||
@Примечание
|
@Примечание
|
||||||
|
|
||||||
|
|
||||||
```bsl title="1C:Enterprise/OneScript code example"
|
|
||||||
@Вызов1С
|
@Вызов1С
|
||||||
```
|
|
||||||
|
|
||||||
@ВызовCLI
|
@ВызовCLI
|
||||||
|
|
||||||
|
3
service/templates/doc_ru.md
vendored
3
service/templates/doc_ru.md
vendored
@@ -24,10 +24,7 @@ import TabItem from '@theme/TabItem';
|
|||||||
|
|
||||||
@Примечание
|
@Примечание
|
||||||
|
|
||||||
|
|
||||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
|
||||||
@Вызов1С
|
@Вызов1С
|
||||||
```
|
|
||||||
|
|
||||||
@ВызовCLI
|
@ВызовCLI
|
||||||
|
|
||||||
|
6
service/templates/jenkins/cli_test_deb.txt
vendored
6
service/templates/jenkins/cli_test_deb.txt
vendored
@@ -25,7 +25,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый deb-пакет oint
|
// Скачиваем новый deb-пакет oint
|
||||||
sh 'wget -O oint_1.27.0_all_%1.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_all_%1.deb '
|
sh 'wget -O oint_1.28.0_all_%1.deb https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_all_%1.deb '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,14 +34,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'dpkg -i oint_1.27.0_all_%1.deb'
|
sh 'dpkg -i oint_1.28.0_all_%1.deb'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
6
service/templates/jenkins/cli_test_rpm.txt
vendored
6
service/templates/jenkins/cli_test_rpm.txt
vendored
@@ -24,7 +24,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Скачиваем новый rpm-пакет oint
|
// Скачиваем новый rpm-пакет oint
|
||||||
sh 'wget -O oint-1.27.0-1.noarch_%1.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint-1.27.0-1.noarch_%1.rpm '
|
sh 'wget -O oint-1.28.0-1.noarch_%1.rpm https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint-1.28.0-1.noarch_%1.rpm '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -33,14 +33,14 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
// Устанавливаем скаченный пакет
|
// Устанавливаем скаченный пакет
|
||||||
sh 'rpm -ivh --replacepkgs oint-1.27.0-1.noarch_%1.rpm'
|
sh 'rpm -ivh --replacepkgs oint-1.28.0-1.noarch_%1.rpm'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@ pipeline {
|
|||||||
stages {
|
stages {
|
||||||
stage('Decrypt Data') {
|
stage('Decrypt Data') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/%1/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/%1/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%%GPGKEY%%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%%GPGKEY%%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ pipeline {
|
|||||||
stage('Download Installer') {
|
stage('Download Installer') {
|
||||||
steps {
|
steps {
|
||||||
powershell encoding: 'UTF-8', script: '''
|
powershell encoding: 'UTF-8', script: '''
|
||||||
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.27.0/oint_1.27.0_installer_%1.exe "
|
$url = "https://jenkins.openintegrations.dev/job/OpiBuild/job/OpiRelease/lastSuccessfulBuild/artifact/1.28.0/oint_1.28.0_installer_%1.exe "
|
||||||
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
$output = "$env:USERPROFILE\\Downloads\\oint_installer.exe"
|
||||||
Invoke-WebRequest -Uri $url -OutFile $output
|
Invoke-WebRequest -Uri $url -OutFile $output
|
||||||
Write-Host "Инсталлер скачан в: $output"
|
Write-Host "Инсталлер скачан в: $output"
|
||||||
|
2
service/templates/jenkins/os_test_linux.txt
vendored
2
service/templates/jenkins/os_test_linux.txt
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
|
|
||||||
stage('Prepare'){
|
stage('Prepare'){
|
||||||
steps{
|
steps{
|
||||||
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.27.0.ospx && rm oint-1.27.0.ospx'
|
sh 'cd ./src/%1/OInt && opm build && opm install oint-1.28.0.ospx && rm oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
sh 'gpg --quiet --batch --yes --decrypt --passphrase="$GPGKEY" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
@@ -48,7 +48,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Build OInt from source and decrypt secret data'){
|
stage('Build OInt from source and decrypt secret data'){
|
||||||
steps{
|
steps{
|
||||||
powershell encoding: 'UTF-8', script:'cd ./src/%1/OInt; opm build; opm install oint-1.27.0.ospx; del oint-1.27.0.ospx'
|
powershell encoding: 'UTF-8', script:'cd ./src/%1/OInt; opm build; opm install oint-1.28.0.ospx; del oint-1.28.0.ospx'
|
||||||
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
withCredentials([string(credentialsId: 'gpgkey', variable: 'GPGKEY')]) {
|
||||||
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%%GPGKEY%%" --output ./data.json ./data.json.gpg'
|
bat encoding: 'UTF-8', script:'gpg --quiet --batch --yes --decrypt --passphrase="%%GPGKEY%%" --output ./data.json ./data.json.gpg'
|
||||||
}
|
}
|
||||||
|
351
src/addins/ssh/Cargo.lock
generated
Normal file
351
src/addins/ssh/Cargo.lock
generated
Normal file
@@ -0,0 +1,351 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "addin1c"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ef34e8b7ff4c43e87491a4cc30a4779a9f67c50db43378a36362c7a56246e05b"
|
||||||
|
dependencies = [
|
||||||
|
"smallvec",
|
||||||
|
"utf16_lit",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "autocfg"
|
||||||
|
version = "1.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitflags"
|
||||||
|
version = "2.9.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cc"
|
||||||
|
version = "1.2.37"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "65193589c6404eb80b450d618eaf9a2cafaaafd57ecce47370519ef674a7bd44"
|
||||||
|
dependencies = [
|
||||||
|
"find-msvc-tools",
|
||||||
|
"shlex",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "find-msvc-tools"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itoa"
|
||||||
|
version = "1.0.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.175"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libssh2-sys"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "220e4f05ad4a218192533b300327f5150e809b54c4ec83b5a1d91833601811b9"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"libz-sys",
|
||||||
|
"openssl-sys",
|
||||||
|
"pkg-config",
|
||||||
|
"vcpkg",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libz-sys"
|
||||||
|
version = "1.1.22"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"pkg-config",
|
||||||
|
"vcpkg",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lock_api"
|
||||||
|
version = "0.4.13"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"scopeguard",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.7.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "openssl-sys"
|
||||||
|
version = "0.9.109"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
"libc",
|
||||||
|
"pkg-config",
|
||||||
|
"vcpkg",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opi_ssh"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"addin1c",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"ssh2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "parking_lot"
|
||||||
|
version = "0.12.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
|
||||||
|
dependencies = [
|
||||||
|
"lock_api",
|
||||||
|
"parking_lot_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "parking_lot_core"
|
||||||
|
version = "0.9.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"redox_syscall",
|
||||||
|
"smallvec",
|
||||||
|
"windows-targets",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pkg-config"
|
||||||
|
version = "0.3.32"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.101"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quote"
|
||||||
|
version = "1.0.40"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "redox_syscall"
|
||||||
|
version = "0.5.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ryu"
|
||||||
|
version = "1.0.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "scopeguard"
|
||||||
|
version = "1.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
|
||||||
|
dependencies = [
|
||||||
|
"serde_core",
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_core"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
|
||||||
|
dependencies = [
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_json"
|
||||||
|
version = "1.0.145"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
|
||||||
|
dependencies = [
|
||||||
|
"itoa",
|
||||||
|
"memchr",
|
||||||
|
"ryu",
|
||||||
|
"serde",
|
||||||
|
"serde_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "shlex"
|
||||||
|
version = "1.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "smallvec"
|
||||||
|
version = "1.13.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ssh2"
|
||||||
|
version = "0.9.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2f84d13b3b8a0d4e91a2629911e951db1bb8671512f5c09d7d4ba34500ba68c8"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
"libc",
|
||||||
|
"libssh2-sys",
|
||||||
|
"parking_lot",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "2.0.106"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-ident"
|
||||||
|
version = "1.0.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "utf16_lit"
|
||||||
|
version = "2.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "14706d2a800ee8ff38c1d3edb873cd616971ea59eb7c0d046bb44ef59b06a1ae"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "vcpkg"
|
||||||
|
version = "0.2.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-targets"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||||
|
dependencies = [
|
||||||
|
"windows_aarch64_gnullvm",
|
||||||
|
"windows_aarch64_msvc",
|
||||||
|
"windows_i686_gnu",
|
||||||
|
"windows_i686_gnullvm",
|
||||||
|
"windows_i686_msvc",
|
||||||
|
"windows_x86_64_gnu",
|
||||||
|
"windows_x86_64_gnullvm",
|
||||||
|
"windows_x86_64_msvc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_gnu"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnu"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
20
src/addins/ssh/Cargo.toml
Normal file
20
src/addins/ssh/Cargo.toml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[package]
|
||||||
|
name = "opi_ssh"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
crate-type = ["cdylib"]
|
||||||
|
|
||||||
|
[profile.release]
|
||||||
|
lto = "fat" # Enable Link Time Optimization
|
||||||
|
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
|
||||||
|
panic = "abort" # Abort on panic
|
||||||
|
strip = true # Automatically strip symbols from the binary.
|
||||||
|
opt-level = "z"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
addin1c = "0.5.0"
|
||||||
|
serde_json = "1.0.140"
|
||||||
|
ssh2 = "0.9.5"
|
||||||
|
serde = { version = "1.0.219", features = ["derive"] }
|
12
src/addins/ssh/dependencies.log
Normal file
12
src/addins/ssh/dependencies.log
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
"MAIN ---"
|
||||||
|
linux-vdso.so.1 (0x00007ffedc1ce000)
|
||||||
|
libm.so.6 => /lib64/libm.so.6 (0x0000700082000000)
|
||||||
|
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000700081c00000)
|
||||||
|
libc.so.6 => /lib64/libc.so.6 (0x0000700081800000)
|
||||||
|
libdl.so.2 => /lib64/libdl.so.2 (0x0000700081400000)
|
||||||
|
/lib64/ld-linux-x86-64.so.2 (0x0000700082400000)
|
||||||
|
GLIBC_2.2.5
|
||||||
|
GLIBC_2.3
|
||||||
|
GLIBC_2.3.4
|
||||||
|
GLIBC_2.14
|
||||||
|
GLIBC_2.17
|
8
src/addins/ssh/release.bat
vendored
Normal file
8
src/addins/ssh/release.bat
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
:: Установить переменную
|
||||||
|
set CARGO_NAME=opi_ssh
|
||||||
|
set LIB_NAME=OPI_SSH
|
||||||
|
set ADDIN_DIR=%~dp0
|
||||||
|
|
||||||
|
call ../build.bat
|
0
src/addins/ssh/src/component/methods.rs
Normal file
0
src/addins/ssh/src/component/methods.rs
Normal file
139
src/addins/ssh/src/component/mod.rs
Normal file
139
src/addins/ssh/src/component/mod.rs
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
mod methods;
|
||||||
|
mod ssh_conf;
|
||||||
|
|
||||||
|
use addin1c::{name, Variant};
|
||||||
|
use serde_json::json;
|
||||||
|
use crate::core::getset;
|
||||||
|
use ssh2::Session;
|
||||||
|
use std::net::TcpStream;
|
||||||
|
use crate::component::ssh_conf::{SshConf, SshAuthTypes};
|
||||||
|
|
||||||
|
// МЕТОДЫ КОМПОНЕНТЫ -------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Синонимы
|
||||||
|
pub const METHODS: &[&[u16]] = &[
|
||||||
|
name!("Connect"),
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
// Число параметров функций компоненты
|
||||||
|
pub fn get_params_amount(num: usize) -> usize {
|
||||||
|
match num {
|
||||||
|
0 => 1,
|
||||||
|
_ => 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Соответствие функций Rust функциям компоненты
|
||||||
|
// Вызовы должны быть обернуты в Box::new
|
||||||
|
pub fn cal_func(obj: &mut AddIn, num: usize, params: &mut [Variant]) -> Box<dyn getset::ValueType> {
|
||||||
|
|
||||||
|
match num {
|
||||||
|
0 => {
|
||||||
|
let json_string = params[0].get_string().unwrap_or("".to_string());
|
||||||
|
Box::new(obj.initialize(json_string))
|
||||||
|
},
|
||||||
|
_ => Box::new(false), // Неверный номер команды
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// ПОЛЯ КОМПОНЕНТЫ ---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Синонимы
|
||||||
|
pub const PROPS: &[&[u16]] = &[];
|
||||||
|
|
||||||
|
pub struct AddIn {
|
||||||
|
inner: Option<Session>,
|
||||||
|
credentials: Option<SshConf>
|
||||||
|
}
|
||||||
|
|
||||||
|
impl AddIn {
|
||||||
|
/// Создает новый объект
|
||||||
|
pub fn new() -> Self {
|
||||||
|
AddIn {
|
||||||
|
inner: None,
|
||||||
|
credentials: None,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn initialize(&mut self, conf: String) -> String {
|
||||||
|
|
||||||
|
let conf_data = match SshConf::from_sting(conf.as_str()){
|
||||||
|
Ok(conf_data) => conf_data,
|
||||||
|
Err(e) => return format_json_error(&e)
|
||||||
|
};
|
||||||
|
|
||||||
|
self.credentials = Some(conf_data.clone());
|
||||||
|
|
||||||
|
let tcp = match TcpStream::connect(format!("{}:{}", conf_data.host, conf_data.port)){
|
||||||
|
Ok(tcp) => tcp,
|
||||||
|
Err(e) => return format_json_error(&e.to_string())
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut sess = match Session::new(){
|
||||||
|
Ok(sess) => sess,
|
||||||
|
Err(e) => return format_json_error(&e.to_string())
|
||||||
|
};
|
||||||
|
|
||||||
|
sess.set_tcp_stream(tcp);
|
||||||
|
|
||||||
|
if let Err(e) = sess.handshake() {
|
||||||
|
return e.to_string();
|
||||||
|
};
|
||||||
|
|
||||||
|
let username= &conf_data.username;
|
||||||
|
let password = &conf_data.password.unwrap_or("".to_string());
|
||||||
|
let passphrase = conf_data.passphrase;
|
||||||
|
let key_path = &conf_data.key_path;
|
||||||
|
|
||||||
|
let auth_success = match conf_data.auth_type {
|
||||||
|
|
||||||
|
SshAuthTypes::Password => sess.userauth_password(username,password),
|
||||||
|
SshAuthTypes::Agent => sess.userauth_agent(username),
|
||||||
|
SshAuthTypes::PrivateKey => {
|
||||||
|
let path = match key_path{
|
||||||
|
Some(key_path) => key_path.as_ref(),
|
||||||
|
None => return format_json_error("No key path provided with PK auth type")
|
||||||
|
};
|
||||||
|
sess.userauth_pubkey_file(username, None, path, passphrase.as_deref())
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
if let Err(e) = auth_success{
|
||||||
|
return format_json_error(&e.to_string());
|
||||||
|
};
|
||||||
|
|
||||||
|
if !sess.authenticated(){
|
||||||
|
return format_json_error("Authentication failed with no errors");
|
||||||
|
}
|
||||||
|
|
||||||
|
self.inner = Some(sess);
|
||||||
|
|
||||||
|
json!({"result": true}).to_string()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_field_ptr(&self, index: usize) -> *const dyn getset::ValueType {
|
||||||
|
match index {
|
||||||
|
_ => panic!("Index out of bounds"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn get_field_ptr_mut(&mut self, index: usize) -> *mut dyn getset::ValueType { self.get_field_ptr(index) as *mut _ }
|
||||||
|
}
|
||||||
|
// -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
pub fn format_json_error(error: &str) -> String {
|
||||||
|
json!({"result": false, "error": error}).to_string()
|
||||||
|
}
|
||||||
|
|
||||||
|
// УНИЧТОЖЕНИЕ ОБЪЕКТА -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Обработка удаления объекта
|
||||||
|
impl Drop for AddIn {
|
||||||
|
fn drop(&mut self) {}
|
||||||
|
}
|
35
src/addins/ssh/src/component/ssh_conf.rs
Normal file
35
src/addins/ssh/src/component/ssh_conf.rs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
use std::path::PathBuf;
|
||||||
|
use serde_json::{json, Value};
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub enum SshAuthTypes{
|
||||||
|
#[serde(rename = "password")]
|
||||||
|
Password,
|
||||||
|
#[serde(rename = "private_key")]
|
||||||
|
PrivateKey,
|
||||||
|
#[serde(rename = "agent")]
|
||||||
|
Agent
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub struct SshConf{
|
||||||
|
pub host: String,
|
||||||
|
pub port: i64,
|
||||||
|
pub auth_type: SshAuthTypes,
|
||||||
|
pub username: String,
|
||||||
|
pub password: Option<String>,
|
||||||
|
pub key_path: Option<String>,
|
||||||
|
pub passphrase: Option<String>,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
impl SshConf {
|
||||||
|
pub fn from_sting(conf: &str) -> Result<SshConf, String> {
|
||||||
|
serde_json::from_str(conf).unwrap_or_else(|e| Err(e.to_string()))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn to_string(&self) -> String {
|
||||||
|
json!({"result": true, "data": &self}).to_string()
|
||||||
|
}
|
||||||
|
}
|
78
src/addins/ssh/src/core/getset.rs
Normal file
78
src/addins/ssh/src/core/getset.rs
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
use addin1c::{Variant, Tm};
|
||||||
|
|
||||||
|
|
||||||
|
pub trait ValueType {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool;
|
||||||
|
fn set_value(&mut self, val: &Variant);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для i32
|
||||||
|
impl ValueType for i32 {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
val.set_i32(*self);
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_i32().unwrap_or(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для f64
|
||||||
|
impl ValueType for f64 {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
val.set_f64(*self);
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_f64().unwrap_or(0.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для bool
|
||||||
|
impl ValueType for bool {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
val.set_bool(*self);
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_bool().unwrap_or(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для tm
|
||||||
|
impl ValueType for Tm {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
val.set_date(*self);
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_date().unwrap_or(Tm::default());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для String
|
||||||
|
impl ValueType for String {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
let s: Vec<u16> = self.encode_utf16().collect();
|
||||||
|
val.set_str1c(s.as_slice()).is_ok()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_string().unwrap_or("".to_string());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Реализация для Vec<u8>
|
||||||
|
impl ValueType for Vec<u8> {
|
||||||
|
fn get_value(&self, val: &mut Variant) -> bool {
|
||||||
|
val.set_blob(self.as_slice()).is_ok()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn set_value(&mut self, val: &Variant) {
|
||||||
|
*self = val.get_blob().unwrap_or(&[]).to_vec()
|
||||||
|
}
|
||||||
|
}
|
53
src/addins/ssh/src/core/mod.rs
Normal file
53
src/addins/ssh/src/core/mod.rs
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
pub mod getset;
|
||||||
|
|
||||||
|
use addin1c::{name, RawAddin, Variant};
|
||||||
|
|
||||||
|
use crate::component::METHODS;
|
||||||
|
use crate::component::PROPS;
|
||||||
|
use crate::component::get_params_amount;
|
||||||
|
use crate::component::cal_func;
|
||||||
|
use crate::component::AddIn;
|
||||||
|
|
||||||
|
// Определение класса
|
||||||
|
impl RawAddin for AddIn {
|
||||||
|
|
||||||
|
fn register_extension_as(&mut self) -> &'static [u16] {
|
||||||
|
name!("Main")
|
||||||
|
}
|
||||||
|
fn get_n_props(&mut self) -> usize {
|
||||||
|
PROPS.len()
|
||||||
|
}
|
||||||
|
fn find_prop(&mut self, name: &[u16]) -> Option<usize> {
|
||||||
|
PROPS.iter().position(|&x| x == name)
|
||||||
|
}
|
||||||
|
fn get_prop_name(&mut self, num: usize, _alias: usize) -> Option<&'static [u16]> { PROPS.get(num).copied() }
|
||||||
|
fn get_prop_val(&mut self, num: usize, val: &mut Variant) -> bool {let field: &dyn getset::ValueType = &self[num]; field.get_value(val) }
|
||||||
|
fn set_prop_val(&mut self, num: usize, val: &Variant) -> bool {let field: &mut dyn getset::ValueType = &mut self[num]; field.set_value(val); true }
|
||||||
|
fn is_prop_readable(&mut self, _num: usize) -> bool { true }
|
||||||
|
fn is_prop_writable(&mut self, _num: usize) -> bool { true }
|
||||||
|
fn get_n_methods(&mut self) -> usize { METHODS.len() }
|
||||||
|
fn find_method(&mut self, name: &[u16]) -> Option<usize> { METHODS.iter().position(|&x| x == name) }
|
||||||
|
fn get_method_name(&mut self, num: usize, _alias: usize) -> Option<&'static [u16]> { METHODS.get(num).copied() }
|
||||||
|
fn get_n_params(&mut self, num: usize) -> usize { get_params_amount(num) }
|
||||||
|
fn get_param_def_value(&mut self, _method_num: usize, _param_num: usize, _value: Variant, ) -> bool { true }
|
||||||
|
fn has_ret_val(&mut self, _num: usize) -> bool { true }
|
||||||
|
fn call_as_proc(&mut self, _num: usize, _params: &mut [Variant]) -> bool { false }
|
||||||
|
fn call_as_func(&mut self, num: usize, params: &mut [Variant], ret_value: &mut Variant, ) -> bool { cal_func(self, num, params).get_value(ret_value) }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::ops::Index<usize> for AddIn {
|
||||||
|
type Output = dyn getset::ValueType;
|
||||||
|
|
||||||
|
fn index(&self, index: usize) -> &Self::Output {
|
||||||
|
unsafe { &*self.get_field_ptr(index) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl std::ops::IndexMut<usize> for AddIn {
|
||||||
|
fn index_mut(&mut self, index: usize) -> &mut Self::Output {
|
||||||
|
unsafe { &mut *self.get_field_ptr_mut(index) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
49
src/addins/ssh/src/lib.rs
Normal file
49
src/addins/ssh/src/lib.rs
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
pub mod component;
|
||||||
|
mod core;
|
||||||
|
|
||||||
|
|
||||||
|
use std::{
|
||||||
|
ffi::{c_int, c_long, c_void},
|
||||||
|
sync::atomic::{AtomicI32, Ordering},
|
||||||
|
};
|
||||||
|
|
||||||
|
use component::AddIn;
|
||||||
|
use addin1c::{create_component, destroy_component, name, AttachType};
|
||||||
|
|
||||||
|
pub static mut PLATFORM_CAPABILITIES: AtomicI32 = AtomicI32::new(-1);
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe extern "C" fn GetClassObject(_name: *const u16, component: *mut *mut c_void) -> c_long {
|
||||||
|
|
||||||
|
let addin = AddIn::new();
|
||||||
|
create_component(component, addin)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
#[no_mangle]
|
||||||
|
pub unsafe extern "C" fn DestroyObject(component: *mut *mut c_void) -> c_long {
|
||||||
|
destroy_component(component)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C" fn GetClassNames() -> *const u16 {
|
||||||
|
// small strings for performance
|
||||||
|
name!("Main").as_ptr()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
#[no_mangle]
|
||||||
|
#[allow(static_mut_refs)]
|
||||||
|
pub unsafe extern "C" fn SetPlatformCapabilities(capabilities: c_int) -> c_int {
|
||||||
|
PLATFORM_CAPABILITIES.store(capabilities, Ordering::Relaxed);
|
||||||
|
3
|
||||||
|
}
|
||||||
|
|
||||||
|
#[allow(non_snake_case)]
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C" fn GetAttachType() -> AttachType {
|
||||||
|
AttachType::Any
|
||||||
|
}
|
98
src/addins/tmpl/Cargo.lock
generated
98
src/addins/tmpl/Cargo.lock
generated
@@ -13,10 +13,89 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "opi_addin"
|
name = "itoa"
|
||||||
|
version = "1.0.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.7.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "opi_ssh"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"addin1c",
|
"addin1c",
|
||||||
|
"serde_json",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.101"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quote"
|
||||||
|
version = "1.0.40"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ryu"
|
||||||
|
version = "1.0.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
|
||||||
|
dependencies = [
|
||||||
|
"serde_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_core"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
|
||||||
|
dependencies = [
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.225"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_json"
|
||||||
|
version = "1.0.145"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
|
||||||
|
dependencies = [
|
||||||
|
"itoa",
|
||||||
|
"memchr",
|
||||||
|
"ryu",
|
||||||
|
"serde",
|
||||||
|
"serde_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -25,6 +104,23 @@ version = "1.13.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "2.0.106"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-ident"
|
||||||
|
version = "1.0.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "utf16_lit"
|
name = "utf16_lit"
|
||||||
version = "2.0.2"
|
version = "2.0.2"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "opi_addin"
|
name = "opi_ssh"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
@@ -7,10 +7,12 @@ edition = "2021"
|
|||||||
crate-type = ["cdylib"]
|
crate-type = ["cdylib"]
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
lto = true # Enable Link Time Optimization
|
lto = "fat" # Enable Link Time Optimization
|
||||||
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
|
codegen-units = 1 # Reduce number of codegen units to increase optimizations.
|
||||||
panic = "abort" # Abort on panic
|
panic = "abort" # Abort on panic
|
||||||
strip = true # Automatically strip symbols from the binary.
|
strip = true # Automatically strip symbols from the binary.
|
||||||
|
opt-level = "z"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
addin1c = "0.5.0"
|
addin1c = "0.5.0"
|
||||||
|
serde_json = "1.0.140"
|
@@ -1,7 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<bundle xmlns='http://v8.1c.ru/8.2/addin/bundle' name='OPIADDIN'>
|
|
||||||
<component os='Windows' path='AddIn_x86_windows.dll' type='native' arch='i386' />
|
|
||||||
<component os='Windows' path='AddIn_x64_windows.dll' type='native' arch='x86_64' />
|
|
||||||
<component os='Linux' path='AddIn_x86_linux.so' type='native' arch='i386' />
|
|
||||||
<component os='Linux' path='AddIn_x64_linux.so' type='native' arch='x86_64' />
|
|
||||||
</bundle>
|
|
12
src/addins/tmpl/dependencies.log
Normal file
12
src/addins/tmpl/dependencies.log
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
"MAIN ---"
|
||||||
|
linux-vdso.so.1 (0x00007ffedc1ce000)
|
||||||
|
libm.so.6 => /lib64/libm.so.6 (0x0000700082000000)
|
||||||
|
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000700081c00000)
|
||||||
|
libc.so.6 => /lib64/libc.so.6 (0x0000700081800000)
|
||||||
|
libdl.so.2 => /lib64/libdl.so.2 (0x0000700081400000)
|
||||||
|
/lib64/ld-linux-x86-64.so.2 (0x0000700082400000)
|
||||||
|
GLIBC_2.2.5
|
||||||
|
GLIBC_2.3
|
||||||
|
GLIBC_2.3.4
|
||||||
|
GLIBC_2.14
|
||||||
|
GLIBC_2.17
|
69
src/addins/tmpl/release.bat
vendored
69
src/addins/tmpl/release.bat
vendored
@@ -1,69 +1,8 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
:: Установить переменную
|
:: Установить переменную
|
||||||
set CARGO_NAME=opi_addin
|
set CARGO_NAME=opi_ssh
|
||||||
set LIB_NAME=OPI_AddIn
|
set LIB_NAME=OPI_SSH
|
||||||
set OPENSSL_DIR=C:\msys64\mingw64
|
set ADDIN_DIR=%~dp0
|
||||||
set OPENSSL_LIB_DIR=%OPENSSL_DIR%\lib
|
|
||||||
set OPENSSL_INCLUDE_DIR=%OPENSSL_DIR%\include
|
|
||||||
|
|
||||||
|
call ../build.bat
|
||||||
:: Перейти в директорию проекта
|
|
||||||
cd /d "%~dp0"
|
|
||||||
|
|
||||||
:: Создать папку для артефактов
|
|
||||||
set OUTPUT_DIR=artifacts
|
|
||||||
if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%"
|
|
||||||
|
|
||||||
:: Сборка для x86_64-pc-windows-msvc
|
|
||||||
cargo build --release --target x86_64-pc-windows-msvc
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
:: Сборка для x86_64-unknown-linux-gnu
|
|
||||||
cargo zigbuild --release --target x86_64-unknown-linux-gnu
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
:: Сборка для i686-pc-windows-msvc
|
|
||||||
cargo build --release --target i686-pc-windows-msvc
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
:: Сборка для i686-unknown-linux-gnu
|
|
||||||
cargo zigbuild --release --target i686-unknown-linux-gnu
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
:: Копирование файлов .dll и .so
|
|
||||||
copy /y target\x86_64-pc-windows-msvc\release\%CARGO_NAME%.dll "%OUTPUT_DIR%\AddIn_x64_windows.dll"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
copy /y target\i686-pc-windows-msvc\release\%CARGO_NAME%.dll "%OUTPUT_DIR%\AddIn_x86_windows.dll"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
copy /y target\x86_64-unknown-linux-gnu\release\lib%CARGO_NAME%.so "%OUTPUT_DIR%\AddIn_x64_linux.so"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
copy /y target\i686-unknown-linux-gnu\release\lib%CARGO_NAME%.so "%OUTPUT_DIR%\AddIn_x86_linux.so"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
copy /y MANIFEST.XML "%OUTPUT_DIR%\MANIFEST.XML"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
:: Архивация
|
|
||||||
powershell -Command "Compress-Archive -Path '%OUTPUT_DIR%\*' -Force -DestinationPath '%LIB_NAME%.zip'"
|
|
||||||
if errorlevel 1 goto :error
|
|
||||||
|
|
||||||
copy /y "%LIB_NAME%.zip" "../../ru/OInt/addins/%LIB_NAME%.zip"
|
|
||||||
copy /y "%LIB_NAME%.zip" "../../en/OInt/addins/%LIB_NAME%.zip"
|
|
||||||
|
|
||||||
copy /y "%LIB_NAME%.zip" "../../ru/OPI/src/CommonTemplates/%LIB_NAME%/Template.addin"
|
|
||||||
copy /y "%LIB_NAME%.zip" "../../en/OPI/src/CommonTemplates/%LIB_NAME%/Template.addin"
|
|
||||||
|
|
||||||
if exist "%OUTPUT_DIR%" (
|
|
||||||
rmdir /S /Q "%OUTPUT_DIR%"
|
|
||||||
)
|
|
||||||
|
|
||||||
@echo Build and packaging completed successfully.
|
|
||||||
exit /b 0
|
|
||||||
|
|
||||||
:error
|
|
||||||
@echo An error occurred during the build or packaging process.
|
|
||||||
exit /b 1
|
|
@@ -1,4 +0,0 @@
|
|||||||
pub fn method1() -> bool {
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
mod methods;
|
mod methods;
|
||||||
|
|
||||||
use addin1c::{name, Variant};
|
use addin1c::{name, Variant};
|
||||||
|
use serde_json::json;
|
||||||
use crate::core::getset;
|
use crate::core::getset;
|
||||||
|
|
||||||
// МЕТОДЫ КОМПОНЕНТЫ -------------------------------------------------------------------------------
|
// МЕТОДЫ КОМПОНЕНТЫ -------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Синонимы
|
// Синонимы
|
||||||
pub const METHODS: &[&[u16]] = &[
|
pub const METHODS: &[&[u16]] = &[
|
||||||
name!("Method1"), // 0
|
name!("Connect"),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -25,7 +25,8 @@ pub fn cal_func(obj: &mut AddIn, num: usize, params: &mut [Variant]) -> Box<dyn
|
|||||||
|
|
||||||
match num {
|
match num {
|
||||||
|
|
||||||
0 => Box::new(methods::method1()),
|
0 => Box::new(obj.initialize()),
|
||||||
|
|
||||||
_ => Box::new(false), // Неверный номер команды
|
_ => Box::new(false), // Неверный номер команды
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,24 +38,25 @@ pub fn cal_func(obj: &mut AddIn, num: usize, params: &mut [Variant]) -> Box<dyn
|
|||||||
|
|
||||||
// Синонимы
|
// Синонимы
|
||||||
pub const PROPS: &[&[u16]] = &[
|
pub const PROPS: &[&[u16]] = &[
|
||||||
name!("Prop1")
|
name!("Database")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
pub struct AddIn {
|
pub struct AddIn {
|
||||||
pub prop1: String,
|
field: String
|
||||||
}
|
}
|
||||||
|
|
||||||
impl AddIn {
|
impl AddIn {
|
||||||
/// Создает новый объект
|
/// Создает новый объект
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
AddIn {
|
AddIn {
|
||||||
prop1: String::new()
|
field: String::new()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_field_ptr(&self, index: usize) -> *const dyn getset::ValueType {
|
pub fn get_field_ptr(&self, index: usize) -> *const dyn getset::ValueType {
|
||||||
match index {
|
match index {
|
||||||
0 => &self.prop1 as &dyn getset::ValueType as *const _,
|
0 => &self.field as &dyn getset::ValueType as *const _,
|
||||||
_ => panic!("Index out of bounds"),
|
_ => panic!("Index out of bounds"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,6 +64,11 @@ impl AddIn {
|
|||||||
}
|
}
|
||||||
// -------------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
pub fn format_json_error(error: &str) -> String {
|
||||||
|
json!({"result": false, "error": error}).to_string()
|
||||||
|
}
|
||||||
|
|
||||||
// УНИЧТОЖЕНИЕ ОБЪЕКТА -----------------------------------------------------------------------------
|
// УНИЧТОЖЕНИЕ ОБЪЕКТА -----------------------------------------------------------------------------
|
||||||
|
|
||||||
// Обработка удаления объекта
|
// Обработка удаления объекта
|
||||||
|
@@ -8,7 +8,6 @@ use crate::component::get_params_amount;
|
|||||||
use crate::component::cal_func;
|
use crate::component::cal_func;
|
||||||
use crate::component::AddIn;
|
use crate::component::AddIn;
|
||||||
|
|
||||||
|
|
||||||
// Определение класса
|
// Определение класса
|
||||||
impl RawAddin for AddIn {
|
impl RawAddin for AddIn {
|
||||||
|
|
||||||
|
@@ -30,12 +30,13 @@ pub unsafe extern "C" fn DestroyObject(component: *mut *mut c_void) -> c_long {
|
|||||||
#[allow(non_snake_case)]
|
#[allow(non_snake_case)]
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C" fn GetClassNames() -> *const u16 {
|
pub extern "C" fn GetClassNames() -> *const u16 {
|
||||||
|
// small strings for performance
|
||||||
name!("Main").as_ptr()
|
name!("Main").as_ptr()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(non_snake_case)]
|
#[allow(non_snake_case)]
|
||||||
#[allow(static_mut_refs)]
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
|
#[allow(static_mut_refs)]
|
||||||
pub unsafe extern "C" fn SetPlatformCapabilities(capabilities: c_int) -> c_int {
|
pub unsafe extern "C" fn SetPlatformCapabilities(capabilities: c_int) -> c_int {
|
||||||
PLATFORM_CAPABILITIES.store(capabilities, Ordering::Relaxed);
|
PLATFORM_CAPABILITIES.store(capabilities, Ordering::Relaxed);
|
||||||
3
|
3
|
||||||
|
2
src/en/OInt/packagedef
vendored
2
src/en/OInt/packagedef
vendored
@@ -1,5 +1,5 @@
|
|||||||
Описание.Имя("oint")
|
Описание.Имя("oint")
|
||||||
.Версия("1.27.0")
|
.Версия("1.28.0")
|
||||||
.Автор("bayselonarrend")
|
.Автор("bayselonarrend")
|
||||||
.АдресАвтора("bayselonarrend@gmail.com")
|
.АдресАвтора("bayselonarrend@gmail.com")
|
||||||
.Описание("Открытый пакет интеграций с популярными API")
|
.Описание("Открытый пакет интеграций с популярными API")
|
||||||
|
@@ -1019,7 +1019,7 @@ Function ThisIsCollection(Val Value, Val KeyValue = False) Export
|
|||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function OPIVersion() Export
|
Function OPIVersion() Export
|
||||||
Return "1.27.0";
|
Return "1.28.0";
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function OPILanguage() Export
|
Function OPILanguage() Export
|
||||||
|
@@ -1019,7 +1019,7 @@ Function ThisIsCollection(Val Value, Val KeyValue = False) Export
|
|||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function OPIVersion() Export
|
Function OPIVersion() Export
|
||||||
Return "1.27.0";
|
Return "1.28.0";
|
||||||
EndFunction
|
EndFunction
|
||||||
|
|
||||||
Function OPILanguage() Export
|
Function OPILanguage() Export
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>English</scriptVariant>
|
<scriptVariant>English</scriptVariant>
|
||||||
<vendor>Bayselonarrend</vendor>
|
<vendor>Bayselonarrend</vendor>
|
||||||
<version>1.27.0</version>
|
<version>1.28.0</version>
|
||||||
<detailedInformation>
|
<detailedInformation>
|
||||||
<key>en</key>
|
<key>en</key>
|
||||||
<value>The Open Integration Package is a set of libraries for integrating with some popular APIs for 1C:Enterprise. It consists of common modules, each responsible for its own API, as well as several shared tool modules..</value>
|
<value>The Open Integration Package is a set of libraries for integrating with some popular APIs for 1C:Enterprise. It consists of common modules, each responsible for its own API, as well as several shared tool modules..</value>
|
||||||
|
@@ -9,7 +9,7 @@ Var PackagesDirectory;
|
|||||||
|
|
||||||
Procedure OnObjectCreate()
|
Procedure OnObjectCreate()
|
||||||
|
|
||||||
Version = "1.27.0";
|
Version = "1.28.0";
|
||||||
InitializeCommonLists();
|
InitializeCommonLists();
|
||||||
|
|
||||||
CurrentDirectory = CurrentScript().Path;
|
CurrentDirectory = CurrentScript().Path;
|
||||||
|
2
src/en/cli/packagedef
vendored
2
src/en/cli/packagedef
vendored
@@ -1,5 +1,5 @@
|
|||||||
Описание.Имя("oint-cli")
|
Описание.Имя("oint-cli")
|
||||||
.Версия("1.27.0")
|
.Версия("1.28.0")
|
||||||
.Автор("bayselonarrend")
|
.Автор("bayselonarrend")
|
||||||
.АдресАвтора("bayselonarrend@gmail.com")
|
.АдресАвтора("bayselonarrend@gmail.com")
|
||||||
.Описание("OpenIntegrations-based CLI tool")
|
.Описание("OpenIntegrations-based CLI tool")
|
||||||
|
2
src/ru/OInt/packagedef
vendored
2
src/ru/OInt/packagedef
vendored
@@ -1,5 +1,5 @@
|
|||||||
Описание.Имя("oint")
|
Описание.Имя("oint")
|
||||||
.Версия("1.27.0")
|
.Версия("1.28.0")
|
||||||
.Автор("bayselonarrend")
|
.Автор("bayselonarrend")
|
||||||
.АдресАвтора("bayselonarrend@gmail.com")
|
.АдресАвтора("bayselonarrend@gmail.com")
|
||||||
.Описание("Открытый пакет интеграций с популярными API")
|
.Описание("Открытый пакет интеграций с популярными API")
|
||||||
|
@@ -1019,7 +1019,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ВерсияОПИ() Экспорт
|
Функция ВерсияОПИ() Экспорт
|
||||||
Возврат "1.27.0";
|
Возврат "1.28.0";
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЯзыкОПИ() Экспорт
|
Функция ЯзыкОПИ() Экспорт
|
||||||
|
@@ -1019,7 +1019,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ВерсияОПИ() Экспорт
|
Функция ВерсияОПИ() Экспорт
|
||||||
Возврат "1.27.0";
|
Возврат "1.28.0";
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЯзыкОПИ() Экспорт
|
Функция ЯзыкОПИ() Экспорт
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
<usePurposes>PersonalComputer</usePurposes>
|
<usePurposes>PersonalComputer</usePurposes>
|
||||||
<scriptVariant>Russian</scriptVariant>
|
<scriptVariant>Russian</scriptVariant>
|
||||||
<vendor>Bayselonarrend</vendor>
|
<vendor>Bayselonarrend</vendor>
|
||||||
<version>1.27.0</version>
|
<version>1.28.0</version>
|
||||||
<detailedInformation>
|
<detailedInformation>
|
||||||
<key>ru</key>
|
<key>ru</key>
|
||||||
<value>Открытый пакет интеграций - набор библиотек для интеграции с некоторыми популярными API для 1C:Enterprise. Он состоит из общих модулей, каждый из которых отвечает за свой API, а также нескольких модулей-инструментов, общих для всех.</value>
|
<value>Открытый пакет интеграций - набор библиотек для интеграции с некоторыми популярными API для 1C:Enterprise. Он состоит из общих модулей, каждый из которых отвечает за свой API, а также нескольких модулей-инструментов, общих для всех.</value>
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Процедура ПриСозданииОбъекта()
|
Процедура ПриСозданииОбъекта()
|
||||||
|
|
||||||
Версия = "1.27.0";
|
Версия = "1.28.0";
|
||||||
ИнициализироватьОсновныеСписки();
|
ИнициализироватьОсновныеСписки();
|
||||||
|
|
||||||
ТекущийКаталог = ТекущийСценарий().Каталог;
|
ТекущийКаталог = ТекущийСценарий().Каталог;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
Описание.Имя("oint-cli")
|
Описание.Имя("oint-cli")
|
||||||
.Версия("1.27.0")
|
.Версия("1.28.0")
|
||||||
.Автор("bayselonarrend")
|
.Автор("bayselonarrend")
|
||||||
.АдресАвтора("bayselonarrend@gmail.com")
|
.АдресАвтора("bayselonarrend@gmail.com")
|
||||||
.Описание("OpenIntegrations-based CLI tool")
|
.Описание("OpenIntegrations-based CLI tool")
|
||||||
|
Reference in New Issue
Block a user