Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-56892

Add support for include what you use (IWYU)

XMLWordPrintable

      https://include-what-you-use.org/ 

      example output

      src/common/url/URL.h should add these lines:
      #include <boost/smart_ptr.hpp>                // for shared_ptr::operator!, shared_ptr, shared_ptr::operator bool
      #include <boost/utility/string_view_fwd.hpp>  // for string_view
      #include <cstdint>                            // for uint16_t
      #include <iosfwd>                             // for ostream
      #include <type_traits>                        // for declval
      
      src/common/url/URL.h should remove these lines:
      - #include <boost/shared_ptr.hpp>  // lines 9-9
      - #include <boost/utility/string_view.hpp>  // lines 15-15
      - #include <stdexcept>  // lines 10-10
      - #include "../CompilerAttributes.h"  // lines 16-16
      
      The full include-list for src/common/url/URL.h:
      #include <boost/filesystem/path.hpp>          // for path
      #include <boost/lexical_cast.hpp>             // for lexical_cast
      #include <boost/smart_ptr.hpp>                // for shared_ptr::operator!, shared_ptr, shared_ptr::operator bool
      #include <boost/throw_exception.hpp>          // for BOOST_THROW_EXCEPTION
      #include <boost/utility/string_view_fwd.hpp>  // for string_view
      #include <cstdint>                            // for uint16_t
      #include <iosfwd>                             // for ostream
      #include <map>                                // for multimap, multimap<>::value_compare
      #include <string>                             // for string
      #include <type_traits>                        // for declval
      #include <vector>                             // for vector
      #include "../Exceptions.h"                    // for BaseException
      ---
      
      src/common/url/URL.cpp should add these lines:
      #include <ctype.h>                                // for isxdigit, isdigit
      #include <stdlib.h>                               // for size_t, strtol
      #include <boost/exception/all.hpp>                // for operator<<, error_info
      #include <boost/exception/errinfo_file_name.hpp>  // for errinfo_file_name
      #include <boost/utility/string_view.hpp>          // for basic_string_view, operator<<
      
      src/common/url/URL.cpp should remove these lines:
      
      The full include-list for src/common/url/URL.cpp:
      #include "URL.h"
      #include <ctype.h>                                // for isxdigit, isdigit
      #include <stdlib.h>                               // for size_t, strtol
      #include <boost/exception/all.hpp>                // for operator<<, error_info
      #include <boost/exception/errinfo_file_name.hpp>  // for errinfo_file_name
      #include <boost/make_shared.hpp>                  // for make_shared, shared_ptr, sp_if_not_array<>::type
      #include <boost/utility/string_view.hpp>          // for basic_string_view, operator<<
      #include <iomanip>                                // for operator<<, setfill, setw
      #include <sstream>                                // for operator<<, stringstream, basic_ostream, hex, basic_istream::operator>>, basic_ostream::operator<<
      #include <utility>                                // for pair, move
      ---
      

            Unassigned Unassigned
            davidvanlaatum David van Laatum
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: