Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,14 @@ Then, you can use the versions.yaml in the `generate-project` command:
- `--develocity-url`: Specify Develocity URL
- `--versions-file`: Path to a custom YAML file with dependency versions
- `--project-name`: Name of the project
- `--output-dir`: Output directory for the generated project. For `kts` and `groovy`, files are written directly there. For `both`, `project_kts` and `project_groovy` subdirectories are created inside it.
- `--room-database`: Enable Room database generation (default: false). Only for Android projects.
- `--android-kotlin-multiplatform-library`: For Android projects, generate Android library modules with `com.android.kotlin.multiplatform.library` instead of `com.android.library` (default: false).

Android projects use the default AGP version from `Versions()` unless you override it in `--versions-file`.

By default, projects are generated under `projects_generated/<projectName>/project_kts` or `project_groovy`. When `--output-dir` is provided, single-language projects are written directly to that directory.

#### Example: Generate a project with custom options
```bash
./projectGenerator generate-project --shape rhombus --modules 50 --layers 4 --language both --type jvm --classesModule 10 --classesModuleType random --typeOfStringResources large --generateUnitTest --gradle gradle_8_9 --develocity --versionsFile ./my_versions.yaml
Expand All @@ -75,7 +78,7 @@ ProjectGenerator(
layers = 5,
generateUnitTest = true,
gradle = GradleWrapper(Gradle.GRADLE_9_3_1),
path = file.path
projectRootPath = file.path
).write()

```
Expand Down Expand Up @@ -121,6 +124,17 @@ Two projects will be generated using Kotlin DSL and Groovy
```kotlin
./projectGenerator generate-project --shape triangle --layers 5 --modules 100 --language groovy
```

## `output-dir`
Optional output directory for the generated project.

- For `--language kts` and `--language groovy`, project files are written directly into the provided directory.
- For `--language both`, two subdirectories are created inside the provided directory: `project_kts` and `project_groovy`.

##### Example
```kotlin
./projectGenerator generate-project --modules 100 --output-dir .
```
## `type`
Type of project generated:
### `android`
Expand Down Expand Up @@ -202,6 +216,7 @@ Gradle used, versions supported:
## Versions
Example output versions.yaml:
```yaml
gradle: GRADLE_9_4_0
project:
develocity: 4.1
jdk: 23
Expand Down
Loading