Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 5.1 - Support current compilers, nodejs 16+ support #794

Merged
merged 9 commits into from
Jul 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ aliases:
- &test-base-legacy
working_directory: /tmp/drafter
environment:
CXXFLAGS: '-Werror -Wno-error=unused-function'
CXXFLAGS: '-Wno-error=unused-function'
Copy link
Member Author

Choose a reason for hiding this comment

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

It's a little disappointing to remove Werror (although its only in legacy branch of CI). There are warnings when built with current/modern compiler versions.

steps:
- checkout
- run: git submodule update --init --recursive
Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:
test-gyp:
<<: *test-base-legacy
docker:
- image: gcc:4.8.5
- image: gcc:7
Copy link
Member Author

@kylef kylef May 17, 2023

Choose a reason for hiding this comment

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

GCC 4 image appears to no longer allow successful clone of project (CI stalls on git clone itself using GCC 4). Given GYP test is mostly for Protagonist, I am not concerned if GCC 4 is no longer supported, given that no modern supported version of NodeJS support GCC 4.


test-gcc-49-debug:
<<: *test-base
Expand Down Expand Up @@ -246,7 +246,7 @@ jobs:
- run: brew install cmake
- <<: *clang-debug
macos:
xcode: "11.2.1"
xcode: "14.2.0"
Copy link
Member Author

Choose a reason for hiding this comment

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

CircleCI no longer support Xcode 11, neither do Apple. Not feasible to test anymore.


test-osx-release:
<<: *test-base
Expand All @@ -257,7 +257,7 @@ jobs:
- run: brew install cmake
- <<: *clang-release
macos:
xcode: "11.2.1"
xcode: "14.2.0"

test-valgrind:
<<: *test-base-legacy
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Drafter Changelog

## TBD
## 5.1.0 (2023-05-17)

### Enhancements

Expand Down
88 changes: 48 additions & 40 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,46 +1,54 @@
GEM
remote: https://rubygems.org/
specs:
aruba (0.14.9)
childprocess (>= 0.6.3, < 1.1.0)
contracts (~> 0.9)
cucumber (>= 1.3.19)
ffi (~> 1.9)
rspec-expectations (>= 2.99)
thor (~> 0.19)
backports (3.12.0)
builder (3.2.3)
childprocess (1.0.1)
rake (< 13.0)
contracts (0.16.0)
cucumber (3.1.2)
builder (>= 2.1.2)
cucumber-core (~> 3.2.0)
cucumber-expressions (~> 6.0.1)
cucumber-wire (~> 0.0.1)
diff-lcs (~> 1.3)
gherkin (~> 5.1.0)
multi_json (>= 1.7.5, < 2.0)
multi_test (>= 0.1.2)
cucumber-core (3.2.1)
backports (>= 3.8.0)
cucumber-tag_expressions (~> 1.1.0)
gherkin (~> 5.0)
cucumber-expressions (6.0.1)
cucumber-tag_expressions (1.1.1)
cucumber-wire (0.0.1)
diff-lcs (1.3)
ffi (1.10.0)
ffi (1.10.0-x86-mingw32)
gherkin (5.1.0)
multi_json (1.13.1)
multi_test (0.1.2)
rake (12.3.3)
rspec-expectations (3.8.2)
aruba (2.1.0)
bundler (>= 1.17, < 3.0)
childprocess (>= 2.0, < 5.0)
contracts (>= 0.16.0, < 0.18.0)
cucumber (>= 4.0, < 9.0)
rspec-expectations (~> 3.4)
thor (~> 1.0)
builder (3.2.4)
childprocess (4.1.0)
contracts (0.16.1)
cucumber (8.0.0)
builder (~> 3.2, >= 3.2.4)
cucumber-ci-environment (~> 9.0, >= 9.0.4)
cucumber-core (~> 11.0, >= 11.0.0)
cucumber-cucumber-expressions (~> 15.1, >= 15.1.1)
cucumber-gherkin (~> 23.0, >= 23.0.1)
cucumber-html-formatter (~> 19.1, >= 19.1.0)
cucumber-messages (~> 18.0, >= 18.0.0)
diff-lcs (~> 1.5, >= 1.5.0)
mime-types (~> 3.4, >= 3.4.1)
multi_test (~> 1.1, >= 1.1.0)
sys-uname (~> 1.2, >= 1.2.2)
cucumber-ci-environment (9.2.0)
cucumber-core (11.0.0)
cucumber-gherkin (~> 23.0, >= 23.0.1)
cucumber-messages (~> 18.0, >= 18.0.0)
cucumber-tag-expressions (~> 4.1, >= 4.1.0)
cucumber-cucumber-expressions (15.2.0)
cucumber-gherkin (23.0.1)
cucumber-messages (~> 18.0, >= 18.0.0)
cucumber-html-formatter (19.2.0)
cucumber-messages (~> 18.0, >= 18.0.0)
cucumber-messages (18.0.0)
cucumber-tag-expressions (4.1.0)
diff-lcs (1.5.0)
ffi (1.15.5)
ffi (1.15.5-x86-mingw32)
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0218.1)
multi_test (1.1.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-support (3.8.0)
thor (0.20.3)
rspec-support (~> 3.12.0)
rspec-support (3.12.0)
sys-uname (1.2.3)
ffi (~> 1.1)
thor (1.2.2)

PLATFORMS
ruby
Expand All @@ -51,4 +59,4 @@ DEPENDENCIES
cucumber

BUNDLED WITH
1.10.3
2.4.6
Copy link
Member Author

Choose a reason for hiding this comment

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

All changes to the gemfile are to work with newer bundle. The Circle CI image no longer works out the box with older Ruby.

Note, Ruby is a functional test dependency only. Has no bearing on consumption of Drafter.

2 changes: 1 addition & 1 deletion THIRD_PARTY_LICENSES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
libdrafter
---------separator---------
Boost 1.70.0
Boost 1.82.0
Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
Expand Down
4 changes: 2 additions & 2 deletions common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
[ 'OS in "linux freebsd openbsd solaris android"', {
'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', '-Wno-comment' ],
'cflags_cc!': [ '-fno-rtti', '-fno-exceptions' ],
'cflags_cc': [ '-std=c++11' ],
'cflags_cc': [ '-std=c++14' ],
Copy link
Member Author

Choose a reason for hiding this comment

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

NodeJS requires C++14 onwards, the gyp (a build system used by Node) is used by Protagonist, the Drafter NodeJS bindings. Change needed for NodeJS 16 compatibility.

'ldflags': [ '-rdynamic' ],
'target_conditions': [
['_type=="static_library"', {
Expand Down Expand Up @@ -139,7 +139,7 @@
'OTHER_CFLAGS': [
'-fno-strict-aliasing',
],
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
'CLANG_CXX_LANGUAGE_STANDARD': 'c++14',
'CLANG_CXX_LIBRARY': 'libc++',
'WARNING_CFLAGS': [
'-Wall',
Expand Down
2 changes: 1 addition & 1 deletion packages/Catch
Submodule Catch updated 284 files
1 change: 0 additions & 1 deletion packages/boost/VERSION

This file was deleted.

1 change: 1 addition & 0 deletions packages/boost/VERSION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.82.0
2 changes: 1 addition & 1 deletion packages/boost/boost/config/abi_prefix.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
# include BOOST_ABI_PREFIX
#endif

#if defined( __BORLANDC__ )
#if defined( BOOST_BORLANDC )
#pragma nopushoptwarn
#endif

4 changes: 1 addition & 3 deletions packages/boost/boost/config/abi_suffix.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
# include BOOST_ABI_SUFFIX
#endif

#if defined( __BORLANDC__ )
#if defined( BOOST_BORLANDC )
#pragma nopushoptwarn
#endif


Loading