beamable / BeamableProduct

The beamable product suite including com.beamable, com.beamable.server, microservice base image, portal, the installer, and build scripts
Other
4 stars 0 forks source link

CLI - add new storage from inside the folder of the service dep doesn't add dependency #3419

Closed gabrielbeamable closed 1 month ago

gabrielbeamable commented 1 month ago

If you try to create a new storage running the command inside the folder of the service you want it to be a dependency of, it yields an error when trying to set the dependency.

Steps:

  1. beam project new service <service_name>
  2. cd Test
  3. beam project new storage <storage_name>
  4. select to be the dependency of
  5. observe the error:
2024-05-23 12:12:26.206 -03:00 [DBG] Trying to get option=ConfigDirOption from Env Vars! Value Found=
2024-05-23 12:12:26.274 -03:00 [VRB] Using standard unix docker uri=[unix:/var/run/docker.sock]
2024-05-23 12:12:26.281 -03:00 [VRB] GET call: /basic/beamo/manifest/current
2024-05-23 12:12:26.285 -03:00 [VRB] Calling: Method: GET, RequestUri: 'https://dev.api.beamable.com/basic/beamo/manifest/current', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:
{
}
2024-05-23 12:12:27.419 -03:00 [VRB] RESULT: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Date: Thu, 23 May 2024 15:12:27 GMT
  Connection: close
  Access-Control-Allow-Origin: *
  Server: akka-http/10.1.15
  Content-Type: application/json
  Content-Length: 889
}
2024-05-23 12:12:27.448 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/services/Test/Test.csproj]
2024-05-23 12:12:27.494 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/services/Test2/Test2.csproj]
2024-05-23 12:12:27.512 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/Common/services/Common/Common.csproj]
2024-05-23 12:12:27.828 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "service",
    "TargetFramework": "net6.0",
    "OutDir": "bin\\Debug/net6.0/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:27.828 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "service",
    "TargetFramework": "net6.0",
    "OutDir": "bin\\Debug/net6.0/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:27.828 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "",
    "TargetFramework": "netstandard2.1",
    "OutDir": "bin\\Debug/netstandard2.1/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:27.832 -03:00 [VRB] set beam enabled for service=[Test/services/Test/Test.csproj] prop=[] value=[True]
2024-05-23 12:12:27.832 -03:00 [VRB] set beam enabled for service=[Test/services/Test2/Test2.csproj] prop=[] value=[True]
2024-05-23 12:12:27.846 -03:00 [VRB] app context= {
  "IsDryRun": false,
  "UsePipeOutput": false,
  "ShowRawOutput": false,
  "ShowPrettyOutput": false,
  "DotnetPath": "dotnet",
  "Token": {
    "access_token": "<hidden_token last4=(176b)>",
    "refresh_token": "<hidden_token last4=(82d3)>",
    "expires_at": "2024-05-23T12:15:26.271455-03:00",
    "cid": "1709927373427153",
    "pid": "DE_1709927373427154"
  },
  "Cid": "1709927373427153",
  "Pid": "DE_1709927373427154",
  "Host": "https://dev.api.beamable.com",
  "RefreshToken": "<hidden_token last4=(82d3)>",
  "WorkingDirectory": "/Users/gabrielramos/Projects/QA_CLI_Release/Test",
  "LogLevel": 0
}
2024-05-23 12:12:27.850 -03:00 [VRB] running command=[NewStorageCommand] with parsed arguments {"linkedServices":[],"SlnFilePath":"Dep/Dep.sln","SpecifiedVersion":{"_major":0,"_minor":0,"_patch":123,"_rc":-1,"_nightlyTime":-1,"_isPreview":false,"_isExperimental":true},"Disabled":false,"ServicesBaseFolderPath":null,"ProjectName":{},"AutoInit":false}
2024-05-23 12:12:28.063 -03:00 [INF] Running 'dotnet new sln -n "Dep" -o "/Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep"'
2024-05-23 12:12:28.302 -03:00 [INF] Running 'dotnet new beamstorage -n Dep -o /Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep/services/Dep'
2024-05-23 12:12:33.573 -03:00 [INF] Running 'dotnet sln /Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep/Dep.sln add /Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep/services/Dep'
2024-05-23 12:12:33.837 -03:00 [INF] Running 'dotnet add "/Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep/services/Dep" package Beamable.Microservice.Runtime --version "0.0.123"'
2024-05-23 12:12:34.850 -03:00 [VRB] GET call: /basic/beamo/manifest/current
2024-05-23 12:12:34.850 -03:00 [VRB] Calling: Method: GET, RequestUri: 'https://dev.api.beamable.com/basic/beamo/manifest/current', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:
{
}
2024-05-23 12:12:35.804 -03:00 [VRB] RESULT: StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers:
{
  Date: Thu, 23 May 2024 15:12:36 GMT
  Connection: close
  Access-Control-Allow-Origin: *
  Server: akka-http/10.1.15
  Content-Type: application/json
  Content-Length: 889
}
2024-05-23 12:12:35.809 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/services/Test/Test.csproj]
2024-05-23 12:12:35.856 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/services/Test2/Test2.csproj]
2024-05-23 12:12:35.879 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/Common/services/Common/Common.csproj]
2024-05-23 12:12:35.898 -03:00 [VRB] Found csproj=[/Users/gabrielramos/Projects/QA_CLI_Release/Test/Dep/services/Dep/Dep.csproj]
2024-05-23 12:12:36.155 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "service",
    "TargetFramework": "net6.0",
    "OutDir": "bin\\Debug/net6.0/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:36.180 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "service",
    "TargetFramework": "net6.0",
    "OutDir": "bin\\Debug/net6.0/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:36.199 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "",
    "TargetFramework": "netstandard2.1",
    "OutDir": "bin\\Debug/netstandard2.1/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:36.214 -03:00 [VRB] got json: {
  "Properties": {
    "BeamId": "",
    "BeamEnabled": "",
    "BeamProjectType": "storage",
    "TargetFramework": "net6.0",
    "OutDir": "bin\\Debug/net6.0/"
  },
  "Items": {
    "ProjectReference": []
  }
}

2024-05-23 12:12:36.214 -03:00 [VRB] set beam enabled for service=[Test/services/Test/Test.csproj] prop=[] value=[True]
2024-05-23 12:12:36.214 -03:00 [VRB] set beam enabled for service=[Test/services/Test2/Test2.csproj] prop=[] value=[True]
2024-05-23 12:12:36.215 -03:00 [INF] Registering local project... 'beam services register --id Dep --type EmbeddedMongoDb'
2024-05-23 12:12:48.177 -03:00 [INF] Adding Dep reference to Test. 
cli.CliException: Failed to add project dependency, output of "dotnet add Test/Test/services/Test reference Test/Dep/services/Dep": Could not find project or directory `Test/Test/services/Test`.

   at cli.Services.BeamoLocalSystem.AddProjectDependency(BeamoServiceDefinition project, String relativePath) in /Users/gabrielramos/Projects/BeamableProduct/cli/cli/Services/BeamoLocalSystem.cs:line 252
   at cli.Commands.Project.NewStorageCommand.Handle(NewStorageCommandArgs args) in /Users/gabrielramos/Projects/BeamableProduct/cli/cli/Commands/Project/NewStorageCommand.cs:line 67
   at cli.DependencyInjectionExtensions.<>c__DisplayClass3_0`3.<<AddSubCommandWithHandler>b__1>d.MoveNext() in /Users/gabrielramos/Projects/BeamableProduct/cli/cli/DependencyInjectionExtensions.cs:line 78
--- End of stack trace from previous location ---
   at System.CommandLine.Invocation.AnonymousCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<AddMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__18_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__18_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__5_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<<UseExceptionHandler>b__0>d.MoveNext()
cdhanna commented 1 month ago

I think this may be caused by the lack of the --sln flag? Try providing the --sln flag when you create the storage

cdhanna commented 1 month ago

nope, this is still a bug