IntentArchitect / Support

A repository dedicated to handling issues and support queries
3 stars 0 forks source link

New project Relative Output Location is incorrect when adding projects to a solution #3

Closed stephanjohnson closed 1 year ago

stephanjohnson commented 1 year ago

I created a new Clean Architecture project as part of an existing solution. The default Relative Output Location is incorrect and does not correctly separate the resultant output project from the Intent metadata.

Through some testing I discovered that the default project that is created as part of a solution has the correct Relative Output Location, but any subsequent projects have an incorrect Relative Output Location.

Below is the folder structure for a new solution with a default Clean Architecture project template selected. The initial project is called CleanArchitecture. I then added a second Clean Architecture project to the solution called NewApplication.

├───CleanArchitecture
│   ├───CleanArchitecture.Api
│   ├───CleanArchitecture.Application
│   ├───CleanArchitecture.Domain
│   └───CleanArchitecture.Infrastructure
└───intent
    ├───.intent
    ├───CleanArchitecture
    │   ├───.intent
    │   ├───Intent.Metadata
    │   │   ├───Domain
    │   │   ├───Eventing
    │   │   ├───Services
    │   │   └───Visual Studio
    │   └───NewApplication
    │       ├───NewApplication.Api
    │       ├───NewApplication.Application
    │       ├───NewApplication.Domain
    │       └───NewApplication.Infrastructure
    ├───Intent.Metadata
    └───NewApplication
        ├───.intent
        └───Intent.Metadata
            ├───Domain
            ├───Eventing
            ├───Services
            └───Visual Studio

Notice that the CleanArchitecture project has a Relative Output Location that is at the same level as the intent solution folder. The NewApplication project has a Relative Output Location that is inside of the intent solution folder.

image

image

The expected behavior is that the folder structure should follow the below structure:

├───CleanArchitecture
│   ├───CleanArchitecture.Api
│   ├───CleanArchitecture.Application
│   ├───CleanArchitecture.Domain
│   └───CleanArchitecture.Infrastructure
├───NewApplication
│   ├───NewApplication.Api
│   ├───NewApplication.Application
│   ├───NewApplication.Domain
│   └───NewApplication.Infrastructure
└───intent
    ├───.intent
    ├───Intent.Metadata
    ├───CleanArchitecture
    │   ├───.intent
    │   ├───Intent.Metadata
    │   │   ├───Domain
    │   │   ├───Eventing
    │   │   ├───Services
    │   │   └───Visual Studio
    └───NewApplication
        ├───.intent
        └───Intent.Metadata
            ├───Domain
            ├───Eventing
            ├───Services
            └───Visual Studio

I've also noticed this behavior in Intent Architect 3.4.4 when testing to see the correct behavior. I am unsure of when this change happened, because previous solutions that I have created do all follow the expected pattern above.

JonathanLydall commented 1 year ago

Thank you very much for reporting this. For v4 this is fixed as of version 4.0.0-beta.5, for v3 this is fixed as of version 3.4.5.