exercism / ballerina

Exercism exercises in Ballerina.
https://exercism.org/tracks/ballerina
MIT License
7 stars 36 forks source link

Clarify structure of ballerina exercises and dependencies #9

Closed kytrinyx closed 1 year ago

kytrinyx commented 6 years ago

One of the requirements that we enforce is that each directory in the exercises directory needs to be an exercise, and it needs to be self-contained.

For many languages this is simple, where you end up with something like this:

exercises/
├── hello-world
│   ├── README.md
│   ├── hello-world-example.factor
│   ├── hello-world-tests.factor
│   └── hello-world.factor
│   ├── README.md
│   ├── leap-example.factor
│   └── leap-tests.factor
└── two-fer
    ├── README.md
    ├── two-fer-example.factor
    └── two-fer-tests.factor

At other times, we need to account for a deeper directory tree, e.g.:

exercises/
├── accumulate
│   ├── Accumulate.ipkg
│   ├── Makefile
│   ├── README.md
│   └── src
│       ├── Accumulate.idr
│       ├── Example.idr
│       └── Test
│           └── Accumulate.idr
├── leap
│   ├── Leap.ipkg
│   ├── Makefile
│   ├── README.md
│   └── src
│       ├── Example.idr
│       ├── Leap.idr
│       └── Test
│           └── Leap.idr
└── rna-transcription
    ├── Makefile
    ├── README.md
    ├── RnaTranscription.ipkg
    └── src
        ├── Example.idr
        ├── RnaTranscription.idr
        └── Test
            └── RnaTranscription.idr

If we need people to download a single dependency for the entire track, then we will typically describe this as part of the setup for the track (install the language environment, install the test library, download this thing that you'll need, etc).

Currently the ballerina directory structure looks like this:

exercises/
├── hello-world
│   ├── README.md
│   ├── hello_world.bal
│   └── tests
│       └── hello_world_test.bal
├── hello-world-service
│   ├── hello_world_service.bal
│   ├── hello_world_service.client.out
│   ├── hello_world_service.description
│   ├── hello_world_service.server.out
│   └── tests
│       └── hello_world_service_test.bal
└── run_ballerina_tests.sh

Would you walk me through what .ballerina and hello-world-service and run_ballerina_tests.sh are for?

ErikSchierboom commented 1 year ago

I think this is outdated and the current instructions are up-to-date.