-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.pubignore
More file actions
139 lines (118 loc) · 5.46 KB
/
Copy path.pubignore
File metadata and controls
139 lines (118 loc) · 5.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# Patterns excluded from `dart pub publish` (in addition to / replacing
# the rules in the root `.gitignore`). Per dart.dev/go/pubignore, a
# .pubignore in a directory replaces the .gitignore in the same
# directory for publishing purposes, so the patterns below mirror the
# root .gitignore and then add the agent-tooling files that should not
# ship to package consumers.
# --- Mirror of root .gitignore ---------------------------------------
# Rust build artefacts
rust/target/
# cargo-fuzz workspace (separate Cargo workspace under rust/fuzz/ that
# pulls in libfuzzer-sys and is only ever exercised by maintainers
# running `cargo +nightly fuzz run`). Not part of the build the
# Native Assets hook performs for consumers, so the entire directory
# — sources, manifest, regression seed corpus, and target/ — is
# excluded from the published tarball.
rust/fuzz/
# Dart/Flutter
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
build/
pubspec.lock
# CocoaPods (regenerated by `pod install`)
example/ios/Podfile.lock
example/macos/Podfile.lock
example/ios/Pods/
example/macos/Pods/
# Beads / Dolt files (added by bd init)
.dolt/
*.db
.beads-credential-key
# IDE — JetBrains
.idea/
*.iml
*.ipr
*.iws
# FVM Version Cache
.fvm/
# Coverage artefacts. Both `flutter test --coverage` (Dart) and
# `cargo tarpaulin --output-dir coverage` (Rust) write `lcov.info`
# into a sibling `coverage/` directory. Each CI run regenerates and
# uploads the file to Codecov directly from the workflow; the
# in-tree copy is purely a local artefact and must not ship inside
# the published tarball. Mirrors root .gitignore.
coverage/
# macOS Finder metadata. Mirrors root .gitignore; if a maintainer
# happens to publish from a directory a Finder window has visited,
# the local-only `.DS_Store` files must not ship in the tarball.
.DS_Store
# --- Additional publish-only exclusions ------------------------------
# AI-agent guidance files. Tracked in git (so contributors and the
# coding agents pick them up from the repo) but not useful to package
# consumers, who never run those agents against the published tarball.
AGENTS.md
CLAUDE.md
# Contributor documentation. Both files explicitly state at the top
# that they are for contributors / integrators and that day-to-day API
# users only need the README. Keeping them in git for the repo audience
# but excluded from the published surface.
ARCHITECTURE.md
DEVELOPMENT.md
# flutter_rust_bridge codegen config. The generated bindings are
# committed under lib/src/ffi/** and rust/src/frb_generated.rs and ship
# pre-built; the FRB codegen CLI is only ever run by maintainers on
# this repo, never by package consumers.
flutter_rust_bridge.yaml
# Maintainer's analyzer configuration. A consumer's analyzer reads the
# consumer's own analysis_options.yaml; ours does not influence their
# lints, so shipping it is noise on the package surface.
analysis_options.yaml
# Maintainer's test-runner configuration. Defines the `live` tag-skip
# directive that keeps the opt-in network suite under test/ out of the
# default `flutter test` gate; consumers never run this repo's test
# suite (test/ itself is excluded above), so the config is pure noise
# on the published surface.
dart_test.yaml
# Maintainer's SonarCloud/SonarQube project configuration. Read solely by
# the SonarCloud CI analysis that runs against this repo; package
# consumers never invoke SonarCloud against the published tarball, so
# the file is pure noise on the published surface — same rationale as
# the analyzer/test-runner/FRB configs above.
sonar-project.properties
# Maintainer-only Rust tool configs. rust/clippy.toml is read solely by
# `cargo clippy` and rust/tarpaulin.toml solely by `cargo tarpaulin`,
# both of which run only in this repo's CI / local maintainer workflow.
# The Native Assets build hook compiles consumer-side via `cargo build`
# (RustBuilder), which never reads either file, so they are pure noise on
# the published surface — same rationale as the analyzer/test-runner/FRB
# /Sonar configs above. (rust/rust-toolchain.toml is deliberately NOT
# excluded: RustBuilder reads it via rustup for the channel pin and the
# cross-compile targets used by consumer builds.)
rust/clippy.toml
rust/tarpaulin.toml
# Internal tooling. tool/check_bindings.dart is a CI drift check for
# the FRB codegen step that only runs when rust/src/api/*.rs changes;
# consumers never invoke it.
tool/
# Internal tests. test/ffi_smoke_test.dart exercises the FFI bridge
# in this repo's CI; it is not part of the public API and does not
# help consumers verify their integration.
test/
# Test-only Rust modules. Each external `tests.rs` sibling file (and
# the shared `test_helpers` module under nts/) is referenced via
# `#[cfg(test)] mod tests;` / `#[cfg(test)] pub(crate) mod
# test_helpers;` in the parent file, so Native Assets'
# `cargo build --release` against the consumer's machine never
# compiles or even parses them — the `#[cfg(test)]` attribute removes
# the module reference before file lookup. Inline
# `#[cfg(test)] mod tests { … }` blocks inside files like
# `rust/src/nts/cookies.rs` / `dns.rs` / `aead.rs` stay in place
# because those parent files are required by release builds; only the
# inner `tests` mod is cfg-gated. Excluding the sibling test files
# shaves ~243 KB uncompressed (~60 KB compressed, ~11% of the 4.0.0
# archive) without breaking any consumer-visible build path. Glob
# form so future test-module extractions are covered automatically.
rust/src/**/tests.rs
rust/src/**/test_helpers.rs