Skip to content

Repository Reorganization #192

Description

Summary

The repository structure should be reorganized to better reflect the current state of the project and to clearly separate Rust and C++ components. This change will improve maintainability, reduce onboarding confusion, and align folder and solution naming with their actual responsibilities.

Motivation

The repository has evolved beyond its original layout, but the current structure and solution names no longer accurately describe what each component represents. In particular:

  • Rust and C++ code are interleaved at the top level.
  • Solution names do not clearly reflect their purpose or scope.
  • New contributors may find it difficult to understand where to add or modify code.

Proposed Changes

Language-Based Top-Level Structure

Reorganize the repository to group code by language:

  • /rust — all Rust-related code
  • /cpp — all C++-related code

C++ Solution and Folder Renaming

  • The existing VbsEnclaveTooling solution primarily builds the edlcodegen executable.
    • Rename the solution to edlcodegen.
    • Move its source code and dependencies under:
  • The current vbs_enclave_implementation_library solution represents the enclave SDK as a whole.
    • Rename this solution to vbs_enclave_sdk.
    • No namespace changes are required; existing namespaces can remain unchanged.

This reorganization will require updating references in:

  • .vcxproj and .sln files
  • Build scripts
  • CI/CD pipeline templates

While this touches several areas, the changes should be largely a structural refactor only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Future RequestFor new features that could be added in the futureInfrastructureFor anything related to infrastructure, e.g build pipelines, test pipelines, symbol publishing etc.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions