Skip to main content
Version: Previous

Introduction

Project structures

The Genesis Gradle Settings plugin can create two different project structures: Legacy and Simplified.

Simplified structure

The Genesis Gradle Settings plugin now enables you to create a much simpler project structure. With this new structure, only one module is required as a minimum in the project’s server directory, which is referred to as the "main module".

All the project’s server files can be put in this single module, including configuration files, GPAL scripts and other Java/Kotlin code.

It is not mandatory to put everything in this one module; you can add as many as you like, but there is no longer a requirement to have more than one.

By default, the main module will be detected by a module ending with -app. There is a property in the Settings plugin to specify a custom name which you can read about here.

This is now the recommended structure for new projects, and it is a pre-requisite for any PBC development.

Example

Here is an example project with this structure:

Legacy structure

Before the introduction of the Simplified structure, this was the only structure for Genesis projects. It contains a few more modules than the Simplified structure.

This structure is still fully supported by the platform.

If you want to migrate a project from the Legacy structure to the Simplified structure, you can read about how to do that here.

Example

Here is an example project with this structure: