:link_attrs:

ifndef::yarn_base_appmain[:yarn_base_appmain: appmain]
ifndef::yarn_base_container[:yarn_base_container: container]
ifndef::yarn_base_client[:yarn_base_client: client]
ifndef::yarn_base_dist[:yarn_base_dist: dist]

=== Create the directory structure

In a project directory of your choosing, create the following
subdirectory structure:

[subs="attributes"]
```
├── {yarn_base_appmain}
│   └── src
│       └── main
│           ├── resources
│           └── java
│               └── hello
│                   └── appmain
├── {yarn_base_container}
│   └── src
│       └── main
│           ├── resources
│           └── java
│               └── hello
│                   └── container
├── {yarn_base_client}
│   └── src
│       └── main
│           ├── resources
│           └── java
│               └── hello
│                   └── client
└── {yarn_base_dist}
    └── src
        └── test
            └── java
                └── hello
```

for example, with

[subs="attributes"]
```
mkdir -p {yarn_base_appmain}/src/main/resources
mkdir -p {yarn_base_appmain}/src/main/java/hello/appmain
mkdir -p {yarn_base_container}/src/main/resources
mkdir -p {yarn_base_container}/src/main/java/hello/container
mkdir -p {yarn_base_client}/src/main/resources
mkdir -p {yarn_base_client}/src/main/java/hello/client
mkdir -p {yarn_base_dist}/src/test/java/hello
```
on *nix systems:

