Skip to content

Commit e07754d

Browse files
authored
Merge pull request #14251 from fzakaria/fzakaria/iwyu-libflake
Clean-up libflake headers
2 parents 620091b + 01a8499 commit e07754d

File tree

15 files changed

+217
-34
lines changed

15 files changed

+217
-34
lines changed

packaging/dev-shell.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ pkgs.nixComponents2.nix-util.overrideAttrs (
124124
(pkgs.writeScriptBin "pre-commit-hooks-install" modular.pre-commit.settings.installationScript)
125125
pkgs.buildPackages.nixfmt-rfc-style
126126
pkgs.buildPackages.shellcheck
127+
pkgs.buildPackages.include-what-you-use
127128
pkgs.buildPackages.gdb
128129
]
129130
++ lib.optional (stdenv.cc.isClang && stdenv.hostPlatform == stdenv.buildPlatform) (

src/libflake-tests/flakeref.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
#include <gtest/gtest.h>
2+
#include <set>
3+
#include <string>
4+
#include <utility>
25

36
#include "nix/fetchers/fetch-settings.hh"
47
#include "nix/flake/flakeref.hh"
58
#include "nix/fetchers/attrs.hh"
9+
#include "nix/fetchers/fetchers.hh"
10+
#include "nix/util/configuration.hh"
11+
#include "nix/util/error.hh"
12+
#include "nix/util/experimental-features.hh"
613

714
namespace nix {
815

src/libflake-tests/nix_api_flake.cc

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1+
#include <gtest/gtest.h>
2+
#include <filesystem>
3+
#include <string>
4+
15
#include "nix/util/file-system.hh"
26
#include "nix_api_store.h"
37
#include "nix_api_util.h"
48
#include "nix_api_expr.h"
59
#include "nix_api_value.h"
610
#include "nix_api_flake.h"
7-
8-
#include "nix/expr/tests/nix_api_expr.hh"
911
#include "nix/util/tests/string_callback.hh"
10-
11-
#include <gmock/gmock.h>
12-
#include <gtest/gtest.h>
12+
#include "nix/store/tests/nix_api_store.hh"
13+
#include "nix/util/tests/nix_api_util.hh"
14+
#include "nix_api_fetchers.h"
1315

1416
namespace nixC {
1517

src/libflake-tests/url-name.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
#include "nix/flake/url-name.hh"
21
#include <gtest/gtest.h>
32

3+
#include "nix/flake/url-name.hh"
4+
#include "nix/util/url.hh"
5+
46
namespace nix {
57

68
/* ----------- tests for url-name.hh --------------------------------------------------*/

src/libflake/config.cc

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,30 @@
1+
#include <nlohmann/json.hpp>
2+
#include <assert.h>
3+
#include <stdint.h>
4+
#include <nlohmann/json_fwd.hpp>
5+
#include <cctype>
6+
#include <filesystem>
7+
#include <map>
8+
#include <memory>
9+
#include <optional>
10+
#include <string>
11+
#include <utility>
12+
#include <variant>
13+
#include <vector>
14+
#include <format>
15+
116
#include "nix/util/users.hh"
217
#include "nix/util/config-global.hh"
318
#include "nix/flake/settings.hh"
419
#include "nix/flake/flake.hh"
5-
6-
#include <nlohmann/json.hpp>
20+
#include "nix/util/ansicolor.hh"
21+
#include "nix/util/configuration.hh"
22+
#include "nix/util/file-system.hh"
23+
#include "nix/util/fmt.hh"
24+
#include "nix/util/logging.hh"
25+
#include "nix/util/strings.hh"
26+
#include "nix/util/types.hh"
27+
#include "nix/util/util.hh"
728

829
namespace nix::flake {
930

src/libflake/flake-primops.cc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,34 @@
1+
#include <stdint.h>
2+
#include <functional>
3+
#include <map>
4+
#include <optional>
5+
#include <set>
6+
#include <string>
7+
#include <utility>
8+
#include <variant>
9+
#include <vector>
10+
111
#include "nix/flake/flake-primops.hh"
212
#include "nix/expr/eval.hh"
313
#include "nix/flake/flake.hh"
414
#include "nix/flake/flakeref.hh"
515
#include "nix/flake/settings.hh"
16+
#include "nix/expr/attr-set.hh"
17+
#include "nix/expr/eval-error.hh"
18+
#include "nix/expr/eval-inline.hh"
19+
#include "nix/expr/eval-settings.hh"
20+
#include "nix/expr/symbol-table.hh"
21+
#include "nix/expr/value.hh"
22+
#include "nix/fetchers/attrs.hh"
23+
#include "nix/fetchers/fetchers.hh"
24+
#include "nix/util/configuration.hh"
25+
#include "nix/util/error.hh"
26+
#include "nix/util/experimental-features.hh"
27+
#include "nix/util/pos-idx.hh"
28+
#include "nix/util/pos-table.hh"
29+
#include "nix/util/source-path.hh"
30+
#include "nix/util/types.hh"
31+
#include "nix/util/util.hh"
632

733
namespace nix::flake::primops {
834

src/libflake/flake.cc

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
#include <nlohmann/json.hpp>
2+
#include <assert.h>
3+
#include <stdint.h>
4+
#include <boost/container/detail/std_fwd.hpp>
5+
#include <boost/core/pointer_traits.hpp>
6+
#include <boost/unordered/detail/foa/table.hpp>
7+
#include <algorithm>
8+
#include <filesystem>
9+
#include <functional>
10+
#include <map>
11+
#include <memory>
12+
#include <optional>
13+
#include <set>
14+
#include <span>
15+
#include <string>
16+
#include <tuple>
17+
#include <utility>
18+
#include <variant>
19+
#include <vector>
20+
#include <format>
21+
122
#include "nix/util/terminal.hh"
223
#include "nix/util/ref.hh"
324
#include "nix/util/environment-variables.hh"
@@ -6,22 +27,43 @@
627
#include "nix/expr/eval-cache.hh"
728
#include "nix/expr/eval-settings.hh"
829
#include "nix/flake/lockfile.hh"
9-
#include "nix/expr/primops.hh"
1030
#include "nix/expr/eval-inline.hh"
1131
#include "nix/store/store-api.hh"
1232
#include "nix/fetchers/fetchers.hh"
1333
#include "nix/util/finally.hh"
1434
#include "nix/fetchers/fetch-settings.hh"
1535
#include "nix/flake/settings.hh"
1636
#include "nix/expr/value-to-json.hh"
17-
#include "nix/store/local-fs-store.hh"
1837
#include "nix/fetchers/fetch-to-store.hh"
1938
#include "nix/util/memory-source-accessor.hh"
2039
#include "nix/fetchers/input-cache.hh"
21-
22-
#include <nlohmann/json.hpp>
40+
#include "nix/expr/attr-set.hh"
41+
#include "nix/expr/eval-error.hh"
42+
#include "nix/expr/nixexpr.hh"
43+
#include "nix/expr/symbol-table.hh"
44+
#include "nix/expr/value.hh"
45+
#include "nix/expr/value/context.hh"
46+
#include "nix/fetchers/attrs.hh"
47+
#include "nix/fetchers/registry.hh"
48+
#include "nix/flake/flakeref.hh"
49+
#include "nix/store/path.hh"
50+
#include "nix/util/canon-path.hh"
51+
#include "nix/util/configuration.hh"
52+
#include "nix/util/error.hh"
53+
#include "nix/util/experimental-features.hh"
54+
#include "nix/util/file-system.hh"
55+
#include "nix/util/fmt.hh"
56+
#include "nix/util/hash.hh"
57+
#include "nix/util/logging.hh"
58+
#include "nix/util/pos-idx.hh"
59+
#include "nix/util/pos-table.hh"
60+
#include "nix/util/position.hh"
61+
#include "nix/util/source-path.hh"
62+
#include "nix/util/types.hh"
63+
#include "nix/util/util.hh"
2364

2465
namespace nix {
66+
struct SourceAccessor;
2567

2668
using namespace flake;
2769

@@ -865,7 +907,7 @@ static ref<SourceAccessor> makeInternalFS()
865907
internalFS->setPathDisplay("«flakes-internal»", "");
866908
internalFS->addFile(
867909
CanonPath("call-flake.nix"),
868-
#include "call-flake.nix.gen.hh"
910+
#include "call-flake.nix.gen.hh" // IWYU pragma: keep
869911
);
870912
return internalFS;
871913
}

src/libflake/flakeref.cc

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,39 @@
1+
#include <assert.h>
2+
#include <sys/stat.h>
3+
#include <sys/types.h>
4+
#include <filesystem>
5+
#include <ostream>
6+
#include <string_view>
7+
#include <vector>
8+
#include <optional>
9+
#include <regex>
10+
#include <string>
11+
#include <tuple>
12+
#include <utility>
13+
114
#include "nix/flake/flakeref.hh"
2-
#include "nix/store/store-api.hh"
315
#include "nix/util/url.hh"
416
#include "nix/util/url-parts.hh"
517
#include "nix/fetchers/fetchers.hh"
18+
#include "nix/util/error.hh"
19+
#include "nix/util/file-system.hh"
20+
#include "nix/util/fmt.hh"
21+
#include "nix/util/logging.hh"
22+
#include "nix/util/strings.hh"
23+
#include "nix/util/util.hh"
24+
#include "nix/fetchers/attrs.hh"
25+
#include "nix/fetchers/registry.hh"
26+
#include "nix/store/outputs-spec.hh"
27+
#include "nix/util/ref.hh"
28+
#include "nix/util/types.hh"
629

730
namespace nix {
31+
class Store;
32+
struct SourceAccessor;
33+
34+
namespace fetchers {
35+
struct Settings;
36+
} // namespace fetchers
837

938
#if 0
1039
// 'dir' path elements cannot start with a '.'. We also reject

src/libflake/include/nix/flake/flake-primops.hh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
#pragma once
22

33
#include "nix/expr/eval.hh"
4-
#include "nix/flake/settings.hh"
4+
5+
namespace nix {
6+
namespace flake {
7+
struct Settings;
8+
} // namespace flake
9+
} // namespace nix
510

611
namespace nix::flake::primops {
712

src/libflake/include/nix/flake/flakeref.hh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,22 @@
22
///@file
33

44
#include <regex>
5+
#include <iosfwd>
6+
#include <string>
7+
#include <tuple>
8+
#include <utility>
59

6-
#include "nix/util/types.hh"
7-
#include "nix/fetchers/fetchers.hh"
810
#include "nix/store/outputs-spec.hh"
911
#include "nix/fetchers/registry.hh"
1012

1113
namespace nix {
1214

1315
class Store;
1416

17+
namespace fetchers {
18+
struct Settings;
19+
} // namespace fetchers
20+
1521
typedef std::string FlakeId;
1622

1723
/**

0 commit comments

Comments
 (0)