* adding a sample project with plural form of TargetFrameworks for debugging purpose
* add --framework argument to RunCommand
* Pass down "framework" as a BuildProperty if not already defined in the YAML
* Do no throw anymore when multiple TargetFrameworks are found, if one was specified as a BuildProperty
* replicating Signature change on code base (that does not look like a good idea)
* adding comment to be explicit on what this does
* Check that the specified BuildProperties["TargetFramework"] is on of the TargetFrameworks
* add launchSettings for debug
* Create a BuildCommandArguments for the BuildCommand / add a "framework" options to it and move some logic to the CommandHandler (just like the RunCommand)
* add "-f {framework}" to dotnet publish if a TargetFramework BuildProperties exists
* Create a GenerateCommandArguments for the GenerateCommand / add a "framework" options to it and move some logic to the CommandHandler
* Create a PushCommandArguments for the PushCommand / add a "framework" options to it and move some logic to the CommandHandler
* Create a UndeployCommandArguments for the UndeployCommand / add a "framework" options to it and move some logic to the CommandHandler
* Create a DeployCommandArguments for the DeployCommand / add a "framework" options to it and move some logic to the CommandHandler
* framework is now an optional parameter defaulted to null
Co-authored-by: Justin Kotalik <jukotali@microsoft.com>
* Change sample to use LTS only
* Make "framework" argument nullable / optional / defaulted to null
* remove "Force" from "PushCommand" and "PushCommandArguments" if it's not used
* re-use the equivalent message than "dotnet run" on a project with multiple TargetFrameworks
* Create a StandardOptions for Framework
* Remove unused StandardOption.Force and add StandardOption.CreateForce with customizable "description"
* Use StandardOptions.Framework in various commands
* use StandardOptions.Force ni various commands
* Create a new InitCommandArguments and re-use the same OutputContext like the other Commands
* prefer type alias (String.IsNullOrEmpty => string.IsNullOrEmpty), not sure if it was intended
* Adding assets for E2E about multi-targetframeworks that returns the current TargetFramework on every HttpRequest
* Adding test for "tye run" with either buildProperties in the yaml or framework passed directly to ApplicationFactory.CreateAsync
* Add test and testasset project for both TargetFrameworks and TargetFramework
* Always overwrite the TargetFramework if one is specified from the CLI (like dotnet CLi) even if it means it wont build / run etc ....
* Test the ability to override TargetFramework from CLI even if define in csproj or in yaml
* Consistency over ApplicationFactory.CreateAsync in all E2E tests
* rename testasset project to multi-targetframeworks to match generated Dockerfile
* Add E2E for tye build when project uses multi-targetframeworks
* Adding test directly for ApplicationFactory to check that it overrides YAML existing buildProperties
* Adding test to make sure it still throw if there's no explicit TargetFramework or that it is one of the predefined one
* Adding test for ApplicationFactory.CreateAsync with a framework if nothing is set in yaml
* make cli arguments class private
* review: remove extra line
* review: remove 'framework' notion from Undeploy
* Fix project evaluation of multi-targetd projects
* Fixup a few more tests
* Comment updates
* Ensure TFM is only applied for multi-targeting projects
Co-authored-by: Justin Kotalik <jukotali@microsoft.com>
Co-authored-by: John Luo <johluo@microsoft.com>
Fixes: #575
Tye was missing code to set DAPR_HTTP_PORT when launching a project.
This variable is normally set by dapr when using `dapr run ...` to
launch a project. However Tye doesn't use `dapr run ...` so we need to
emulate this behavior.
We already had code to set up DAPR_GRPC_PORT which is used by the
`DaprClient` class. DAPR_HTTP_PORT is used by the actor runtime in
addition to behing available for arbitrary use (as reported in the
issue).
* Update dependencies from https://github.com/dotnet/arcade build 20200917.6
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
From Version 5.0.0-beta.20465.7 -> To Version 5.0.0-beta.20467.6
* Update dependencies from https://github.com/dotnet/arcade build 20200921.1
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
From Version 5.0.0-beta.20465.7 -> To Version 5.0.0-beta.20471.1
* Update dependencies from https://github.com/dotnet/arcade build 20200922.36
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
From Version 5.0.0-beta.20465.7 -> To Version 5.0.0-beta.20472.36
* Update dependencies from https://github.com/dotnet/arcade build 20200924.4
Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild
From Version 5.0.0-beta.20465.7 -> To Version 5.0.0-beta.20474.4
* Fix nullability issues
* Add more debug log
* Parse tfm name
* Mark testing packages as non-shipping
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: John Luo <johluo@microsoft.com>
* Use out-of-proc MSBuild evaluation
This allows for support for new SDKs/TFMs without needing tye to target those TFMs
* Combine restore and metadata evaluation
* Batch process projects
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20426.6 to 5.0.0-beta.20427.5
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20426.6 to 5.0.0-beta.20427.5
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20426.6 to 5.0.0-beta.20427.5
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20426.6 to 5.0.0-beta.20427.5
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20426.6 to 5.0.0-beta.20427.5
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20426.1 to 5.0.0-beta.20426.6
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20426.1 to 5.0.0-beta.20426.6
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20426.1 to 5.0.0-beta.20426.6
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20426.1 to 5.0.0-beta.20426.6
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20426.1 to 5.0.0-beta.20426.6
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20424.23 to 5.0.0-beta.20426.1
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20424.23 to 5.0.0-beta.20426.1
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20424.23 to 5.0.0-beta.20426.1
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20424.23 to 5.0.0-beta.20426.1
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20424.23 to 5.0.0-beta.20426.1
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20419.21 to 5.0.0-beta.20424.23
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20419.21 to 5.0.0-beta.20424.23
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20419.21 to 5.0.0-beta.20424.23
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20419.21 to 5.0.0-beta.20424.23
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20419.21 to 5.0.0-beta.20424.23
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20411.8 to 5.0.0-beta.20419.21
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20411.8 to 5.0.0-beta.20419.21
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20411.8 to 5.0.0-beta.20419.21
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20411.8 to 5.0.0-beta.20419.21
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20411.8 to 5.0.0-beta.20419.21
* Fixed issue #620
* Produce a useful error message if the path of a project file is incorrect in tye.yaml.
* Added a test.
* Fixed test on Linux and OSX.
* Check full exception message in test and fixed test name.
* More deterministic behavior considering directory check and test execution.
Moved directory check one level higher from EnsureMSBuildRegistered() to the caller ReadProjectDetailsAsync(). This means that this code is always executed. In EnsureMSBuildRegistered() it was only executed once per proces because of the static field "registered". The placement of the check after evaluation of the the field "registered" was the reason why the test WrongProjectPathProducesCorrectErrorMessage worked when executed alone but not when any other test that called EnsureMSBuildRegistered() was executed before.
With this change the directory check is always executed now, even if the EnsureMSBuildRegistered() was already executed successfully. But the performance impact should not be significant while the type of generated error message is more deterministic and not dependent on execution order.
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20407.3 to 5.0.0-beta.20411.8
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20407.3 to 5.0.0-beta.20411.8
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20407.3 to 5.0.0-beta.20411.8
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20407.3 to 5.0.0-beta.20411.8
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20407.3 to 5.0.0-beta.20411.8
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20374.1 to 5.0.0-beta.20407.3
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20374.1 to 5.0.0-beta.20407.3
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20374.1 to 5.0.0-beta.20407.3
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20374.1 to 5.0.0-beta.20407.3
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20374.1 to 5.0.0-beta.20407.3
[master] Update dependencies from dotnet/arcade
- Updates:
- Microsoft.DotNet.Build.Tasks.Feed: from 5.0.0-beta.20330.3 to 5.0.0-beta.20374.1
- Microsoft.DotNet.Helix.Sdk: from 5.0.0-beta.20330.3 to 5.0.0-beta.20374.1
- Microsoft.DotNet.SignTool: from 5.0.0-beta.20330.3 to 5.0.0-beta.20374.1
- Microsoft.DotNet.SwaggerGenerator.MSBuild: from 5.0.0-beta.20330.3 to 5.0.0-beta.20374.1
- Microsoft.DotNet.Arcade.Sdk: from 5.0.0-beta.20330.3 to 5.0.0-beta.20374.1