Skip to content

Commit

Permalink
Merge branch 'release/v0.1.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
fktn-k committed Oct 18, 2023
2 parents 9ba0f73 + 349d3f9 commit f3244e6
Show file tree
Hide file tree
Showing 50 changed files with 1,544 additions and 604 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ body:
description: >
Please provide an abstract description of the issue to the developers,
and why you consider it to be a bug. Please include any specific links
to the documentation, JSON specification, or code.
to the documentation, YAML specification, or code.
validations:
required: true
- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .reuse/templates/fkYAML.commented.jinja2
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* _______ __ __ __ _____ __ __ __
* | __| |_/ | \_/ |/ _ \ / \/ \| | fkYAML: A C++ header-only YAML library
* | __| _ < \_ _/| ___ | _ | |___ version 0.1.1
* | __| _ < \_ _/| ___ | _ | |___ version 0.1.2
* |__| |_| \__| |_| |_| |_|___||___|______| https://github.com/fktn-k/fkYAML
*
{% for copyright_line in copyright_lines %}
Expand Down
2 changes: 1 addition & 1 deletion .reuse/templates/fkYAML_support.jinja2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
_______ __ __ __ _____ __ __ __
| __| |_/ | \_/ |/ _ \ / \/ \| | fkYAML: A C++ header-only YAML library (supporting code)
| __| _ < \_ _/| ___ | _ | |___ version 0.1.1
| __| _ < \_ _/| ___ | _ | |___ version 0.1.2
|__| |_| \__| |_| |_| |_|___||___|______| https://github.com/fktn-k/fkYAML

{% for copyright_line in copyright_lines %}
Expand Down
17 changes: 15 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
# Changelog

## [v0.1.2](https://github.com/fktn-k/fkYAML/releases/tag/v0.1.2) (2023-10-18)

[Full Changelog](https://github.com/fktn-k/fkYAML/compare/v0.1.1...v0.1.2)

- \#150 Added tests for basic\_deserializer class [\#155](https://github.com/fktn-k/fkYAML/pull/155) ([fktn-k](https://github.com/fktn-k))
- \#150 added/modified unit tests for lexical\_analyzer test [\#154](https://github.com/fktn-k/fkYAML/pull/154) ([fktn-k](https://github.com/fktn-k))
- \#150 Covered a missing branch in ordered\_map class [\#153](https://github.com/fktn-k/fkYAML/pull/153) ([fktn-k](https://github.com/fktn-k))
- \#150 Excluded unreachable lines in serializer class test from coverage data [\#152](https://github.com/fktn-k/fkYAML/pull/152) ([fktn-k](https://github.com/fktn-k))
- \#150 Add unit tests for input\_handler class [\#151](https://github.com/fktn-k/fkYAML/pull/151) ([fktn-k](https://github.com/fktn-k))
- \#133 refactor lexer [\#146](https://github.com/fktn-k/fkYAML/pull/146) ([fktn-k](https://github.com/fktn-k))

- Fix version\_macros.hpp file path in Makefile [\#147](https://github.com/fktn-k/fkYAML/pull/147) ([fktn-k](https://github.com/fktn-k))

- Updated documents [\#156](https://github.com/fktn-k/fkYAML/pull/156) ([fktn-k](https://github.com/fktn-k))

## [v0.1.1](https://github.com/fktn-k/fkYAML/releases/tag/v0.1.1) (2023-10-15)

[Full Changelog](https://github.com/fktn-k/fkYAML/compare/v0.1.0...v0.1.1)

- hotfix to support v0.1.0 APIs in cmake_fetch_content_test. ([fktn-k](https://github.com/fktn-k))

## [v0.1.0](https://github.com/fktn-k/fkYAML/releases/tag/v0.1.0) (2023-10-15)

[Full Changelog](https://github.com/fktn-k/fkYAML/compare/v0.0.1...v0.1.0)
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.8)

project(
fkYAML
VERSION 0.1.1
VERSION 0.1.2
LANGUAGES CXX)

#
Expand Down
42 changes: 23 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,59 +2,63 @@

Thank you for visiting the fkYAML project. If you make any contribution for this project, it will surely be some help for other users in the future.

To make it as easy as possible for you to contribute and for me to keep an overview, here are a few guidelines which should help us avoid all kinds of unnecessary work or disappointment. And of course, this document is subject to discussion, so please [create an issue](https://github.com/fktn-k/fkYAML/issues/new/choose) or a pull request if you find a way to improve it!
To make it as easy as possible for you to contribute and for me to keep an overview, here are a few guidelines which should help us avoid all kinds of unnecessary work or disappointment. And of course, this document is subject to discussion, so please [create a discussion](https://github.com/fktn-k/fkYAML/discussions) or a pull request if you find a way to improve it!

## Private reports

Usually, all issues are tracked publicly on [GitHub](https://github.com/fktn-k/fkYAML/issues). If you want to make a private report (e.g., for a vulnerability or to attach an example that is not meant to be published), please send an email to <[email protected]>.

## Prerequisites

Please [create an issue](https://github.com/fktn-k/fkYAML/issues/new/choose), assuming one does not already exist, and describe your concern. Note you need a [GitHub account](https://github.com/signup/free) for this.
Please create a [discussion](https://github.com/fktn-k/fkYAML/discussions) or [issue](https://github.com/fktn-k/fkYAML/issues/new/choose), assuming one does not already exist, and describe your concern.
Note you need a [GitHub account](https://github.com/signup/free) for this.

## Describe your issue
## Describe your request/issue

Clearly describe the issue:
Clearly describe the request/issue:

- If it is a bug, please describe how to **reproduce** it. If possible, attach a complete example which demonstrates the error. Please also state what you **expected** to happen instead of the error.
- If you propose a change or addition, try to give an **example** how the improved code could look like or how to use it.
- If it is a bug, please describe how to **reproduce** it. If possible, attach a complete example which demonstrates the error. Please also state what you **expected** to happen instead of the error.
- If you found a compilation error, please tell us which **compiler** (version and operating system) you used and paste the (relevant part of) the error messages to the ticket.

For questions, feature or support requests, please [open a discussion](https://github.com/fktn-k/fkYAML/discussions/new).
For questions, feature or support requests, please [open a discussion](https://github.com/fktn-k/fkYAML/discussions/new).

## Files to change

To make changes, you need to edit the following files:

1. [`include/fkYAML/*`](https://github.com/fktn-k/fkYAML/tree/develop/include/fkYAML) - These files are the sources of the fkYAML library.
1. [`include/fkYAML/*.hpp`](https://github.com/fktn-k/fkYAML/tree/develop/include/fkYAML) - These files are the sources of the fkYAML library.

2. [`test/unit_test/*.cpp`](https://github.com/fktn-k/fkYAML/tree/develop/test/unit_test) - These files contain the [Catch2](https://github.com/catchorg/Catch2) unit tests from which current coverage data is generated. (Click [here](https://coveralls.io/github/fktn-k/fkYAML) to see current coverage of the library's code.)

If you add or change a feature, please also add a unit test to the associated file(s). The unit tests can be compiled and executed with
If you add or change a feature, please also add a unit test to the associated file(s) to keep covering 100% of the lines/branches in the fkYAML library.
The unit tests can be compiled and executed with:

```sh
$ mkdir build
$ cd build
$ cmake .. -DFK_YAML_BUILD_TEST=ON
$ cmake --build .
$ ctest
```
```sh
$ mkdir build
$ cd build
$ cmake .. -DFK_YAML_BUILD_TEST=ON
$ cmake --build .
$ ctest
```

The test cases are also executed with several different compilers on [GitHub Actions](https://github.com/fktn-k/fkYAML/actions) once you push a commit or open a pull request.
The test cases are also executed with various combinations of compilers and operating systems on [GitHub Actions](https://github.com/fktn-k/fkYAML/actions) once you open a pull request.
As the policy of this project, all the workflow checks must be passed before merging.

## Note

If you open a pull request, the code will be automatically tested with [Clang Sanitizers](https://clang.llvm.org/docs/index.html) to detect runtime issues (e.g., memory leaks). This can result in failing unit tests which run successfully without Clang Sanitizers.
If you open a pull request, the code will be automatically tested with [Valgrind](https://valgrind.org/) and [Clang Sanitizers](https://clang.llvm.org/docs/index.html) to detect runtime issues (e.g., memory leaks).
This can result in failing unit tests which run successfully without those tools.

## Please don't

- The C++11 support varies between different **compilers** and versions. Please note the [list of supported compilers](https://github.com/fktn-k/fkYAML/blob/develop/README.md#supported-compilers). Some compilers like GCC 4.7 (and earlier), Clang 3.3 (and earlier), or Microsoft Visual Studio 13.0 and earlier are known not to work due to missing or incomplete C++11 support. Please refrain from proposing changes that work around these compiler's limitations with `#ifdef`s or other means.
- Please refrain from proposing changes that would **break [YAML](https://yaml.org/) specifications**. If you propose a conformant extension of YAML to be supported by the library, please motivate this extension.
- Please do not open pull requests that address **multiple issues**.

## Wanted
## Help Wanted

The following areas really need contribution:

- Extending the **continuous integration** to support more compilers, platforms, package managers, and/or operating systems, such as Android NDK, Intel's Compiler, or 32bit OSs.
- Extending the **continuous integration** to support more compilers, platforms, package managers, and/or operating systems, such as Android NDK, Intel's Compiler, or 32bit operating systems.
- Introducing **benchmarks** to measure the processing cost of this library. Though efficiency is not everything, speed and memory consumption are very important characteristics for C++ developers, so having proper comparisons would be reasonable for both contributors and users.
7 changes: 3 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: CHANGELOG.md update-version
.PHONY: update-version-macros CHANGELOG.md update-version

#################
# variables #
Expand All @@ -16,9 +16,9 @@ CMAKE_SCRIPTS = $(shell find . -type f \( -name 'CMakeLists.txt' -o -name '*.cma
# target version definition
TARGET_MAJOR_VERSION := 0
TARGET_MINOR_VERSION := 1
TARGET_PATCH_VERSION := 1
TARGET_PATCH_VERSION := 2
TARGET_VERSION_FULL := $(TARGET_MAJOR_VERSION).$(TARGET_MINOR_VERSION).$(TARGET_PATCH_VERSION)
VERSION_MACRO_FILE := include/fkYAML/VersioningMacros.hpp
VERSION_MACRO_FILE := include/fkYAML/detail/macros/version_macros.hpp

# system
JOBS = $(($(shell grep cpu.cores /proc/cpuinfo | sort -u | sed 's/[^0-9]//g') + 1))
Expand All @@ -32,7 +32,6 @@ all:
@echo "clang-sanitizers - check whether no runtime issue is detected while running the unit test app."
@echo "clang-tidy - check whether source files detect no issues during static code analysis."
@echo "cmake-format - check whether CMake scripts are well formatted."
@echo "cmake-lint - execute a linter for CMake scripts."
@echo "doxygen - generate the API documentation for the project with Doxygen."
@echo "html-coverage - generate HTML coverage report."
@echo "iwyu - check whether source files are each self-contained."
Expand Down
Loading

0 comments on commit f3244e6

Please sign in to comment.