Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
84a3c5a
Move Hocon.Immutable into Hocon namespace
Arkatufus Feb 20, 2020
2eedda3
Mark old classes as internal classes
Arkatufus Feb 20, 2020
280a826
Convert old data type to new ones
Arkatufus Feb 20, 2020
2e09c9d
Convert old data type to new data type
Arkatufus Feb 20, 2020
84dd12c
Improve backward compatibility
Arkatufus Feb 21, 2020
0b7beb2
Convert old Config to use the new data structure.
Arkatufus Feb 24, 2020
2d5e60c
Add caching to Config
Arkatufus Feb 24, 2020
10d2659
Update ApiApprover text file to reflect the new data structure.
Arkatufus Feb 24, 2020
2ea0ce5
Merge branch 'dev' into Simplify_Data_Structure
Arkatufus Feb 24, 2020
b5a687e
Bump Linux .NET SDK version from 2.1.500 to 2.1.504 to match the wind…
Arkatufus Feb 24, 2020
8c4a583
force csproj LangVersion tag to 7.2
Arkatufus Feb 24, 2020
1c095b6
Remove throw statement, throw does not make sense since this is not a…
Arkatufus Feb 25, 2020
debc2e6
Add missing getters needed for Akka compatibility
Arkatufus Feb 25, 2020
3ad3d69
Merge branch 'dev' into Simplify_Data_Structure
Arkatufus Feb 25, 2020
279978f
Add serialization hacks (surrogate) from Akka.NET to fix serializatio…
Arkatufus Feb 25, 2020
8fa5415
Merge branch 'dev' into Simplify_Data_Structure
Arkatufus Feb 25, 2020
cdc4f1c
Remove Newtonsoft.Json nuget dependency
Arkatufus Feb 26, 2020
d91901c
Defensive coding
Arkatufus Feb 26, 2020
1deb2a7
Adjust surface API
Arkatufus Feb 26, 2020
ac1e4ad
Clean ghost Immutable projects from .sln file. Prevented CI build fro…
Arkatufus Feb 26, 2020
f9b4b75
Prepend Hocon to classes names that are too generic
Arkatufus Feb 27, 2020
f109c44
Remove caching from Config
Arkatufus Feb 27, 2020
63305ed
Force garbage collection so that memory allocation stat result only r…
Arkatufus Feb 27, 2020
9afc666
Update the approved API list to reflect the static extension class na…
Arkatufus Feb 27, 2020
602409c
Add support for Hyperion deserialization
Arkatufus Feb 27, 2020
e62ac95
Update ApiApprover API list, need to add an [Obsolete] attribute
Arkatufus Feb 27, 2020
49a1eaa
Merge branch 'dev' into Simplify_Data_Structure
Arkatufus Feb 27, 2020
4379001
Merge branch 'dev' into Simplify_Data_Structure
Arkatufus Feb 27, 2020
6badd7d
Merge branch 'Simplify_Data_Structure' of github.com:Arkatufus/HOCON …
Arkatufus Feb 27, 2020
298e57e
Add local nuget repo publishing option to build script
Arkatufus Feb 29, 2020
c4a0487
Merge commit '94981ce4be01537b1d45da91b3043944c810e151' into Simplify…
Arkatufus Feb 29, 2020
f93814c
Merge commit 'b4ad447b033a87271ee40fbadb575dfa6a519396' into Simplify…
Arkatufus Feb 29, 2020
daf05f5
Merge commit 'c88a902b11f3c9b097bcf90237da164d928ea458' into Simplify…
Arkatufus Feb 29, 2020
7fdfbac
Merge commit '298e57e97bbeb2b9b5fc8d99f02aa51af500837c' into Simplify…
Arkatufus Feb 29, 2020
3243d7a
Consistent equality between Config and HoconObject
Arkatufus Feb 29, 2020
7eeba85
Merge branch 'dev' into Simplify_Data_Structure_Fast_Forwarded
Arkatufus Feb 29, 2020
d9f765e
Bump version number to 3.0.0
Arkatufus Mar 2, 2020
8755457
Update RELEASE_NOTES.md
Arkatufus Mar 2, 2020
e4d052d
Remove implicit casting
Arkatufus Mar 6, 2020
f3ccb8a
Merge remote-tracking branch 'upstream/dev' into Simplify_Data_Struct…
Arkatufus Mar 6, 2020
c815dde
Update ApiApprover API list
Arkatufus Mar 6, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -301,3 +301,4 @@ __pycache__/
*.odx.cs
*.xsd.cs
PerfResults/
src/Hocon.API.Tests/HoconAPISpec.ApproveCore.received.txt
12 changes: 0 additions & 12 deletions Hocon.sln
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hocon.Extensions.Configurat
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hocon.Extensions.Configuration.Tests", "src\Hocon.Extensions.Configuration.Tests\Hocon.Extensions.Configuration.Tests.csproj", "{F7862234-3330-43DE-86BB-D6E67F2146BC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hocon.Immutable", "src\Hocon.Immutable\Hocon.Immutable.csproj", "{FB439177-CA10-4BA8-993D-A51D1BEE2A0E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hocon.Immutable.Tests", "src\Hocon.Immutable.Tests\Hocon.Immutable.Tests.csproj", "{FEEC6F6B-2511-4BEC-9568-4E6AE6C1D275}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SerializationDebug", "src\examples\SerializationDebug\SerializationDebug.csproj", "{6D1D4813-7AB6-4268-A9DF-627A60E08FB1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hocon.API.Tests", "src\Hocon.API.Tests\Hocon.API.Tests.csproj", "{2EC48C29-E5A7-4C3F-AB26-1C121E098867}"
Expand Down Expand Up @@ -95,14 +91,6 @@ Global
{F7862234-3330-43DE-86BB-D6E67F2146BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F7862234-3330-43DE-86BB-D6E67F2146BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F7862234-3330-43DE-86BB-D6E67F2146BC}.Release|Any CPU.Build.0 = Release|Any CPU
{FB439177-CA10-4BA8-993D-A51D1BEE2A0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FB439177-CA10-4BA8-993D-A51D1BEE2A0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB439177-CA10-4BA8-993D-A51D1BEE2A0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB439177-CA10-4BA8-993D-A51D1BEE2A0E}.Release|Any CPU.Build.0 = Release|Any CPU
{FEEC6F6B-2511-4BEC-9568-4E6AE6C1D275}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEEC6F6B-2511-4BEC-9568-4E6AE6C1D275}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEEC6F6B-2511-4BEC-9568-4E6AE6C1D275}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEEC6F6B-2511-4BEC-9568-4E6AE6C1D275}.Release|Any CPU.Build.0 = Release|Any CPU
{6D1D4813-7AB6-4268-A9DF-627A60E08FB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D1D4813-7AB6-4268-A9DF-627A60E08FB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D1D4813-7AB6-4268-A9DF-627A60E08FB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand Down
17 changes: 9 additions & 8 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
### 2.0.3 February 28 2020 ####
Bugfixes and improvements made to HOCON 2.0.0
### 3.0.0 March 02 2020 ####
Major changes on the HOCON surface API

* [Bugfix: HoconValue.TryGetObject can throw System.ArgumentNullException](https://github.com/akkadotnet/HOCON/issues/233)
* [Bugfix: System.InvalidOperationException : Collection was modified; enumeration operation may not execute](https://github.com/akkadotnet/HOCON/issues/234)
* [Bugfix: unquoted key error during serialization](https://github.com/akkadotnet/HOCON/pull/223)
* [Fixed NuGet symbol package publication](https://github.com/akkadotnet/HOCON/issues/222)

For more details, please [see the issues in the HOCON v2.0.1 milestone here](https://github.com/akkadotnet/HOCON/milestone/7).
* Major restructure of HOCON public class and API to conform to HOCON immutability
* Most of the API are backward compatible with HOCON 2.0 with the following exceptions:
* All access APIs are declared in static extension classes, in order to access the values
inside a `Config` or `HoconObject`, you will need to declare `using Hocon` in your .cs file.
* The class structure of the public HOCON classes havee beeen simplified and a few have been
removed. If you referenced the `HoconValue` or `HoconField` classes in your code, you will
have to change your code to conform to the new API.
1 change: 1 addition & 0 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -329,5 +329,6 @@ Target "LocalNuget" DoNothing
"RunTests" ==> "All"
"NBench" ==> "All"
"Nuget" ==> "All"
"LocalNuget" ==> "All"

RunTargetOrDefault "Help"
86 changes: 22 additions & 64 deletions src/Hocon.Immutable.Tests/ApiTest.cs → src/HOCON.Tests/ApiTest.cs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/HOCON.Tests/Extensions/IsStringTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class IsStringTests
}
";

public HoconRoot TestHocon => HoconParser.Parse(RawTestHocon);
public HoconObject TestHocon => HoconParser.Parse(RawTestHocon);

[Fact]
public void IsString_should_detect_String_literals()
Expand Down
6 changes: 3 additions & 3 deletions src/HOCON.Tests/QuotedString.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ public void Bugfix_190_should_unquote_quotedstrings_on_parse()
";

var parsed = HoconParser.Parse(hocon);
var unwrapped = parsed.GetObject("adapters").ToDictionary(x => x.Key, v => v.Value.GetString());
var unwrapped = parsed.GetObject("adapters").Unwrapped;

// check to make sure these strings aren't quoted
unwrapped["gremlin"].Should().Be("Akka.Remote.Transport.FailureInjectorProvider,Akka.Remote");
unwrapped["trttl"].Should().Be("Akka.Remote.Transport.ThrottlerProvider,Akka.Remote");
unwrapped["gremlin"].Should().Equals("Akka.Remote.Transport.FailureInjectorProvider,Akka.Remote");
unwrapped["trttl"].Should().Equals("Akka.Remote.Transport.ThrottlerProvider,Akka.Remote");
}
}
}
1 change: 0 additions & 1 deletion src/Hocon.API.Tests/Hocon.API.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@
<ItemGroup>
<ProjectReference Include="..\Hocon.Configuration\Hocon.Configuration.csproj" />
<ProjectReference Include="..\Hocon.Extensions.Configuration\Hocon.Extensions.Configuration.csproj" />
<ProjectReference Include="..\Hocon.Immutable\Hocon.Immutable.csproj" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, good to see Hocon.Immutable getting disposed

<ProjectReference Include="..\Hocon\Hocon.csproj" />
</ItemGroup>

Expand Down
30 changes: 14 additions & 16 deletions src/Hocon.API.Tests/HoconAPISpec.ApproveConfiguration.approved.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,29 @@ namespace Hocon
protected CDataConfigurationElement() { }
protected override void DeserializeElement(System.Xml.XmlReader reader, bool serializeCollectionKey) { }
}
public class Config : Hocon.HoconRoot, System.IEquatable<Hocon.Config>, System.Runtime.Serialization.ISerializable
public class Config : Hocon.HoconObject, System.IEquatable<Hocon.Config>, System.Runtime.Serialization.ISerializable
{
[System.ObsoleteAttribute("For json serialization/deserialization only", true)]
protected Config() { }
protected Config(Hocon.HoconValue value) { }
protected Config(Hocon.HoconValue value, Hocon.Config fallback) { }
public Config(Hocon.HoconRoot root) { }
public Config(Hocon.HoconRoot root, Hocon.Config fallback) { }
public Config(Hocon.HoconElement root) { }
[System.ObsoleteAttribute("Used for serialization only", true)]
public Config(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
protected Config(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public static Hocon.Config Empty { get; }
public virtual System.Collections.Generic.IReadOnlyList<Hocon.HoconValue> Fallbacks { get; }
public virtual System.Collections.Generic.IReadOnlyList<Hocon.HoconObject> Fallbacks { get; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the significance of this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no such thing as HoconValue anymore, the structure is simplified.

public virtual bool IsEmpty { get; }
public Hocon.HoconValue Root { get; }
protected System.Collections.Generic.List<Hocon.HoconValue> _fallbacks { get; }
public override System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Hocon.HoconField>> AsEnumerable() { }
public Hocon.HoconObject Root { get; }
protected System.Collections.Generic.List<Hocon.HoconObject> _fallbacks { get; }
public override System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, Hocon.HoconElement>> AsEnumerable() { }
public static Hocon.Config Create(Hocon.HoconElement root) { }
public static Hocon.Config Deserialize(string raw) { }
public override bool Equals(Hocon.HoconElement other) { }
public virtual bool Equals(Hocon.Config other) { }
public override bool Equals(object obj) { }
public virtual Hocon.Config GetConfig(string path) { }
public virtual Hocon.Config GetConfig(Hocon.HoconPath path) { }
protected override Hocon.HoconValue GetNode(Hocon.HoconPath path) { }
[System.ObsoleteAttribute("Used for serialization only", true)]
public void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
public override Hocon.HoconElement GetValue(Hocon.HoconPath path) { }
public string Serialize() { }
public string ToString(bool useFallbackValues) { }
protected override bool TryGetNode(Hocon.HoconPath path, out Hocon.HoconValue result) { }
public override bool TryGetValue(Hocon.HoconPath path, out Hocon.HoconElement result) { }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above - what's the significance of this change too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the above, there is no HoconValue class.

public virtual Hocon.Config WithFallback(Hocon.Config fallback) { }
public static Hocon.Config +(Hocon.Config config, string fallback) { }
public static Hocon.Config +(string configHocon, Hocon.Config fallbackConfig) { }
Expand Down Expand Up @@ -66,7 +65,6 @@ namespace Hocon
public static Hocon.Config FromResource(string resourceName, object instanceInAssembly) { }
public static Hocon.Config FromResource<TAssembly>(string resourceName) { }
public static Hocon.Config FromResource(string resourceName, System.Reflection.Assembly assembly) { }
[System.ObsoleteAttribute("Call the ConfigurationFactory.Default method instead.")]
public static Hocon.Config Load() { }
public static Hocon.Config Load(string sectionName) { }
public static Hocon.Config ParseString(string hocon, Hocon.HoconIncludeCallbackAsync includeCallback) { }
Expand Down
Loading