Skip to content

Commit

Permalink
Merge pull request #3 from akesseler/package-migration
Browse files Browse the repository at this point in the history
Package migration (**BREAKING CHANGES**)
  • Loading branch information
akesseler committed Dec 23, 2019
2 parents 2c31b22 + 34e084a commit 7bb1a62
Show file tree
Hide file tree
Showing 33 changed files with 281 additions and 211 deletions.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
<p align="center">
<a href="https://github.com/akesseler/Plexdata.CsvParser/blob/master/LICENSE.md" alt="license">
<img src="https://img.shields.io/github/license/akesseler/Plexdata.CsvParser.svg" />
</a>
<a href="https://github.com/akesseler/Plexdata.CsvParser/releases/latest" alt="latest">
<img src="https://img.shields.io/github/release/akesseler/Plexdata.CsvParser.svg" />
</a>
<a href="https://github.com/akesseler/Plexdata.CsvParser/archive/master.zip" alt="master">
<img src="https://img.shields.io/github/languages/code-size/akesseler/Plexdata.CsvParser.svg" />
</a>
<a href="https://akesseler.github.io/Plexdata.CsvParser" alt="docs">
<img src="https://img.shields.io/badge/docs-guide-orange.svg" />
</a>
<a href="https://github.com/akesseler/Plexdata.CsvParser/wiki" alt="wiki">
<img src="https://img.shields.io/badge/wiki-API-orange.svg" />
</a>
</p>

## Plexdata CSV Parser

The _Plexdata CSV Parser_ represents a library that allows importing and exporting of CSV files based on a user-defined class. Further, it is possible to configure the importing and exporting behavior.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,24 @@
<RootNamespace>Documentation</RootNamespace>
<Name>Documentation</Name>
<!-- SHFB properties -->
<FrameworkVersion>.NET Framework 4.7.2</FrameworkVersion>
<OutputPath>chm\</OutputPath>
<FrameworkVersion>Cross-platform (.NET Core/.NET Standard)</FrameworkVersion>
<OutputPath>help\</OutputPath>
<HtmlHelpName>Plexdata.CsvParser.NET</HtmlHelpName>
<Language>en-US</Language>
<DocumentationSources>
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\Plexdata.CsvParser.NET.dll" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\Plexdata.CsvParser.NET.xml" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\netstandard2.0\Plexdata.CsvParser.NET.dll" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\netstandard2.0\Plexdata.CsvParser.NET.xml" />
</DocumentationSources>
<HelpFileFormat>HtmlHelp1</HelpFileFormat>
<SyntaxFilters>C#</SyntaxFilters>
<PresentationStyle>VS2013</PresentationStyle>
<CleanIntermediates>True</CleanIntermediates>
<KeepLogFile>False</KeepLogFile>
<KeepLogFile>True</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<IndentHtml>False</IndentHtml>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<HelpTitle>Plexdata.CsvParser.NET</HelpTitle>
<HelpFileVersion>1.0.2</HelpFileVersion>
<HelpFileVersion>1.1.0</HelpFileVersion>
<NamingMethod>Guid</NamingMethod>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<RootNamespaceContainer>True</RootNamespaceContainer>
Expand Down Expand Up @@ -81,27 +81,19 @@
<CopyrightText>Copyright &amp;#169%3b 2019 - plexdata.de</CopyrightText>
<CopyrightHref>http://www.plexdata.de/</CopyrightHref>
<NamespaceSummaries>
<NamespaceSummaryItem name="Plexdata.CsvParser.Attributes" isDocumented="True">The attributes namespace contains classes to be used to tag own classes as CSV document as well as to tag class properties as CSV columns.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Constants" isDocumented="True">The constants namespace contains classes that support an easy access to all constant values provided by the library.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Internals" isDocumented="True">The internals namespace contains classes that should not be used by the outside world.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Processors" isDocumented="True">The processors namespace contains classes to import or export CSV files as well as to configure the importer's and the exporter's behaviour.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser (Group)" isGroup="True" isDocumented="True" />
<NamespaceSummaryItem name="Plexdata.CsvParser.Helpers" isDocumented="True">The namespace contains all supported helper classes.</NamespaceSummaryItem>
</NamespaceSummaries>
<ProjectSummary>&amp;lt%3bp&amp;gt%3bThe CSV Parser represents a library that allows importing and exporting of CSV files. Also, it is possible to configure the importing and exporting behavior.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bMain feature of this library is that users only need to create an own class representing a single line of a CSV file. Thereafter, this custom class is used either together with the importer or together with the exporter to process CSV files. &amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bFinally, it would also be possible %28assuming a proper configuration is used%29 to write a CSV output according to the rules of RFC 4180. For more information about RFC 4180 please visit the web-site under &amp;lt%3ba target=&amp;quot%3b_blank&amp;quot%3b href=&amp;quot%3bhttps://www.ietf.org/rfc/rfc4180.txt&amp;quot%3b&amp;gt%3bhttps://www.ietf.org/rfc/rfc4180.txt&amp;lt%3b/a&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3b&amp;lt%3bstrong&amp;gt%3bTarget Framework&amp;lt%3b/strong&amp;gt%3b&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bCurrent target framework of this library is the &amp;lt%3bi&amp;gt%3b.NET Framework v4.7.2&amp;lt%3b/i&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bCurrent target framework of this library is the &amp;lt%3bi&amp;gt%3b.NET Standard v2.0&amp;lt%3b/i&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3b&amp;lt%3bstrong&amp;gt%3bLicense&amp;lt%3b/strong&amp;gt%3b&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bThe software has been published under the terms of &amp;lt%3ba target=&amp;quot%3b_blank&amp;quot%3b href=&amp;quot%3bhttp://www.plexdata.de/licenses/mit.html&amp;quot%3b&amp;gt%3bMIT License&amp;lt%3b/a&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b</ProjectSummary>
<FooterText>
</FooterText>
<WarnOnMissingSourceContext>False</WarnOnMissingSourceContext>
<MaximumGroupParts>2</MaximumGroupParts>
<SaveComponentCacheCapacity>100</SaveComponentCacheCapacity>
<FeedbackEMailAddress>development%40plexdata.de</FeedbackEMailAddress>
<FeedbackEMailLinkText>Development</FeedbackEMailLinkText>
</PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform
the build. The others are optional common platform types that may appear. -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,24 @@
<RootNamespace>Documentation</RootNamespace>
<Name>Documentation</Name>
<!-- SHFB properties -->
<FrameworkVersion>.NET Framework 4.7.2</FrameworkVersion>
<OutputPath>api\</OutputPath>
<FrameworkVersion>Cross-platform (.NET Core/.NET Standard)</FrameworkVersion>
<OutputPath>wiki\</OutputPath>
<HtmlHelpName>Plexdata.CsvParser.NET</HtmlHelpName>
<Language>en-US</Language>
<DocumentationSources>
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\Plexdata.CsvParser.NET.dll" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\Plexdata.CsvParser.NET.xml" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\netstandard2.0\Plexdata.CsvParser.NET.dll" />
<DocumentationSource sourceFile="..\src\Plexdata.CsvParser.NET\bin\Release\netstandard2.0\Plexdata.CsvParser.NET.xml" />
</DocumentationSources>
<HelpFileFormat>Markdown</HelpFileFormat>
<SyntaxFilters>C#</SyntaxFilters>
<PresentationStyle>Markdown</PresentationStyle>
<CleanIntermediates>True</CleanIntermediates>
<KeepLogFile>False</KeepLogFile>
<KeepLogFile>True</KeepLogFile>
<DisableCodeBlockComponent>False</DisableCodeBlockComponent>
<IndentHtml>False</IndentHtml>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<HelpTitle>Plexdata.CsvParser.NET</HelpTitle>
<HelpFileVersion>1.0.2</HelpFileVersion>
<HelpFileVersion>1.1.0</HelpFileVersion>
<NamingMethod>Guid</NamingMethod>
<ContentPlacement>AboveNamespaces</ContentPlacement>
<RootNamespaceContainer>True</RootNamespaceContainer>
Expand Down Expand Up @@ -81,27 +81,19 @@
<CopyrightText>Copyright &amp;#169%3b 2019 - plexdata.de</CopyrightText>
<CopyrightHref>http://www.plexdata.de/</CopyrightHref>
<NamespaceSummaries>
<NamespaceSummaryItem name="Plexdata.CsvParser.Attributes" isDocumented="True">The attributes namespace contains classes to be used to tag own classes as CSV document as well as to tag class properties as CSV columns.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Constants" isDocumented="True">The constants namespace contains classes that support an easy access to all constant values provided by the library.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Internals" isDocumented="True">The internals namespace contains classes that should not be used by the outside world.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser.Processors" isDocumented="True">The processors namespace contains classes to import or export CSV files as well as to configure the importer's and the exporter's behaviour.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Plexdata.CsvParser (Group)" isGroup="True" isDocumented="True" />
<NamespaceSummaryItem name="Plexdata.CsvParser.Helpers" isDocumented="True">The namespace contains all supported helper classes.</NamespaceSummaryItem>
</NamespaceSummaries>
<ProjectSummary>&amp;lt%3bp&amp;gt%3bThe CSV Parser represents a library that allows importing and exporting of CSV files. Also, it is possible to configure the importing and exporting behavior.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bMain feature of this library is that users only need to create an own class representing a single line of a CSV file. Thereafter, this custom class is used either together with the importer or together with the exporter to process CSV files. &amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bFinally, it would also be possible %28assuming a proper configuration is used%29 to write a CSV output according to the rules of RFC 4180. For more information about RFC 4180 please visit the web-site under &amp;lt%3ba target=&amp;quot%3b_blank&amp;quot%3b href=&amp;quot%3bhttps://www.ietf.org/rfc/rfc4180.txt&amp;quot%3b&amp;gt%3bhttps://www.ietf.org/rfc/rfc4180.txt&amp;lt%3b/a&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3b&amp;lt%3bstrong&amp;gt%3bTarget Framework&amp;lt%3b/strong&amp;gt%3b&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bCurrent target framework of this library is the &amp;lt%3bi&amp;gt%3b.NET Framework v4.7.2&amp;lt%3b/i&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bCurrent target framework of this library is the &amp;lt%3bi&amp;gt%3b.NET Standard v2.0&amp;lt%3b/i&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3b&amp;lt%3bstrong&amp;gt%3bLicense&amp;lt%3b/strong&amp;gt%3b&amp;lt%3b/p&amp;gt%3b
&amp;lt%3bp&amp;gt%3bThe software has been published under the terms of &amp;lt%3ba target=&amp;quot%3b_blank&amp;quot%3b href=&amp;quot%3bhttp://www.plexdata.de/licenses/mit.html&amp;quot%3b&amp;gt%3bMIT License&amp;lt%3b/a&amp;gt%3b.&amp;lt%3b/p&amp;gt%3b</ProjectSummary>
<FooterText>
</FooterText>
<WarnOnMissingSourceContext>False</WarnOnMissingSourceContext>
<MaximumGroupParts>2</MaximumGroupParts>
<SaveComponentCacheCapacity>100</SaveComponentCacheCapacity>
<FeedbackEMailAddress>development%40plexdata.de</FeedbackEMailAddress>
<FeedbackEMailLinkText>Development</FeedbackEMailLinkText>
</PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform
the build. The others are optional common platform types that may appear. -->
Expand Down
8 changes: 4 additions & 4 deletions code/hlp/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
## Overview

The help file project named ``Plexdata.CsvParser.NET.shfbproj`` has been created using [Sandcastle Help File Builder](https://ewsoftware.github.io/SHFB/html/bd1ddb51-1c4f-434f-bb1a-ce2135d3a909.htm) version v2018.7.8.0.
The help file project named `Plexdata.CsvParser.NET.help.shfbproj` has been created using [Sandcastle Help File Builder](https://ewsoftware.github.io/SHFB/html/bd1ddb51-1c4f-434f-bb1a-ce2135d3a909.htm) version v2018.7.8.0.

## Building the Help

Usually, there should be no need to change this file because of the CHM help file is automatically created during release build of the project sources via ``MSBuild.exe``. But if you like, you can download _Sandcastle Help File Builder_ from [https://github.com/EWSoftware/SHFB/releases](https://github.com/EWSoftware/SHFB/releases) and modify the project help fitting your own needs.
Usually, there should be no need to change this file because of the CHM help file is automatically created during release build of the project sources via `MSBuild.exe`. But if you like, you can download _Sandcastle Help File Builder_ from [https://github.com/EWSoftware/SHFB/releases](https://github.com/EWSoftware/SHFB/releases) and modify the project help fitting your own needs.

For example you may like to create an HTML version of the project API documentation. In such a case just download and install the _Sandcastle Help File Builder_ as mentioned above. Then follow the steps below:

- As first, you should create a copy of the help file project ``Plexdata.CsvParser.NET.shfbproj`` and rename it, for instance, into ``Plexdata.CsvParser.NET-HTML.shfbproj``.
- As first, you should create a copy of the help file project `Plexdata.CsvParser.NET.help.shfbproj` and rename it, for instance, into `Plexdata.CsvParser.NET.html.shfbproj`.
- As next, open this new file with the _Sandcastle Help File Builder_.
- Thereafter, show tab _Project Properties_ and move to section _Build_.
- Now un-tick the _HTML help 1 (chm)_ setting and tick the setting _Website (HTML/ASP.NET)_ instead.
- Then you should change the output path accordingly. For this purpose move to section _Paths_ and modify the value of box _Help content output path_. For example you could change this path into ``html\``.
- Then you should change the output path accordingly. For this purpose move to section _Paths_ and modify the value of box _Help content output path_. For example you could change this path into `html\`.
- Finally, rebuild the whole help.

After a successful build you will find the result inside the project file’s sub-folder you named above.
10 changes: 10 additions & 0 deletions code/src/HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@


**1.1.0**
- Package migration from .NET Framework 4.7.2 to .NET Standard 2.0 (**BREAKING CHANGES**).
- Internal project restructuring.
- Files to generate help outputs renamed.
- Namespace summaries moved into project classes.
- Adding of _Shields_ links.
- Version number increased.
- Package release on `nuget.org`.
- Wiki and release update on _GitHub_.

**1.0.2**

- Adding functionality of writing CSV content from a two-dimensional matrix.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

using NUnit.Framework;
using Plexdata.CsvParser.Attributes;
using System;

namespace Plexdata.CsvParser.Tests.Attributes
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

using NUnit.Framework;
using Plexdata.CsvParser.Attributes;
using System;

namespace Plexdata.CsvParser.Tests.Attributes
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
using Plexdata.CsvParser.Constants;
using System;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Constants
{
[TestFixture]
[TestOf(nameof(ColumnSeparators))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
using System.Globalization;
using System.Reflection;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Internals
{
[TestFixture]
[TestOf(nameof(ItemDescriptor))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
*/

using NUnit.Framework;
using Plexdata.CsvParser.Helpers;
using Plexdata.CsvParser.Internals;
using Plexdata.CsvParser.Processors;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;

namespace Plexdata.CsvParser.Tests.Helpers
namespace Plexdata.CsvParser.Tests.Internals
{
[TestFixture]
[TestOf(nameof(ProcessHelper))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
using System.Globalization;
using System.Reflection;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Internals
{
[TestFixture]
[TestOf(nameof(TypeConverter))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
using Plexdata.CsvParser.Internals;
using System;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Internals
{
[TestFixture]
[TestOf(nameof(TypeDescriptor))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
using System;
using System.Linq;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Internals
{
[TestFixture]
[TestOf(nameof(TypeProcessor))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
<Compile Include="Attributes\CsvDocumentAttributeTests.cs" />
<Compile Include="Attributes\CsvIgnoreAttributeTests.cs" />
<Compile Include="Constants\ColumnSeparatorsTests.cs" />
<Compile Include="Helpers\ProcessHelperTests.cs" />
<Compile Include="Internals\ItemDescriptorTests.cs" />
<Compile Include="Internals\ProcessHelperTests.cs" />
<Compile Include="Internals\TypeConverterTests.cs" />
<Compile Include="Internals\TypeDescriptorTests.cs" />
<Compile Include="Internals\TypeProcessorTests.cs" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
using System.IO;
using System.Text;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Processors
{
[TestFixture]
[TestOf(nameof(CsvExporter<TestClassBase>))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
using Plexdata.CsvParser.Processors;
using System;

namespace Plexdata.CsvParser.Tests.Attributes
namespace Plexdata.CsvParser.Tests.Processors
{
[TestFixture]
[TestOf(nameof(CsvSettings))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2")]
[assembly: AssemblyFileVersion("1.0.2")]
[assembly: AssemblyVersion("1.1.0")]
[assembly: AssemblyFileVersion("1.1.0")]
28 changes: 28 additions & 0 deletions code/src/Plexdata.CsvParser.NET/Internals/Internals.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* MIT License
*
* Copyright (c) 2019 plexdata.de
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/

using System.Runtime.CompilerServices;

// Make internal classes visible for testing...
[assembly: InternalsVisibleTo("Plexdata.CsvParser.NET.Tests")]
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,14 @@
* SOFTWARE.
*/

using Plexdata.CsvParser.Internals;
using Plexdata.CsvParser.Processors;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;

namespace Plexdata.CsvParser.Helpers
namespace Plexdata.CsvParser.Internals
{
/// <summary>
/// This internal helper class provides functionality to process any CSV-based
Expand Down
Loading

0 comments on commit 7bb1a62

Please sign in to comment.