Tool used to expose useful functionality to IntelliTect/EssentialCSharp collaborators
Run dotnet tool install IntelliTect.EssentialCSharp.ListingManager -g. This will install the Nupkg as a dotnet global tool.
Run dotnet tool update -g IntelliTect.EssentialCSharp.ListingManager. This will update the Nupkg for use globally.
Any command can be run with these optional parameters.
verbose-> provides more detail into what the command is doing
ListingUpdating can be run with the following additional optional parameters.
preview-> leave files in place but still print actions that would take place to consoleby-folder-> changes a listing's chapter based on the chapter number in the chapter's pathchapter-only-> changes only the chapter of the listing, leaving the listing number unchanged. Use withbyfolder
Run ListingManager from the command line.
For available commands run ListingManager -h. This will display all the commands available to you.
To update Listings at a path provide the Chapter's path and specify the ListingUpdating mode.
ListingManager --path "user/EssentialCSharp/src/Chapter03/" --mode ListingUpdating or
ListingManager --path "user/EssentialCSharp/src/Chapter03/"
NOTE: It is highly recommended that you commit and push your changes before running this command. Additionally you should
run this command with --preview and --verbose specified to ensure there are no adverse affects. Once you are confident
that the proposed changes are what you want, you can run the command without the --preview modifier.
To find potentially mismatched listings in a chapter run,
ListingManager --path "user/EssentialCSharp/src/Chapter03/" --mode ScanForMismatchedListings. Potentially mismatched listings
will be printed to the console.
To run all chapters in powershell from ListingManager directory,
Get-ChildItem -Path 'insert.srcPathNameHere' -Directory | Where-Object {
!$_.name.EndsWith("Tests")
} | ForEach-Object {
listingmanager --path $_.FullName --preview --verbose
}
The easiest and best way is to create a new release with a tag number and version number that are identical in the format of vx.x.x and a nuget release will be created and uploaded with that same number.
If you want the more difficult method:
To push a new version from the command line you must first pack the changes as a nupkg by running dotnet pack at
the solution level. If the pack is successfully navigate to the directory where the nupkg was created. Run
dotnet nuget push IntelliTect.EssentialCSharp.<version>.nupkg -k <ApiKey> -s https://api.nuget.org/v3/index.json. For
more detailed instructions and to get an API key visit. https://docs.microsoft.com/en-us/nuget/nuget-org/publish-a-package and
scroll down to the "Create API Keys" section. Replace <version> with the proper version number. In other words, provide the
full name of the newly generated nupkg. NOTE: The version must be higher than the version present on nuget. To change this
modify the <version> tag in ListingManager/ListingManager.csproj