The test automation application for Asset Control that I am currently working on uses Vaadin for its GUI. I started development with version 13. Just recently Vaadin 14 (LTS) has been released and initially I just used the compatibility mode to move to version 14 without making any actual changes.
Of course, that was only temporary.
Today I upgraded properly following Vaadin’s migration guide.
There is one thing that I ran into. And I am totally at fault. So, should anyone else try to migrate to Vaadin 14 and they use the Spring Boot setup with embedded Tomcat and get an error that Tomcat cannot be started, let me tell you to check your spring-boot-starter-parent version and ensure you are on 2.1.0.RELEASE or above. I wasn’t! And using the correct version fixed the Tomcat problem for me.
To Vaadin’s credit they do mention this in the migration guide. Just make sure to follow it.
Addendum
I should also say that I am using GitLab for source control and CI/CD of that same project. With the move to Vaadin 14 comes the requirement for having Nodejs/npm.
My original .gitlab-ci.yml
was making use of the docker image maven:3.3.9-jdk-8 for its runner, but now I needed an alternative with both maven and npm. My solution was to use https://github.com/cschockaert/docker-npm-maven. Kudos!
And my .gitlab-ci.yml
now looks like this:
image: cschockaert/docker-npm-maven:latest
stages:
- build
- test
variables:
MAVEN_CLI_OPTS: "--batch-mode"
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
cache:
paths:
- .m2/repository/
- target/
build:
stage: build
script:
- mvn $MAVEN_CLI_OPTS compile
test:
stage: test
script:
- mvn $MAVEN_CLI_OPTS test