JsonPoke.Core.MSBuild
1.0.1
dotnet add package JsonPoke.Core.MSBuild --version 1.0.1
NuGet\Install-Package JsonPoke.Core.MSBuild -Version 1.0.1
<PackageReference Include="JsonPoke.Core.MSBuild" Version="1.0.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add JsonPoke.Core.MSBuild --version 1.0.1
#r "nuget: JsonPoke.Core.MSBuild, 1.0.1"
// Install JsonPoke.Core.MSBuild as a Cake Addin #addin nuget:?package=JsonPoke.Core.MSBuild&version=1.0.1 // Install JsonPoke.Core.MSBuild as a Cake Tool #tool nuget:?package=JsonPoke.Core.MSBuild&version=1.0.1
JsonPoke and JsonPeek build tasks:
Usage :
JSON Poke:
1. <JsonPoke JsonInputPath="$(MSBuildProjectDirectory)\Project.json" JValue="Empty-FromTest1" JPath="Project.Name">
</JsonPoke>
2 a. <JsonPoke JsonInputPath="$(MSBuildProjectDirectory)\Project.json" JArray="@(TestArray1)" JPath="Project.TestArray" Metadata="MyProp;Identity">
</JsonPoke>
2 b. <JsonPoke JsonInputPath="$(MSBuildProjectDirectory)\Project.json" JArray="t11.txt;t22.txt" JPath="Project.TestArray1">
</JsonPoke>
3. <JsonPoke JsonInputPath="$(MSBuildProjectDirectory)\Project.json" JObject="@(BuildNumber)" JPath="Project.TestObject" Metadata="Major;Minor;Build">
<PropertyGroup>
<JsonContent>
<![CDATA[{
"Projects":[
{ "Name": "P1", "OutputFile": "P1.json", "Variables": [ "Var1", "Var2" ]},
{ "Name": "P2", "OutputFile": "P2.json", "Variables": [ "Var1", "Var2" ] } ] }
]]>
</JsonContent>
</PropertyGroup>
<JsonPeek JPath="$.Projects" JsonContent="$(JsonContent)">
<Output TaskParameter="Result" ItemName="TestProjects" />
</JsonPeek>
<Message Text="Project.IncludedLibraryVariableSetIds[?(@.Name == 'Lib-69')].Value : @(Lib69Value)" />
<Message Text="Project values: %(TestProjects.Name)" />
Learn more about Target Frameworks and .NET Standard.
-
- Microsoft.Build.Tasks.Core (>= 15.1.548)
- Newtonsoft.Json (>= 9.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
1.0.2: Added JPath derived from Newtonsoft.json http://james.newtonking.com/archive/2014/02/01/json-net-6-0-release-1-%E2%80%93-jsonpath-and-f-support
1.0.4 : Fixing JSONPeek to return ITaskItem[] Result as output
Upgrade to this version, Need change from .Value to .Result
1.0.5 : Support for JsonContent and JsonInputPath.
Upgrade to this version needs change from FullFilePath and JsonFile to one JsonInputPath property
1.0.6 : JsonPeek enhancements:
a. Returing Result as array if JPath points to an array.
b. Returning Meaningfull object that simple strings, so support for batching: If the Result Item is an object, then we are exposing all attributes as metadata on the Result item. For Array of simple values like array of strings, "Value" metadata is exposed, so that %(array.Value) will work
1.0.7 : JsonPoke: Support for setting Objects and Object array via JObject and JArray, along with Metadata properties.