lumo.properties file is the main configuration file for the Lumo UI plugin. It must be located in the root directory of your project and contains essential settings for the plugin to function correctly.
File Location
The configuration file must be namedlumo.properties and placed in your project’s root directory:
Configuration Properties
ThemeName
The name of your theme object. This will be used as the name for the generated theme composable.Example:
AppTheme, MyAppTheme, CustomThemeValidation: Must be a valid Kotlin identifier.ComponentsDir
The relative path from the project root to the directory where UI components will be generated.Important: This path must match the package structure defined in
PackageName.Validation Rules:- Directory must exist
- Path must align with the package name structure
- Use forward slashes (/) for path separators
PackageName
The Kotlin package name for the generated UI components.Important: The package name must correspond to the directory structure specified in
ComponentsDir.Validation Rules:- Must be a valid Kotlin package name
- Must match the directory structure in
ComponentsDir - Uses dot (.) separators
KotlinMultiplatform
Set to
true if your project uses Kotlin Multiplatform. This affects how the plugin generates components.Values: true or falseNote: This property is optional and defaults to false if not specified.Example Configurations
Validation Rules
The Lumo UI plugin validates your configuration to ensure everything is set up correctly:Directory Existence
The directory specified inComponentsDir must exist before running the plugin:
Package and Directory Alignment
The plugin validates that yourComponentsDir matches your PackageName. The directory structure must reflect the package hierarchy:
Example:
- PackageName:
com.example.myapp.ui - ComponentsDir: Must end with
com/example/myapp/ui
app/src/main/java/com/example/myapp/ui✓shared/src/commonMain/kotlin/com/example/myapp/ui✓
app/src/main/java/com/example/ui✗ (doesn’t match package)app/src/main/java/✗ (incomplete path)
Required Properties
All of the following properties are required:ThemeNameComponentsDirPackageName
Creating the Configuration File
You can create the configuration file manually or use the plugin’s initialization command:lumo.properties file with placeholder values that you need to update:
Troubleshooting
Error: Plugin is not setup
If you see this error, thelumo.properties file doesn’t exist in your project root. Run:
Error: Missing required configs
This means one or more required properties are missing from your configuration file. Ensure all required properties are present:ThemeNameComponentsDirPackageName
Error: Components directory does not exist
The directory specified inComponentsDir must exist. Create it using:
Warning: Directory and package name do not match
This warning indicates that yourComponentsDir path doesn’t align with your PackageName. Review the Package and Directory Alignment section to fix this.
Next Steps
Theme Customization
Learn how to customize colors, typography, and theme settings
Directory Structure
Understand the expected directory structure for your components