:samples-dir: /home/tcagent1/agent/work/64493a816be20d5a/promote-projects/gradle/build/git-checkout/platforms/documentation/docs/build/working/samples/install/structuring-software-projects
:gradle-version: 9.2.0-rc-2

= Structuring Software Projects Sample

[.download]
- link:zips/sample_structuring_software_projects-groovy-dsl.zip[icon:download[] Groovy DSL]
- link:zips/sample_structuring_software_projects-kotlin-dsl.zip[icon:download[] Kotlin DSL]

NOTE: You can open this sample in an link:{userManualPath}/gradle_ides.html#gradle_ides[IDE that supports Gradle].

This sample shows how to structure a software product that consists of multiple components as a set of connected Gradle builds.
As such, it shows how Gradle is used to model a project's architecture and reflect that in the physical structure of the files that make up the software.

The product that is built in this sample is an application that displays link:https://gradle.org/releases/[Gradle Build Tool releases].

There are different ways to work with the sample:

- You may build or import the umbrella build in the root.
  There you can, for example, run the Spring Boot web application via `./gradlew :server-application:app:bootRun` or install the Android app using `./gradlew :android-app:app:installDebug`.
- You may only build or import one of the application builds directly.
  For example, `cd server-application` and run the app using  `../gradlew :app:bootRun`.
- You may only build or import a selected component (and its dependencies).
  For example, only import the `user-feature` build in the IDE.

// TODO:Finalize Upload Removal - Issue #21439
