This page explains how to install modules either from the Etendo Marketplace or by searching for the dependencies on GitHub, taking into account that these can be installed in JAR or Sources format.
1. Dependency resolution
It is important to mention that the dependencies are resolved from GitHub, so you must have the credentials properly configured as explained in the Etendo installation guide. Depending on the level of access your GitHub user has, you have access to packages in public or private repositories.
Along your license, you have access to all packages distributed by Etendo.
2. Search for dependencies
There are two ways to search for and install modules on Etendo:
Install bundles from the Etendo Marketplace: In this case, you will install bundles that include a set of modules grouped by functionality.
- First, go to Etendo Marketplace.
- Search for the bundles that you want to install.
- Click on the bundle to see its details, such as the version, description, and compatibility.
- Check the requirements for the module, such as any dependencies or system configurations needed to run the module.
- Select the format for the installation of the module, Source or JAR, and copy the corresponding dependency. E.g
In case you only need to install one package or a set of packages separately, you can do so by resolving the dependencies from GitHub.
First, you can search within the Etendo Software organization packages section for the necessary javapackage. Or if it is your own repository, search for the packages associated with it.
Exploring the bundles and modules documentation, you find the javapackages of each one. E.g. Banking Pool documentation.
When you select a package, you see the related information, e.g.
You should use this information to include the dependency, in our case in Gradle format.
3. Set dependencies
Based on the modules format you want to work with, you need to specify different configurations.
- In your Etendo project, open the
- In the dependencies area, declare your modules.
If you want to work with source modules, declare your dependencies using the moduleDeps configuration. (notice the @zip extension)
You can declare a specific version (e.g. '1.0.0') or an interval of versions:
[begin, end] - Both versions are included
(begin, end) - Both versions are not included
[begin, ) - From a base version to the latest one
And any other possible combination
Gradle Exclusion Rules
You can make use of Gradle exclusion rules to prevent downloading a specific transitive module. Refer to Gradle documentation
4. Resolve (download) and Install Dependencies
To work with sources, you must expand manually the modules with a Gradle task.
This task will try to download or update the modules declared as moduleDeps in the
A menu is displayed showing the modules that will be expanded, you have to confirm manually to continue with the expansion.
You can manually exclude the expansion of modules adding it in the sourceModulesInDevelopment list.
Transitive dependencies (not declared in the moduleDeps configuration), by default will be extracted, updating or overwriting the source modules if exists. To prevent this behavior, you can set in the plugin extension the flag overwriteTransitiveExpandModules to false.
To expand only a specific module, you can use the
-Ppkg flag and have defined the module in the moduleDeps configuration.
Only the defined module will be updated or installed. Transitive dependencies will not be updated or installed.
To work with JAR modules, you need to resolve the dependencies running
Or run the tasks with the
By default, Etendo does not allow you to add a JAR dependency with an old version to the current installed one. You can ignore this behavior adding the module name to be updated with an old version in the
Finally, update the database and compile the new modules.
Restart the Tomcat
Restart the Tomcat server and check the installation.
The module is ready to use in Etendo!
Installing translation modules
If you want to install translation modules, you have to follow some more steps.The translation modules are installed automatically when you compile the code for the first time. E.g. after running
./gradlew install command to create a new client's instance.
But if you want to update a translation module version, you can execute:
The install.translation task changes the status of the module and the translations is installed on the next run of update.database.
Another option to force the installation of all the translation modules is to add the
forceRefData=true property in the
gradle.properties file and then running: