-
-
Notifications
You must be signed in to change notification settings - Fork 105
Refactors VPK MSBuild tasks and introduces Flow download #755
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Keboo
wants to merge
17
commits into
develop
Choose a base branch
from
buildProjectUpdate
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
8000
div>
+1,716
−388
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #755 +/- ##
===========================================
+ Coverage 40.91% 41.33% +0.41%
===========================================
Files 244 247 +3
Lines 18385 18482 +97
Branches 2049 2065 +16
===========================================
+ Hits 7523 7639 +116
+ Misses 10504 10473
8000
-31
- Partials 358 370 +12 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Removes `DotNetToolRunner` and `VpkToolResolver`, directly packages the `vpk` executable in `Velopack.Build.csproj`, updates `PackTask` and `PublishTask` to invoke the embedded `vpk`, and extracts shared process argument handling to `ProcessExtensions.Shared.cs`.
Implements argument building for PackTask and PublishTask using their properties to invoke `vpk` commands, and refines VpkToolRunner's vpk.dll path discovery.
Adds VpkTask base class for shared logic; refactors PackTask and PublishTask to inherit; updates VPK tool path resolution to include 'any' subdirectory; adds `PackRustAssets` property; refines `VelopackEntryExecutableName` logic; enhances HelperFile search path handling; includes `legacyConsole` and `yes` arguments by default for pack and publish commands.
Embeds vpk tool pack location in assembly metadata, uses metadata for vpk.dll path discovery, enables implicit usings, removes unused usings and an empty property group, and refines MSBuild conditional syntax.
Deletes src/SelfContained.targets, its import from Directory.Build.props, and solution reference.
Removes System.Collections.Generic from PackTask.cs and System, System.Collections.Generic, System.Threading, System.Threading.Tasks from PublishTask.cs.
Removes default values for `DeltaMode` and `SignParallel` in `PackTask`, adjusts `SignParallel` argument generation, adds comprehensive `PackTask` argument building unit tests, updates `Velopack.Build.Tests` to `net9.0` with revised dependencies, and removes the test project README.
Adds unit tests for PublishTask methods, verifying the correct generation of Velopack CLI arguments and environment variables based on task properties.
Introduces `FlowRepository` and `FlowDownloadCommand` for Velopack Flow, along with corresponding option mapping and tests.
Adds VelopackBaseUrl and Timeout properties to PackTask, changes DeltaMode to an enum, and implements a PreExecuteAsync step in PackTask to download releases via vpk download flow when delta mode is active.
Introduces a `--skip-duplicate` flag for the `flow publish` command to prevent re-uploading an existing release by checking the Velopack Flow service.
Adds specific error handling for `http_listener_error` during interactive authentication, converts `AcquireInteractiveAsync` to an instance method, and renames the `baseUrl` command option to `base-url`.
Converts DeltaMode property in PackTask from enum to string, updating comparison and argument passing logic for string values.
83122b2 to
4f89b68
Compare
Adds `PublishVpkForPackage` target to build `Velopack.Vpk`, updates `IncludeVpkInPackage` to use `TfmSpecificPackageFile` for Vpk output, and refines `IncludeTfmDependenciesInPackage` exclusions and inclusions.
Removes the dedicated item for including runtime directories in the package.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overhauls the Velopack.Build project to streamline VPK tool execution and improve integration:
VpkTaskbase class, centralizing common logic forPackTaskandPublishTask. This simplifies the task implementations and standardizes howvpkcommands are built and executed.vpkexecutable is located, utilizing assembly metadata to directly find the tool within the build output rather than relying ondotnet toolinstallation and management. This removes complexity and external dependencies.SelfContained.targetsfile and related properties, simplifying the project's build logic.FlowRepositoryandFlowDownloadCommandto enable downloading releases directly from the Velopack Flow service.ProcessExtensionsby moving argument parsing logic to a shared partial class, removes unused usings, and updates test project configurations.