You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2021/01/28 08:59:50 UTC
[cloudstack] branch 4.15 updated: packaging: build and bundle UI
using npm in deb and rpm packages (#4605)
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch 4.15
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.15 by this push:
new abec6d1 packaging: build and bundle UI using npm in deb and rpm packages (#4605)
abec6d1 is described below
commit abec6d1fff24e650aeffe626714251a78fd4fdd2
Author: Rohit Yadav <ro...@shapeblue.com>
AuthorDate: Thu Jan 28 14:29:31 2021 +0530
packaging: build and bundle UI using npm in deb and rpm packages (#4605)
This changes deb and rpm packaging to build the UI using npm and bundle
it in the `cloudstack-management` package and a new `cloudstack-ui`
package. The `cloudstack-ui` package will install the UI under
`/usr/share/cloudstack-ui/`. For both packages the config.json will not
be overridden on upgrade and hosted at /etc/cloudstack/management
for the cloudstack-mangement package, and at /etc/cloudstack/ui for the
cloudstack-ui package. The cloudstack-ui package is for advanced users
who only want the UI want to setup reverse proxy (separate hosting of UI).
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
---
INSTALL.md | 6 +++
client/pom.xml | 3 +-
debian/cloudstack-management.install | 1 +
...ck-management.install => cloudstack-ui.install} | 22 +--------
debian/control | 7 ++-
debian/rules | 14 ++++++
packaging/centos7/cloud.spec | 29 +++++++++++
packaging/centos8/cloud.spec | 29 +++++++++++
pom.xml | 56 +++++++++++-----------
tools/travis/before_install.sh | 6 +++
ui/{ => public}/error.html | 0
11 files changed, 123 insertions(+), 50 deletions(-)
diff --git a/INSTALL.md b/INSTALL.md
index 6840626..45173c1 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -28,6 +28,12 @@ Set up Maven (3.6.0):
# echo export PATH=/usr/local/maven/bin:${PATH} >> ~/.bashrc # or .zshrc or .profile
# source ~/.bashrc
+Setup up NodeJS (LTS):
+
+ # curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
+ # sudo yum install nodejs
+ # sudo npm install -g @vue/cli npm-check-updates
+
Start the MySQL service:
$ service mysqld start
diff --git a/client/pom.xml b/client/pom.xml
index 9873499..ba7f755 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -607,7 +607,8 @@
</copy>
<copy todir="${project.build.directory}/classes/META-INF/webapp">
<fileset dir="${basedir}/../ui">
- <exclude name=".*"/>
+ <include name="index.html"/>
+ <include name="legacy/**"/>
</fileset>
</copy>
<copy overwrite="true" todir="${basedir}/target/utilities/bin">
diff --git a/debian/cloudstack-management.install b/debian/cloudstack-management.install
index 289a495..e637541 100644
--- a/debian/cloudstack-management.install
+++ b/debian/cloudstack-management.install
@@ -21,6 +21,7 @@
/etc/cloudstack/management/server.properties
/etc/cloudstack/management/java.security.ciphers
/etc/cloudstack/management/log4j-cloud.xml
+/etc/cloudstack/management/config.json
/etc/default/cloudstack-management
/etc/security/limits.d/cloudstack-limits.conf
/etc/sudoers.d/cloudstack
diff --git a/debian/cloudstack-management.install b/debian/cloudstack-ui.install
similarity index 51%
copy from debian/cloudstack-management.install
copy to debian/cloudstack-ui.install
index 289a495..391c7b5 100644
--- a/debian/cloudstack-management.install
+++ b/debian/cloudstack-ui.install
@@ -15,23 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-/etc/cloudstack/management/ehcache.xml
-/etc/cloudstack/management/db.properties
-/etc/cloudstack/management/environment.properties
-/etc/cloudstack/management/server.properties
-/etc/cloudstack/management/java.security.ciphers
-/etc/cloudstack/management/log4j-cloud.xml
-/etc/default/cloudstack-management
-/etc/security/limits.d/cloudstack-limits.conf
-/etc/sudoers.d/cloudstack
-/var/cache/cloudstack/management
-/var/log/cloudstack/management
-/var/lib/cloudstack/mnt
-/var/lib/cloudstack/management
-/usr/bin/cloudstack-update-xenserver-licenses
-/usr/bin/cloudstack-setup-management
-/usr/bin/cloudstack-setup-databases
-/usr/bin/cloudstack-migrate-databases
-/usr/bin/cloudstack-setup-encryption
-/usr/bin/cloudstack-sysvmadm
-/usr/share/cloudstack-management/*
+/etc/cloudstack/ui/config.json
+/usr/share/cloudstack-ui/*
diff --git a/debian/control b/debian/control
index 15467dc..15d3fb5 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: libs
Priority: extra
Maintainer: Wido den Hollander <wi...@widodh.nl>
Build-Depends: debhelper (>= 9), openjdk-11-jdk | java11-sdk | java11-jdk | zulu-11, genisoimage,
- python-mysql.connector | python3-mysql.connector, maven (>= 3) | maven3, python (>= 2.7), python3 (>= 3), lsb-release, dh-systemd, python-setuptools
+ python-mysql.connector | python3-mysql.connector, maven (>= 3) | maven3, python (>= 2.7), python3 (>= 3), nodejs (>= 12), lsb-release, dh-systemd, python-setuptools
Standards-Version: 3.8.1
Homepage: http://www.cloudstack.org/
@@ -37,6 +37,11 @@ Description: CloudStack usage monitor
The CloudStack usage monitor provides usage accounting across the entire cloud for
cloud operators to charge based on usage parameters.
+Package: cloudstack-ui
+Architecture: all
+Depends: ${misc:Depends}
+Description: The CloudStack UI
+
Package: cloudstack-docs
Architecture: all
Depends: ${misc:Depends}
diff --git a/debian/rules b/debian/rules
index 9c4e582..de45255 100755
--- a/debian/rules
+++ b/debian/rules
@@ -93,6 +93,20 @@ override_dh_auto_install:
install -m0644 packaging/systemd/$(PACKAGE)-management.service debian/$(PACKAGE)-management/lib/systemd/system/$(PACKAGE)-management.service
install -m0644 packaging/systemd/$(PACKAGE)-management.default $(DESTDIR)/$(SYSCONFDIR)/default/$(PACKAGE)-management
+ # cloudstack-ui
+ mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/ui
+ mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-ui
+ cd ui && npm install && npm run build && cd ..
+ cp -r ui/dist/config.json $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/ui/
+ cp -r ui/dist/* $(DESTDIR)/usr/share/$(PACKAGE)-ui/
+ rm -f $(DESTDIR)/usr/share/$(PACKAGE)-ui/config.json
+ ln -s /$(SYSCONFDIR)/$(PACKAGE)/ui/config.json $(DESTDIR)/usr/share/$(PACKAGE)-ui/config.json
+ # copy ui to cloudstack-management
+ cp -r ui/dist/config.json $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/
+ cp -r ui/dist/* $(DESTDIR)/usr/share/$(PACKAGE)-management/webapp/
+ rm -f $(DESTDIR)/usr/share/$(PACKAGE)-management/webapp/config.json
+ ln -s /$(SYSCONFDIR)/$(PACKAGE)/management/config.json $(DESTDIR)/usr/share/$(PACKAGE)-management/webapp/config.json
+
# cloudstack-common
mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-common
mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec
index 366df32..5b0515c 100644
--- a/packaging/centos7/cloud.spec
+++ b/packaging/centos7/cloud.spec
@@ -49,6 +49,7 @@ BuildRequires: mysql-connector-python
BuildRequires: maven => 3.0.0
BuildRequires: python-setuptools
BuildRequires: wget
+BuildRequires: nodejs
%description
CloudStack is a highly-scalable elastic, open source,
@@ -137,6 +138,12 @@ Group: System Environment/Libraries
%description usage
The CloudStack usage calculation service
+%package ui
+Summary: CloudStack UI
+Group: System Environment/Libraries
+%description ui
+The CloudStack UI
+
%package cli
Summary: Apache CloudStack CLI
Provides: python-marvin
@@ -195,6 +202,7 @@ if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then
fi
mvn -Psystemvm,developer $FLAGS clean package
+cd ui && npm install && npm run build && cd ..
%install
[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT}
@@ -255,6 +263,10 @@ cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-
cp -r client/target/cloud-client-ui-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/
cp -r client/target/classes/META-INF/webapp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp
+cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/
+cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
+ln -sf /etc/%{name}/management/config.json ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/cloud-client-ui-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/cloudstack-%{_maventag}.jar
cp client/target/lib/*jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/
@@ -280,6 +292,14 @@ install -D server/target/conf/cloudstack-sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}
touch ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name}-management.pid
#install -D server/target/conf/cloudstack-catalina.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-catalina
+# UI
+mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui
+mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
+cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/
+cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
+ln -sf /etc/%{name}/ui/config.json ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
+
# Package mysql-connector-python
wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel https://files.pythonhosted.org/packages/e9/93/4860cebd5ad3ff2664ad3c966490ccb46e3b88458b2095145bca11727ca4/setuptools-47.3.1-py3-none-any.whl
@@ -355,6 +375,8 @@ install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE
+install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
+install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE
@@ -498,6 +520,7 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
%config(noreplace) %{_sysconfdir}/security/limits.d/cloud
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/server.properties
+%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/config.json
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j.xml
%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties
@@ -560,6 +583,12 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
%{_defaultdocdir}/%{name}-common-%{version}/LICENSE
%{_defaultdocdir}/%{name}-common-%{version}/NOTICE
+%files ui
+%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json
+%attr(0644,root,root) %{_datadir}/%{name}-ui/*
+%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
+%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
+
%files usage
%attr(0644,root,root) %{_unitdir}/%{name}-usage.service
%config(noreplace) %{_sysconfdir}/default/%{name}-usage
diff --git a/packaging/centos8/cloud.spec b/packaging/centos8/cloud.spec
index f893e78..60d86f7 100644
--- a/packaging/centos8/cloud.spec
+++ b/packaging/centos8/cloud.spec
@@ -48,6 +48,7 @@ BuildRequires: /usr/bin/mkisofs
BuildRequires: maven => 3.0.0
BuildRequires: python3-setuptools
BuildRequires: wget
+BuildRequires: nodejs
%description
CloudStack is a highly-scalable elastic, open source,
@@ -132,6 +133,12 @@ Group: System Environment/Libraries
%description usage
The CloudStack usage calculation service
+%package ui
+Summary: CloudStack UI
+Group: System Environment/Libraries
+%description ui
+The CloudStack UI
+
%package cli
Summary: Apache CloudStack CLI
Provides: python-marvin
@@ -192,6 +199,7 @@ if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then
fi
mvn -Psystemvm,developer $FLAGS clean package
+cd ui && npm install && npm run build && cd ..
%install
[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT}
@@ -252,6 +260,10 @@ cp -r client/target/utilities/scripts/db/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-
cp -r client/target/cloud-client-ui-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/
cp -r client/target/classes/META-INF/webapp ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp
+cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/
+cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
+ln -sf /etc/%{name}/management/config.json ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
mv ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/cloud-client-ui-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/cloudstack-%{_maventag}.jar
cp client/target/lib/*jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/
@@ -277,6 +289,14 @@ install -D server/target/conf/cloudstack-sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}
touch ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name}-management.pid
#install -D server/target/conf/cloudstack-catalina.logrotate ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-catalina
+# UI
+mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui
+mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
+cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/
+cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
+rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
+ln -sf /etc/%{name}/ui/config.json ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
+
# Package mysql-connector-python
wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel https://files.pythonhosted.org/packages/e9/93/4860cebd5ad3ff2664ad3c966490ccb46e3b88458b2095145bca11727ca4/setuptools-47.3.1-py3-none-any.whl
@@ -352,6 +372,8 @@ install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE
+install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
+install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE
@@ -495,6 +517,7 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
%config(noreplace) %{_sysconfdir}/security/limits.d/cloud
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/db.properties
%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/server.properties
+%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/management/config.json
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml
%config(noreplace) %{_sysconfdir}/%{name}/management/log4j.xml
%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties
@@ -557,6 +580,12 @@ pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
%{_defaultdocdir}/%{name}-common-%{version}/LICENSE
%{_defaultdocdir}/%{name}-common-%{version}/NOTICE
+%files ui
+%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json
+%attr(0644,root,root) %{_datadir}/%{name}-ui/*
+%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
+%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
+
%files usage
%attr(0644,root,root) %{_unitdir}/%{name}-usage.service
%config(noreplace) %{_sysconfdir}/default/%{name}-usage
diff --git a/pom.xml b/pom.xml
index 72c5356..d2b1182 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,23 +81,23 @@
<cs.logging.version>1.1.1</cs.logging.version>
<!-- Apache Commons versions -->
- <cs.codec.version>1.14</cs.codec.version>
+ <cs.codec.version>1.15</cs.codec.version>
<cs.commons-collections.version>4.4</cs.commons-collections.version>
- <cs.commons-compress.version>1.19</cs.commons-compress.version>
+ <cs.commons-compress.version>1.20</cs.commons-compress.version>
<cs.commons-exec.version>1.3</cs.commons-exec.version>
<cs.commons-fileupload.version>1.4</cs.commons-fileupload.version>
<cs.commons-httpclient.version>3.1</cs.commons-httpclient.version>
- <cs.commons-io.version>2.6</cs.commons-io.version>
- <cs.commons-lang3.version>3.9</cs.commons-lang3.version>
+ <cs.commons-io.version>2.8.0</cs.commons-io.version>
+ <cs.commons-lang3.version>3.11</cs.commons-lang3.version>
<cs.commons-logging.version>1.2</cs.commons-logging.version>
- <cs.commons-net.version>3.6</cs.commons-net.version>
+ <cs.commons-net.version>3.7.2</cs.commons-net.version>
<cs.commons-validator.version>1.6</cs.commons-validator.version>
<cs.configuration.version>1.10</cs.configuration.version>
- <cs.daemon.version>1.2.2</cs.daemon.version>
- <cs.dbcp.version>2.7.0</cs.dbcp.version>
+ <cs.daemon.version>1.2.3</cs.daemon.version>
+ <cs.dbcp.version>2.8.0</cs.dbcp.version>
<cs.discovery.version>0.5</cs.discovery.version>
<cs.lang.version>2.6</cs.lang.version>
- <cs.pool.version>2.7.0</cs.pool.version>
+ <cs.pool.version>2.9.0</cs.pool.version>
<cs.commons-math3.version>3.6.1</cs.commons-math3.version>
<!-- Testing versions -->
@@ -116,45 +116,45 @@
<cs.xercesImpl.version>2.12.0</cs.xercesImpl.version>
<!-- Dependencies versions -->
- <cs.amqp-client.version>5.8.0</cs.amqp-client.version>
+ <cs.amqp-client.version>5.10.0</cs.amqp-client.version>
<cs.apache-cloudstack-java-client.version>1.0.9</cs.apache-cloudstack-java-client.version>
- <cs.aspectjrt.version>1.9.5</cs.aspectjrt.version>
- <cs.aws.sdk.version>1.11.717</cs.aws.sdk.version>
+ <cs.aspectjrt.version>1.9.6</cs.aspectjrt.version>
+ <cs.aws.sdk.version>1.11.940</cs.aws.sdk.version>
<cs.axiom.version>1.2.8</cs.axiom.version>
<cs.axis.version>1.4</cs.axis.version>
- <cs.batik.version>1.12</cs.batik.version>
+ <cs.batik.version>1.14</cs.batik.version>
<cs.bcprov.version>1.64</cs.bcprov.version>
<cs.cglib.version>3.3.0</cs.cglib.version>
<cs.checkstyle-lib.version>8.18</cs.checkstyle-lib.version>
- <cs.cxf.version>3.2.6</cs.cxf.version>
+ <cs.cxf.version>3.2.14</cs.cxf.version>
<cs.ehcache.version>2.6.11</cs.ehcache.version>
<cs.globodns-client.version>0.0.27</cs.globodns-client.version>
- <cs.google-http-client>1.34.2</cs.google-http-client>
+ <cs.google-http-client>1.38.1</cs.google-http-client>
<cs.groovy.version>2.4.17</cs.groovy.version>
<cs.gson.version>1.7.2</cs.gson.version>
- <cs.guava.version>28.2-jre</cs.guava.version>
- <cs.httpclient.version>4.5.11</cs.httpclient.version>
- <cs.httpcore.version>4.4.13</cs.httpcore.version>
- <cs.influxdb-java.version>2.20</cs.influxdb-java.version>
- <cs.jackson.version>2.10.3</cs.jackson.version>
+ <cs.guava.version>30.1-jre</cs.guava.version>
+ <cs.httpclient.version>4.5.13</cs.httpclient.version>
+ <cs.httpcore.version>4.4.14</cs.httpcore.version>
+ <cs.influxdb-java.version>2.21</cs.influxdb-java.version>
+ <cs.jackson.version>2.12.1</cs.jackson.version>
<cs.jasypt.version>1.9.3</cs.jasypt.version>
<cs.java-ipv6.version>0.17</cs.java-ipv6.version>
- <cs.javassist.version>3.26.0-GA</cs.javassist.version>
+ <cs.javassist.version>3.27.0-GA</cs.javassist.version>
<cs.maven-javadoc-plugin.version>3.1.1</cs.maven-javadoc-plugin.version>
<cs.javax.annotation.version>1.3.2</cs.javax.annotation.version>
<cs.jaxb.version>2.3.0</cs.jaxb.version>
<cs.jaxws.version>2.3.2-1</cs.jaxws.version>
<cs.jersey-bundle.version>1.19.4</cs.jersey-bundle.version>
- <cs.jetty.version>9.4.27.v20200227</cs.jetty.version>
+ <cs.jetty.version>9.4.36.v20210114</cs.jetty.version>
<cs.jetty-maven-plugin.version>9.4.27.v20200227</cs.jetty-maven-plugin.version>
<cs.jna.version>5.5.0</cs.jna.version>
- <cs.joda-time.version>2.10.5</cs.joda-time.version>
+ <cs.joda-time.version>2.10.9</cs.joda-time.version>
<cs.jpa.version>2.2.1</cs.jpa.version>
<cs.jsch.version>0.1.55</cs.jsch.version>
<cs.json.version>20090211</cs.json.version>
<cs.jstl.version>1.2</cs.jstl.version>
- <cs.kafka-clients.version>0.11.0.3</cs.kafka-clients.version>
- <cs.libvirt-java.version>0.5.1</cs.libvirt-java.version>
+ <cs.kafka-clients.version>2.7.0</cs.kafka-clients.version>
+ <cs.libvirt-java.version>0.5.2</cs.libvirt-java.version>
<cs.mail.version>1.5.0-b01</cs.mail.version>
<cs.mysql.version>8.0.19</cs.mysql.version>
<cs.neethi.version>2.0.4</cs.neethi.version>
@@ -162,16 +162,16 @@
<cs.opensaml.version>2.6.4</cs.opensaml.version>
<cs.rados-java.version>0.6.0</cs.rados-java.version>
<cs.reflections.version>0.9.12</cs.reflections.version>
- <cs.servicemix.version>3.3.3_1</cs.servicemix.version>
+ <cs.servicemix.version>3.4.4_1</cs.servicemix.version>
<cs.servlet.version>4.0.1</cs.servlet.version>
- <cs.tomcat-embed-core.version>8.5.47</cs.tomcat-embed-core.version>
+ <cs.tomcat-embed-core.version>8.5.61</cs.tomcat-embed-core.version>
<cs.trilead.version>1.0.0-build222</cs.trilead.version>
<cs.vmware.api.version>6.7</cs.vmware.api.version>
<cs.winrm4j.version>0.5.0</cs.winrm4j.version>
<cs.xapi.version>6.2.0-3.1</cs.xapi.version>
<cs.xmlrpc.version>3.1.3</cs.xmlrpc.version>
- <cs.xstream.version>1.4.11.1</cs.xstream.version>
- <org.springframework.version>5.2.3.RELEASE</org.springframework.version>
+ <cs.xstream.version>1.4.15</cs.xstream.version>
+ <org.springframework.version>5.3.3</org.springframework.version>
</properties>
<distributionManagement>
diff --git a/tools/travis/before_install.sh b/tools/travis/before_install.sh
index 86a10a7..f2ecd97 100755
--- a/tools/travis/before_install.sh
+++ b/tools/travis/before_install.sh
@@ -86,6 +86,12 @@ sudo apt-get -q -y -V install freeipmi-common libfreeipmi16 libgcrypt20 libgpg-e
echo -e "\nIPMI version"
ipmitool -V
+curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
+sudo apt-get install -y nodejs
+
+echo -e "\nNode version"
+npm version
+
echo "<settings>
<mirrors>
<mirror>
diff --git a/ui/error.html b/ui/public/error.html
similarity index 100%
rename from ui/error.html
rename to ui/public/error.html