Skip to content

DEV, Build from Scratch

Tamás Kőhegyi edited this page Jun 7, 2021 · 29 revisions

Building the project from scratch

In case you have a brand new snapshot from the product, and you would like to recreate the product from scratch, the following steps should be done. Use latest OpenJdk 13 during the compilation.

WARNING! In case you are an end user, and not a Wilma developer, most probably you don't need to build the product at all, simply use its released versions. If you have any problem, just open an Issue in github.

NOTE3: You may investigate README.txt file in config/environment folder of the repository to get info on how we actually build and test the official version of Wilma.

Optional Build Step: Using Build Number

By default all module will get build number = SNAPSHOT, like wilma-2.0.SNAPSHOT.jar. In case you would like to distinguish between your builds, just add buildNumber parameter to the build command. Example parameter usage for Jenkins jobs:

-PbuildNumber=${BUILD_NUMBER}

Building Wilma

Execute the following command:

./gradlew clean build release

After a successful build, you will find

  • Wilma Application zip in folder wilma-application/build/distributions, and
  • Wilma Message Search Application zip in folder wilma-message-search/build/distributions.

You may extract the zips to somewhere, and start it as it is extracted there, by executing the following command:

(Optional:) Wilma Message Search Application:

(patch to java in JDK not in JRE!) java -jar wilma-message-search-2.0.SNAPSHOT.jar message.search.conf.properties 

Access to its UI: http://localhost:9093/

Wilma Application:

java -jar wilma-2.0.SNAPSHOT.jar wilma.conf.properties 

Access to its UI: http://localhost:1234/index/

NOTE: Wilma Message Search is a support tool of Wilma, it is not necessary to run, but if you would like to, please remember, that the Message Search Application must be started before Wilma.

What else have been built

  • wilma-service-api - This module is separated from Wilma, and can be used in other components/applications those would like to communicate with Wilma effectively. The pre-built official module itself is available in MavenCentral.
  • wilma-test-server & ilma-test-client - These modules are separated from Wilma. The Test Client and the Test Server together are used for performance tests, and in addition, the Test Server is used for integration/functional tests (see next section). After build, you should find the just compiled jars in wilma-test/wilma-test-client/build/lib and wilma-test/wilma-test-server/build/lib folders.
  • wilma-extras - A bunch of additional example plugins for Wilma.
  • wilma-functionaltest - To execute Wilma functional tests properly, you need Wilma Application and Wilma Test Server running with their default settings on a single machine, and execute the following commands (note, that if you altered the wilma-service-api build, you may change the build script of the wilma-functionaltest as well): ./gradlew runFunctionalTest All tests must be green (you may get the results by opening wilma-functionaltest\build\gepard-result\html\index.html). Running everything using localhost, one of the tests may become not applicable, others still must stay green. If you get any other results, either your test environment setup is not perfect, or you made not really perfect changes on the files.

Optional Build Step: Building .NET Wilma-Service-API for Wilma

This module is separated from Wilma, and can be used in other components/applications those would like to communicate with Wilma effectively. The pre-built official module itself is available at NuGet.

You may build the module by using Windows machine and compile it with Visual Studio Community edition 2019.

Clone this wiki locally