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

(#25070) jwt-cpp: Fix missing picojson header #25077

Merged

Conversation

sophieeihpos
Copy link
Contributor

Summary

Changes to recipe: jwt-cpp/0.7.0

Motivation

Fix #25070

Details

Fix missing picojson header by using Conan picojson for all versions.


© 2024 Morgan Stanley.
THIS SOFTWARE IS CONTRIBUTED SUBJECT TO THE TERMS OF THE Conan-io project Contributor License Agreement.
THIS SOFTWARE IS LICENSED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OF NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE MAY BE REDISTRIBUTED TO OTHERS ONLY BY EFFECTIVELY USING THIS OR ANOTHER EQUIVALENT DISCLAIMER IN ADDITION TO ANY OTHER REQUIRED LICENSE TERMS.

@conan-center-bot

This comment has been minimized.

@SpaceIm
Copy link
Contributor

SpaceIm commented Aug 29, 2024

It comes from #12735, where picojson is "disabled" for versions >= 0.5.0, but in the meantime added to test package, so very confusing. It could be a good idea to clarify the intend with @JorgenPo @prince-chrismc & @uilianries

@prince-chrismc
Copy link
Contributor

Thanks for the call out space, #25070 (comment)

As a maintainer of jwt-cpp, I would prefer no JSON dependencies listed. This makes the behavior the same for CMake, VCPKG, hunter, etc.

There's other functions that could be used in the test package

@conan-center-bot

This comment has been minimized.

@sophieeihpos sophieeihpos force-pushed the jwt-cpp_fix_missing_picojson branch from 2a0ae85 to cbcb47b Compare August 29, 2024 16:23
@conan-center-bot

This comment has been minimized.

@prince-chrismc
Copy link
Contributor

This seems more appropriate, user can explicit opt in and this will work if they need 1 or more json implementations.

@sophieeihpos sophieeihpos marked this pull request as ready for review August 30, 2024 08:13
perseoGI
perseoGI previously approved these changes Aug 30, 2024
Copy link
Contributor

@perseoGI perseoGI left a comment

Choose a reason for hiding this comment

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

LGTM this was also confusing to me when I used this library on the past.
Thanks for improving the recipe!

@perseoGI perseoGI self-assigned this Aug 30, 2024
AbrilRBS
AbrilRBS previously approved these changes Aug 30, 2024
@AbrilRBS AbrilRBS dismissed stale reviews from perseoGI and themself via ffcdcc3 August 30, 2024 09:08
@AbrilRBS
Copy link
Member

Successful compilation logs for non default with_picojson:

conan create . --version=0.7.0 -b=missing -o="*:shared=True" -o="&:enable_picojson=True"

======== Exporting recipe to the cache ========
jwt-cpp/0.7.0: Exporting package recipe: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/conanfile.py
jwt-cpp/0.7.0: exports: File 'conandata.yml' found. Exporting it...
jwt-cpp/0.7.0: Calling export_sources()
jwt-cpp/0.7.0: Copied 1 '.py' file: conanfile.py
jwt-cpp/0.7.0: Copied 1 '.yml' file: conandata.yml
jwt-cpp/0.7.0: Copied 1 '.patch' file: 0005-fix-picojson-header-location-for-conan.patch
jwt-cpp/0.7.0: Exported to cache folder: /Users/abril/coding/conan-center-index/recipes/krb5/all/conan_home/p/jwt-c42f8d1ed951a4/e
jwt-cpp/0.7.0: Exported: jwt-cpp/0.7.0#80926e6bb5137bbed2a7bdc33c2d09b0 (2024-08-30 09:06:37 UTC)

======== Input profiles ========
Profile host:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=15
os=Macos
[options]
&:enable_picojson=True
*:shared=True

Profile build:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=15
os=Macos


======== Computing dependency graph ========
Graph root
    cli
Requirements
    jwt-cpp/0.7.0#80926e6bb5137bbed2a7bdc33c2d09b0 - Cache
    openssl/3.3.1#279e86dc2a7dded8c1fe8512e775bdb1 - Cache
    picojson/1.3.0#b70daba4765f396e319496a567bf17d6 - Cache
    zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Cache
Resolved version ranges
    openssl/[>=1.1 <4]: openssl/3.3.1
    zlib/[>=1.2.11 <2]: zlib/1.3.1

======== Computing necessary packages ========
Requirements
    jwt-cpp/0.7.0#80926e6bb5137bbed2a7bdc33c2d09b0:da39a3ee5e6b4b0d3255bfef95601890afd80709#e329c52b8c2a7da93a49692a8c77d4ca - Cache
    openssl/3.3.1#279e86dc2a7dded8c1fe8512e775bdb1:fc405786bf2da876909187bd641ccd0cf8fdbf04#ad6580ce7f41d54d293926386cb8306f - Cache
    picojson/1.3.0#b70daba4765f396e319496a567bf17d6:da39a3ee5e6b4b0d3255bfef95601890afd80709#1a62be08d5d14254cd8a5e3667726d7a - Cache
    zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:78a12b7eac927f6ca195df48d2dacb88e09c966c#a2575de2bfd234775b0fec6c63fa0c14 - Cache

======== Installing packages ========
picojson/1.3.0: Already installed! (1 of 4)
zlib/1.3.1: Already installed! (2 of 4)
openssl/3.3.1: Already installed! (3 of 4)
jwt-cpp/0.7.0: Already installed! (4 of 4)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated:     'cpp_info.names' used in: zlib/1.3.1, openssl/3.3.1
WARN: deprecated:     'cpp_info.build_modules' used in: openssl/3.3.1
WARN: deprecated:     'env_info' used in: openssl/3.3.1

======== Launching test_package ========

======== Computing dependency graph ========
Graph root
    jwt-cpp/0.7.0 (test package): /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/conanfile.py
Requirements
    jwt-cpp/0.7.0#80926e6bb5137bbed2a7bdc33c2d09b0 - Cache
    openssl/3.3.1#279e86dc2a7dded8c1fe8512e775bdb1 - Cache
    picojson/1.3.0#b70daba4765f396e319496a567bf17d6 - Cache
    zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Cache

======== Computing necessary packages ========
Requirements
    jwt-cpp/0.7.0#80926e6bb5137bbed2a7bdc33c2d09b0:da39a3ee5e6b4b0d3255bfef95601890afd80709#e329c52b8c2a7da93a49692a8c77d4ca - Cache
    openssl/3.3.1#279e86dc2a7dded8c1fe8512e775bdb1:fc405786bf2da876909187bd641ccd0cf8fdbf04#ad6580ce7f41d54d293926386cb8306f - Cache
    picojson/1.3.0#b70daba4765f396e319496a567bf17d6:da39a3ee5e6b4b0d3255bfef95601890afd80709#1a62be08d5d14254cd8a5e3667726d7a - Cache
    zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:78a12b7eac927f6ca195df48d2dacb88e09c966c#a2575de2bfd234775b0fec6c63fa0c14 - Cache

======== Installing packages ========
picojson/1.3.0: Already installed! (1 of 4)
zlib/1.3.1: Already installed! (2 of 4)
openssl/3.3.1: Already installed! (3 of 4)
jwt-cpp/0.7.0: Already installed! (4 of 4)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated:     'cpp_info.names' used in: zlib/1.3.1, openssl/3.3.1
WARN: deprecated:     'cpp_info.build_modules' used in: openssl/3.3.1
WARN: deprecated:     'env_info' used in: openssl/3.3.1

======== Testing the package ========
Removing previously existing 'test_package' build folder: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release
jwt-cpp/0.7.0 (test package): Test package build: build/apple-clang-15-armv8-gnu17-release
jwt-cpp/0.7.0 (test package): Test package build folder: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release
jwt-cpp/0.7.0 (test package): Writing generators to /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release/generators
jwt-cpp/0.7.0 (test package): Generator 'CMakeToolchain' calling 'generate()'
jwt-cpp/0.7.0 (test package): CMakeToolchain generated: conan_toolchain.cmake
jwt-cpp/0.7.0 (test package): CMakeToolchain generated: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release/generators/CMakePresets.json
jwt-cpp/0.7.0 (test package): CMakeToolchain generated: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/CMakeUserPresets.json
jwt-cpp/0.7.0 (test package): Generator 'CMakeDeps' calling 'generate()'
jwt-cpp/0.7.0 (test package): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
    find_package(jwt-cpp)
    find_package(picojson)
    target_link_libraries(... jwt-cpp::jwt-cpp picojson::picojson)
jwt-cpp/0.7.0 (test package): Generator 'VirtualRunEnv' calling 'generate()'
jwt-cpp/0.7.0 (test package): Generating aggregated env files
jwt-cpp/0.7.0 (test package): Generated aggregated env files: ['conanrun.sh', 'conanbuild.sh']

======== Testing the package: Building ========
jwt-cpp/0.7.0 (test package): Calling build()
jwt-cpp/0.7.0 (test package): Running CMake.configure()
jwt-cpp/0.7.0 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package"
-- Using Conan toolchain: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release/generators/conan_toolchain.cmake
-- Conan toolchain: Defining libcxx as C++ flags: -stdlib=libc++
-- Conan toolchain: C++ Standard 17 with extensions ON
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'jwt-cpp::jwt-cpp'
-- Conan: Component target declared 'OpenSSL::Crypto'
-- Conan: Component target declared 'OpenSSL::SSL'
-- Conan: Target declared 'openssl::openssl'
-- Conan: Target declared 'ZLIB::ZLIB'
-- Conan: Including build module from '/Users/abril/coding/conan-center-index/recipes/krb5/all/conan_home/p/b/opens6fb3ce16b7e9f/p/lib/cmake/conan-official-openssl-variables.cmake'
-- Conan: Target declared 'picojson::picojson'
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release

jwt-cpp/0.7.0 (test package): Running CMake.build()
jwt-cpp/0.7.0 (test package): RUN: cmake --build "/Users/abril/coding/conan-center-index/recipes/jwt-cpp/all/test_package/build/apple-clang-15-armv8-gnu17-release" -- -j12
[ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
[100%] Linking CXX executable test_package
[100%] Built target test_package


======== Testing the package: Executing test ========
jwt-cpp/0.7.0 (test package): Running test()
jwt-cpp/0.7.0 (test package): RUN: ./test_package
exp = 1725012399
iat = 1725008799
iss = "auth0"

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 5 (ffcdcc3cf072cf3bc0ccd788cf085a7893ab1d3b):

  • jwt-cpp/0.5.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.7.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.6.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.5.1:
    All packages built successfully! (All logs)

  • jwt-cpp/0.4.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.3.1:
    All packages built successfully! (All logs)


Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 5 (ffcdcc3cf072cf3bc0ccd788cf085a7893ab1d3b):

  • jwt-cpp/0.6.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.5.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.5.1:
    All packages built successfully! (All logs)

  • jwt-cpp/0.7.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.4.0:
    All packages built successfully! (All logs)

  • jwt-cpp/0.3.1:
    All packages built successfully! (All logs)

@conan-center-bot conan-center-bot merged commit a808059 into conan-io:master Aug 30, 2024
32 checks passed
OMGtechy pushed a commit to OMGtechy/conan-center-index that referenced this pull request Dec 31, 2024
* (conan-io#25070) jwt-cpp: Fix missing picojson header

* Use CCI nomenclature

---------

Co-authored-by: Abril Rincón Blanco <git@rinconblanco.es>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

jwt-cpp/0.7.0 : "picojson.h" is not found
6 participants