Skip to content

Commit

Permalink
restructure and reorganize the entire solution
Browse files Browse the repository at this point in the history
the idea behind this restructuring is to ensure that the repo is polyrepo-ready even though i know i would never split it

this is partly a prep for worker services which, with this new solution structure, can be kept together with its service equivalent

in the case of the shared library solution, if it's split, would become a nuget package published to nuget or a private package feed created in azure artifacts for example. all the other projects can then reference that nuget package like any other

each solution subfolder can become its own solution in another repo and a visual studio solution can be created for the projects in those folders
  • Loading branch information
ShaylenReddy42 committed Oct 26, 2022
1 parent 7e74066 commit 14c11fb
Show file tree
Hide file tree
Showing 436 changed files with 327 additions and 278 deletions.
7 changes: 5 additions & 2 deletions .pipelines/templates/publishProject.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ parameters:
- name: solutionFolder
type: string

- name: solutionSubfolder
type: string

- name: project
type: string

Expand All @@ -14,12 +17,12 @@ parameters:
steps:
- script: dotnet publish -c ${{ parameters.buildConfiguration }} -r win-x64 --no-self-contained
displayName: 'Publish ${{ parameters.project }}'
workingDirectory: '${{ parameters.workDir }}\${{ parameters.solutionFolder }}\${{ parameters.project }}'
workingDirectory: '${{ parameters.workDir }}\src\${{ parameters.solutionFolder }}\${{ parameters.solutionSubfolder }}\${{ parameters.project }}'

- task: ArchiveFiles@2
displayName: 'Archive ${{ parameters.project }}'
inputs:
rootFolderOrFile: '${{ parameters.workDir }}\${{ parameters.solutionFolder }}\${{ parameters.project }}\publish'
rootFolderOrFile: '${{ parameters.workDir }}\src\${{ parameters.solutionFolder }}\${{ parameters.solutionSubfolder }}\${{ parameters.project }}\publish'
includeRootFolder: false
archiveType: zip
archiveFile: '$(Build.ArtifactStagingDirectory)\${{ parameters.project }}.zip'
51 changes: 30 additions & 21 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,55 +70,64 @@ message(STATUS "File Version: ${FILE_VERSION}")
message(STATUS "Informational Version: ${INFORMATIONAL_VERSION}")
message(STATUS "Commit Url: ${COMMIT_URL}")

#Key: Solution Folder | Solution Subfolder | Project Name | Is Runnable ?

set(
PROJECTS
"SeelansTyres.Frontends.HealthChecksUI"
"SeelansTyres.Frontends.Mvc"
"SeelansTyres.Gateways.MvcBff"
"SeelansTyres.Libraries.Shared"
"SeelansTyres.Services.AddressService"
"SeelansTyres.Services.IdentityService"
"SeelansTyres.Services.OrderService"
"SeelansTyres.Services.TyresService"
"Frontends | HealthChecksUISolution | SeelansTyres.Frontends.HealthChecksUI | Yes"
"Frontends | MvcSolution | SeelansTyres.Frontends.Mvc | Yes"

"Gateways | MvcBffSolution | SeelansTyres.Gateways.MvcBff | Yes"

"Libraries | SharedLibrarySolution | SeelansTyres.Libraries.Shared | No"

"Services | AddressServiceSolution | SeelansTyres.Services.AddressService | Yes"
"Services | IdentityServiceSolution | SeelansTyres.Services.IdentityService | Yes"
"Services | OrderServiceSolution | SeelansTyres.Services.OrderService | Yes"
"Services | TyresServiceSolution | SeelansTyres.Services.TyresService | Yes"
)

set(PUBLISHALL "@ECHO off \n\n")
set(COPY_TEMPLATE "")
set(RUNALL_TEMPLATE "")

foreach(PROJECT IN LISTS PROJECTS)
configure_file(
"${CMAKE_SOURCE_DIR}/cmake/run.cmd.in"
"${CMAKE_SOURCE_DIR}/scripts/run/${PROJECT}.cmd")
string(REPLACE " | " ";" TEMP_LIST ${PROJECT})

string(REPLACE "." ";" TEMP_LIST ${PROJECT})
list(GET TEMP_LIST 0 SOLUTION_FOLDER)
list(GET TEMP_LIST 1 SOLUTION_SUBFOLDER)
list(GET TEMP_LIST 2 PROJECT_NAME)
list(GET TEMP_LIST 3 IS_RUNNABLE)

list(GET TEMP_LIST 1 SOLUTION_FOLDER)
configure_file(
"${CMAKE_SOURCE_DIR}/cmake/run.cmd.in"
"${CMAKE_SOURCE_DIR}/scripts/run/${PROJECT_NAME}.cmd")

configure_file(
"${CMAKE_SOURCE_DIR}/cmake/${PROJECT}.AssemblyInfo.cs.in"
"${CMAKE_SOURCE_DIR}/${SOLUTION_FOLDER}/${PROJECT}/Properties/AssemblyInfo.cs")
"${CMAKE_SOURCE_DIR}/cmake/AssemblyInfo/${PROJECT_NAME}.in"
"${CMAKE_SOURCE_DIR}/src/${SOLUTION_FOLDER}/${SOLUTION_SUBFOLDER}/${PROJECT_NAME}/Properties/AssemblyInfo.cs")

if(NOT SOLUTION_FOLDER STREQUAL "Libraries")
if(IS_RUNNABLE STREQUAL "Yes")
file(READ "${CMAKE_SOURCE_DIR}/cmake/publish-project.in" PUBLISH_PROJECT)
string(REPLACE "@SOLUTION_FOLDER@" "${SOLUTION_FOLDER}" PUBLISH_PROJECT ${PUBLISH_PROJECT})
string(REPLACE "@PROJECT@" "${PROJECT}" PUBLISH_PROJECT ${PUBLISH_PROJECT})
string(REPLACE "@SOLUTION_SUBFOLDER@" "${SOLUTION_SUBFOLDER}" PUBLISH_PROJECT ${PUBLISH_PROJECT})
string(REPLACE "@PROJECT_NAME@" "${PROJECT_NAME}" PUBLISH_PROJECT ${PUBLISH_PROJECT})
string(APPEND PUBLISHALL "${PUBLISH_PROJECT}")

set(COPY_PUBLISH_TEMPLATE "XCOPY /S /Q ${SOLUTION_FOLDER}\\${PROJECT}\\publish\\ publish\\${PROJECT}\\ \nECHO. \n\n")
set(COPY_RUN_TEMPLATE "COPY /V /Y scripts\\run\\${PROJECT}.cmd publish\\${PROJECT}\\run.cmd \nECHO. \n\n")
set(COPY_PUBLISH_TEMPLATE "XCOPY /S /Q src\\${SOLUTION_FOLDER}\\${SOLUTION_SUBFOLDER}\\${PROJECT_NAME}\\publish\\ publish\\${PROJECT_NAME}\\ \nECHO. \n\n")
set(COPY_RUN_TEMPLATE "COPY /V /Y scripts\\run\\${PROJECT_NAME}.cmd publish\\${PROJECT_NAME}\\run.cmd \nECHO. \n\n")

string(APPEND COPY_TEMPLATE ${COPY_PUBLISH_TEMPLATE} ${COPY_RUN_TEMPLATE})

set(RUN_TEMPLATE "START /min CMD /c ${PROJECT}\\run.cmd \n\n")
set(RUN_TEMPLATE "START /min CMD /c ${PROJECT_NAME}\\run.cmd \n\n")

string(APPEND RUNALL_TEMPLATE ${RUN_TEMPLATE})
endif()
endforeach()

configure_file(
"${CMAKE_SOURCE_DIR}/cmake/.env.in"
"${CMAKE_SOURCE_DIR}/.env")
"${CMAKE_SOURCE_DIR}/orchestration/docker-compose/.env")

file(WRITE "${CMAKE_SOURCE_DIR}/scripts/publish-all.cmd" ${PUBLISHALL})

Expand Down
22 changes: 0 additions & 22 deletions Frontends/SeelansTyres.Frontends.HealthChecksUI/Dockerfile

This file was deleted.

85 changes: 0 additions & 85 deletions SeelansTyres.sln

This file was deleted.

22 changes: 0 additions & 22 deletions Services/SeelansTyres.Services.AddressService/Dockerfile

This file was deleted.

22 changes: 0 additions & 22 deletions Services/SeelansTyres.Services.IdentityService/Dockerfile

This file was deleted.

22 changes: 0 additions & 22 deletions Services/SeelansTyres.Services.OrderService/Dockerfile

This file was deleted.

22 changes: 0 additions & 22 deletions Services/SeelansTyres.Services.TyresService/Dockerfile

This file was deleted.

Loading

0 comments on commit 14c11fb

Please sign in to comment.