Skip to content

Contributing

Thank you for your interest in contributing to the Godot AdMob Plugin! This guide will help you understand the project structure, build processes, and development workflows.

Project structure

.
├── addon/                              # GDScript addon module
│   ├── build.gradle.kts               # Gradle build configuration
│   ├── config.gradle.kts              # Gradle configuration
│   ├── ?.gradle.kts                   # Any extra Gradle configuration (configured in
│   │                                  # common/config/config.properties) for the plugin goes here
│   ├── build/
│   │   └── output/                    # Generated GDScript code
│   └── src/                           # GDScript templates
├── android/                            # Android platform module
│   ├── build.gradle.kts               # Android build configuration
│   ├── config.gradle.kts              # Android configuration
│   ├── build/
│   │   └── outputs/                   # Generated Android AAR files
│   ├── libs/                          # Godot library for Android (default location; configurable via local.properties)
│   └── src/main/                      # Android source code
├── common/                             # Shared build configuration
│   ├── build.gradle.kts               # Root build configuration
│   ├── config.gradle.kts              # Common configuration
│   ├── gradle.properties              # Gradle properties
│   ├── local.properties               # Local machine config (gitignored)
│   ├── settings.gradle.kts            # Gradle settings
│   ├── build/
│   │   ├── archive/                   # Generated archives
│   │   ├── plugin/                    # Built plugin files
│   │   └── reports/                   # Build reports
│   ├── config/
│   │   ├── config.properties          # Common plugin configuration
│   │   └── mediation.properties       # Ad mediation configuration
│   └── gradle/                        # Gradle wrapper and version catalogs
│       └── libs.versions.toml         # Dependencies and versions
├── demo/                               # Demo application
│   ├── addons/                        # Installed plugin files
│   ├── ios/                           # iOS-specific demo files
│   └── *.gd                           # Demo app scripts
├── ios/                                # iOS platform module
│   ├── src/                           # iOS platform code
│   ├── admob_plugin.xcodeproj/        # Xcode project
│   ├── build/                         # iOS build outputs
│   ├── config/
│   │   ├── config.properties          # iOS configuration
│   │   └── *.gdip                     # Godot iOS plugin config
│   └── godot/                         # Downloaded Godot source (default location; configurable via local.properties)
├── script/                             # Build and utility scripts
│   ├── build.sh                       # Main build script
│   ├── build_ios.sh                   # iOS build script
│   ├── install.sh                     # Plugin installation script
│   ├── run_gradle_task.sh             # Gradle task runner
│   └── get_config_property.sh         # Configuration reader
├── docs/                               # Documentation
│   ├── content                        # Documentation site content
│   └── zensical.toml                  # Documentation site configuration
└── release/                            # Final release archives