Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Prepare to move new folders into third_party/ by adding a .gitignore. #46729

Merged
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
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ pubspec.lock
docs/doxygen/
xcuserdata

third_party/gn/
third_party/ninja/ninja*

# Miscellaneous
*.class
*.lock
Expand Down
2 changes: 2 additions & 0 deletions ci/licenses_golden/excluded_files
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,8 @@
../../../flutter/sky/tools/objcopy.py
../../../flutter/testing
../../../flutter/third_party/.clang-tidy
../../../flutter/third_party/.gitignore
../../../flutter/third_party/README.md
../../../flutter/third_party/accessibility/README.md
../../../flutter/third_party/accessibility/ax/ax_enum_util_unittest.cc
../../../flutter/third_party/accessibility/ax/ax_event_generator_unittest.cc
Expand Down
23 changes: 23 additions & 0 deletions third_party/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Ignore everything by default, as these come from gclient/DEPS.
# We'll explicitly include the folders we want to track.
*

# Include the .gitignore file itself and .clang-tidy.
!.gitignore
!.clang-tidy
!README.md

# Allow custom README.flutter files in each folder.
**/README.flutter

# Include folders that have hand-written code (not DEPS).
!accessibility/
!canvaskit/
!ninja/
!spring_animation/
!test_shaders/
!tonic/
!txt/
!web_locale_keymap/
!web_test_fonts/
!web_unicode/
24 changes: 24 additions & 0 deletions third_party/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# `flutter/third_party`

This directory contains third-party code that is a combination of:

- Code that is vendored into the Flutter repository, from an external source.
For example, we might have `third_party/glfw`, which contains the GLFW
library, vendored from an external repository.

> 💡 **TIP**: See [`DEPS`](../DEPS) for where these sources are declared.

- Code that originates from another repository, but is copied (sometimes with
alterations) into the Flutter repository. For an example, see
[`third_party/spring_animation`](spring_animation/README.md).

- Code that is licensed separately from the rest of the Flutter repository.
For example, see [`third_party/txt`](txt/).

When adding a new _externally_ sourced third-party library, update `.gitignore`:

```diff
# Ignores all third_party/ directories except for the ones we want to track.

+ !{folder_name}/
```