diff --git a/Makefile b/Makefile index d9eed8a..dc2c436 100644 --- a/Makefile +++ b/Makefile @@ -4,16 +4,66 @@ run: run-lab5: dotnet run --project "lab 5/lab 5.fsproj" +# Lab 5 +run-lab5-hello-world: + dotnet run --project "lab 5/HelloWorld/HelloWorld.fsproj" + +run-lab5-quadratic-equation: + dotnet run --project "lab 5/QuadraticEquation/QuadraticEquation.fsproj" + +run-lab5-circle-cylinder: + dotnet run --project "lab 5/CircleAndCylinder/CircleAndCylinder.fsproj" + +run-lab5-number-operations: + dotnet run --project "lab 5/NumberOperations/NumberOperations.fsproj" + +run-lab5-recursion-types: + dotnet run --project "lab 5/RecursionTypes/RecursionTypes.fsproj" + +run-lab5-function-factory: + dotnet run --project "lab 5/FunctionFactory/FunctionFactory.fsproj" + +run-lab5-number-traversal: + dotnet run --project "lab 5/NumberTraversal/NumberTraversal.fsproj" + +run-lab5-lambda-traversal: + dotnet run --project "lab 5/LambdaTraversal/LambdaTraversal.fsproj" + +run-lab5-conditional-traversal: + dotnet run --project "lab 5/ConditionalTraversal/ConditionalTraversal.fsproj" + +run-lab5-number-examples: + dotnet run --project "lab 5/NumberExamples/NumberExamples.fsproj" + +# Запуск Lab 5 +run-all-lab5: run-lab5-hello-world run-lab5-quadratic-equation run-lab5-circle-cylinder \ + run-lab5-number-operations run-lab5-recursion-types run-lab5-function-factory \ + run-lab5-number-traversal run-lab5-lambda-traversal run-lab5-conditional-traversal \ + run-lab5-number-examples + help: @echo "Доступные команды:" @echo " make run - Запустить проект 'Individual Task 1'" @echo " make run-lab5 - Запустить проект 'lab 5'" + @echo " make run-all-lab5 - Запустить все программы из лабораторной работы 5" @echo " make help - Показать это сообщение" @echo " make docker-build - Собрать Docker образы всех проектов" @echo " make docker-run - Запустить все проекты в Docker" - @echo " make lab5-docker-build - Собрать Docker образ для lab 5" - @echo " make lab5-docker-run - Запустить lab 5 в Docker" + @echo " make lab5-docker-build - Собрать Docker образы всех программ из lab 5" + @echo " make lab5-docker-run - Запустить все программы из lab 5 в Docker" @echo " make ci-local - Запустить CircleCI локально" + @echo "" + @echo "Отдельные программы из лабораторной работы 5:" + @echo " make run-lab5-hello-world - Запустить пример Hello World" + @echo " make run-lab5-quadratic-equation - Запустить решение квадратного уравнения" + @echo " make run-lab5-circle-cylinder - Запустить пример с кругом и цилиндром" + @echo " make run-lab5-number-operations - Запустить пример с операциями над числами" + @echo " make run-lab5-recursion-types - Запустить демонстрацию типов рекурсии" + @echo " make run-lab5-function-factory - Запустить пример фабрики функций" + @echo " make run-lab5-number-traversal - Запустить пример обхода цифр числа" + @echo " make run-lab5-lambda-traversal - Запустить пример с лямбда-выражениями" + @echo " make run-lab5-conditional-traversal - Запустить пример с условным обходом" + @echo " make run-lab5-number-examples - Запустить практические примеры работы с числами" clean: dotnet clean @@ -24,11 +74,49 @@ docker-build: docker-run: docker compose up +# Docker lab 5 lab5-docker-build: - docker compose build lab5 + docker compose build lab5-hello-world lab5-quadratic-equation lab5-circle-and-cylinder \ + lab5-number-operations lab5-recursion-types lab5-function-factory \ + lab5-number-traversal lab5-lambda-traversal lab5-conditional-traversal \ + lab5-number-examples lab5-docker-run: - docker compose up lab5 + docker compose up lab5-hello-world lab5-quadratic-equation lab5-circle-and-cylinder \ + lab5-number-operations lab5-recursion-types lab5-function-factory \ + lab5-number-traversal lab5-lambda-traversal lab5-conditional-traversal \ + lab5-number-examples + +# Docker lab 5 отдельные программы +lab5-hello-world-docker-run: + docker compose up lab5-hello-world + +lab5-quadratic-equation-docker-run: + docker compose up lab5-quadratic-equation + +lab5-circle-cylinder-docker-run: + docker compose up lab5-circle-and-cylinder + +lab5-number-operations-docker-run: + docker compose up lab5-number-operations + +lab5-recursion-types-docker-run: + docker compose up lab5-recursion-types + +lab5-function-factory-docker-run: + docker compose up lab5-function-factory + +lab5-number-traversal-docker-run: + docker compose up lab5-number-traversal + +lab5-lambda-traversal-docker-run: + docker compose up lab5-lambda-traversal + +lab5-conditional-traversal-docker-run: + docker compose up lab5-conditional-traversal + +lab5-number-examples-docker-run: + docker compose up lab5-number-examples ci-local: circleci config validate diff --git a/compose.yaml b/compose.yaml index a184894..5901999 100644 --- a/compose.yaml +++ b/compose.yaml @@ -10,11 +10,92 @@ services: stdin_open: true tty: true - lab5: + lab5-hello-world: build: - context: ./lab 5 - dockerfile: Dockerfile + context: ./lab 5/HelloWorld + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/HelloWorld:/app + stdin_open: true + tty: true + + lab5-quadratic-equation: + build: + context: ./lab 5/QuadraticEquation + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/QuadraticEquation:/app + stdin_open: true + tty: true + + lab5-circle-and-cylinder: + build: + context: ./lab 5/CircleAndCylinder + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/CircleAndCylinder:/app + stdin_open: true + tty: true + + lab5-number-operations: + build: + context: ./lab 5/NumberOperations + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/NumberOperations:/app + stdin_open: true + tty: true + + lab5-recursion-types: + build: + context: ./lab 5/RecursionTypes + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/RecursionTypes:/app + stdin_open: true + tty: true + + lab5-function-factory: + build: + context: ./lab 5/FunctionFactory + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/FunctionFactory:/app + stdin_open: true + tty: true + + lab5-number-traversal: + build: + context: ./lab 5/NumberTraversal + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/NumberTraversal:/app + stdin_open: true + tty: true + + lab5-lambda-traversal: + build: + context: ./lab 5/LambdaTraversal + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/LambdaTraversal:/app + stdin_open: true + tty: true + + lab5-conditional-traversal: + build: + context: ./lab 5/ConditionalTraversal + dockerfile: ../../Individual Task 1/Dockerfile + volumes: + - ./lab 5/ConditionalTraversal:/app + stdin_open: true + tty: true + + lab5-number-examples: + build: + context: ./lab 5/NumberExamples + dockerfile: ../../Individual Task 1/Dockerfile volumes: - - ./lab 5:/app + - ./lab 5/NumberExamples:/app stdin_open: true tty: true \ No newline at end of file