* Move package versions to build/dependencies.props
* Move common properties to a shared props file.
* Adds LibraryManager.msbuild to orchestrate the build.
- Allows building the VSIX or the Build package separately.
Move common msbuild properties to dir.props
Moves the NerdBank.GitVersioning package to dir.props so it
is included in all source packages.
* Add global tool project
- Adds support for building custom msbuild tasks in the repo.
- Adds Shim Generation for global tool.
* Extract PackageVersion from NerdBank.GitVersioning tasks
- Generate a RepoInfo.props as part of building the RepoTasks project.
- Enables passing the right version to the Shim Generation
* Implementation for Init, Restore and Clean commands
Encapsulate IO operations in HostEnvironment
* Update Appveyor.yml to download CLI version 2.1.300
* Command Implementations
- Implemented Install and Uninstall
- Changed LibraryInstallationState to be a public class
- Added overloaded uninstall method to uninstall based on provider
* Early PR Feedback
- renamed dir.props to Directory.Build.props
- better handling for --debug option
- merged testdependencies.props to dependencies.props
- return ProductVersion for --version
- report no-ops during uninstall
- removed Nerdbank.GitVersioning reference from individual project files
* Implementations of Cache clean and list commands.
* Rename dotnet-libman to libman
* Replace dotnet libman to libman in help text
* Exposed api to install a Library via Manifest.
- Reverted LibraryInstallationState to be internal again.
- Reverted AddLibrary() method to be internal again.
Install command validates library ids and provides suggesstions
Changed Cache List command to accept --libraries and --files options
* Add tests for libman commands.
Fixes issues with InstallLibrary api in Manifest.
- Prevents installing duplicate libraries.
- Removes unnecessary provider and destination from library if it matches the defaults.
* Handle malformed libman.json file in BaseCommand
* Change appveyor build script to use newer dotnet install
* Fix appveyor.yml to run tests
Also fix a unit test in ManifestTests
* - Fix string comparison to normalize newlines
- Add a target to build Test projects
- Change Appveyor to run tests on individual assemblies
- Downgrade mstest to 1.1.14'
* Use search results to resolve partial name to libraryId
during Install
* Add support for using library display name for uninstall
command.
- Add LibraryResolver to resolve installed libraries using a 'display name'
- Add user choice prompt for uninstall when more than one libraries are resolved.
* Add Update command implementation
- Add UpdateLibraryToLatestVersion to Manifest
* Add support to specify --to-version with Update command
* Add xml documentation in libman project
* Command fixes:
- Update validates that the new library can actually be installed before uninstalling old one.
- Install Command outputs what was installed and where
- Uninstall command outputs what was uninstalled
- Install command validates that the files specified are correct for the library
- If not, shows a list of valid files for that library.
* Add tests for validating Install and Update changes
* Fix HostInteraction to delete empty folders
* Changed LibraryResolver behavior to return id matches and resolved
name matches together.
Added TestCleanup for tests in libman.Test
* Prevent installing different versions of same library in same location
* Fix LibmanInstallTests.TestInstall_Duplicate test
* Stress and Perf fixes
Adding a CacheService
Ading Unit Tests for Cache Service
Deleting Empty folders (Not working for all peoject types yet!)
Improving Logging
Adding detection for up to date files
* Removing a file that was checked in by mistake
* Fix InstallCommand message to not print displayName
* Add description to cache command
* Fix validation message in Update command.
* Change help text
- Remove provider option from uninstall and update commands
- Change remarks for uninstall and update commands
- Change --to-version => --to
* Move conflicting library checks to Manifest
- Restore now fails with error for conflicting libraries.
- InstallAsync checks conflicting libraries.
* Update restore library message to indicate destination
* Change library conflict detection to be file based
Also, update messages for install and restore failures
* Added tests for file based conflict detection
* Addressing code review feedback
* More code review feedback
* More changes on File deleting from Project
* Batching of adding files to project to improve perf.
* Batching of adding files to project to improve perf.
* Few more fixes
* Renaming of methods
* Refactoring and fixes:
- Fix SaveAsync method to preserve null values for
destination and provider for libraries.
- Use FileHelpers for HostInteraction
* Move invalid files check from CLI to only CDNJS provider.
* Remove invalid file check from CLI update command
* Change update command to use manifest snapshots
* Remove unused UpdateLibrary code and tests
* PR Feedback
- Changed expiration for cache.
- Fixed CacheServiceMetadataComparer
- Removed IDisposable from WebRequestHandler
- Fix awaits on null conditional operator
- Moved hard coded strings to resources files
* More feedback changes
* Code clean up
* Fixing unit tests
* Fixing Unit Tests
* More code review updates
* Deleting unused strings
* Updating resource files
* Updating resource files
* strings updates
* Set EmbedInteropType to true for some of the VS binaries.
* Fixing product bug and Unit tests.
Bug 585258: Cache is not populated if Files library property is specified.
* Fixing bug 568284 (nullref on Clean command).
It's a bit ugly but I think it's OK for preview 3. Not sure if we should propagate the update failure out and fail the entire Clean operation (may have cleaned some but not all libraries - success or failure?).
We should test the FileSystem provider though as well. The code says Files should be required, not sure if it's enforced.
* Addressing code review feedback.
* Addressing code review feedback.
* Renaming namespaces, project names, class names and strings: PackageInstaller -> PackageManager
* Renaming one more namespace: Microsoft.Web.LibraryManager.Vsix
* Renaming solution and folders
* Fixing project paths in the .sln and test test projects
* Renaming test folders
* Renaming few more references to Package Installer.
* More renaming to LibraryManager
* Addressing more code review feedback. Few more places to rename.
* Undo of unintended change (local workaround for crash bug 568284).