Skip to content

Commit f100ed6

Browse files
committed
fix(aft): Submodule libgit2dart
Adds workaround for dart-lang/pub#3563 which requires using Flutter's `dart` command if a package lists a Flutter SDK constraint even if the package does not depend on Flutter.
1 parent ae1ff5c commit f100ed6

14 files changed

+125
-24
lines changed

.github/workflows/aft.yaml

+25-16
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
1-
# Generated with aft. To update, run: `aft generate workflows`
21
name: aft
32
on:
43
push:
54
branches:
65
- main
76
- stable
87
- next
8+
paths:
9+
- 'packages/aft/**/*.dart'
910
pull_request:
1011
paths:
1112
- 'packages/aft/**/*.dart'
12-
- 'packages/aft/**/*.yaml'
13-
- 'packages/aft/lib/**/*'
14-
- 'packages/aft/test/**/*'
15-
- '.github/workflows/dart_vm.yaml'
16-
- '.github/workflows/dart_native.yaml'
17-
- '.github/workflows/aft.yaml'
1813
schedule:
1914
- cron: "0 0 * * 0" # Every Sunday at 00:00
2015
defaults:
@@ -24,12 +19,26 @@ permissions: read-all
2419

2520
jobs:
2621
test:
27-
uses: ./.github/workflows/dart_vm.yaml
28-
with:
29-
working-directory: packages/aft
30-
native_test:
31-
if: ${{ github.event_name == 'push' }}
32-
needs: test
33-
uses: ./.github/workflows/dart_native.yaml
34-
with:
35-
working-directory: packages/aft
22+
name: Test
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Git Checkout
26+
uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # v2.5.0
27+
28+
- name: Setup Dart
29+
uses: dart-lang/setup-dart@196f54580e9eee2797c57e85e289339f85e6779d # main
30+
with:
31+
sdk: stable
32+
33+
- name: Get Packages
34+
working-directory: packages/aft
35+
run: |
36+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
37+
( cd /external/libgit2dart; git apply ../libgit2dart.patch )
38+
dart pub upgrade
39+
sudo apt-get install libgit2-dev
40+
dart run libgit2dart:setup
41+
42+
- name: Run Tests
43+
working-directory: packages/aft
44+
run: dart test

.github/workflows/amplify_authenticator.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515
- '.github/workflows/flutter_vm.yaml'
1616
- '.github/workflows/amplify_authenticator.yaml'
1717
schedule:
18-
- cron: '0 0 * * 0' # Every Sunday at 00:00
18+
- cron: "0 0 * * 0" # Every Sunday at 00:00
1919
defaults:
2020
run:
2121
shell: bash

.github/workflows/dart_dart2js.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ jobs:
5050
sdk: ${{ matrix.sdk }}
5151

5252
- name: Setup aft
53-
run: dart pub global activate -spath packages/aft
53+
run: |
54+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
55+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
56+
dart pub global activate -spath packages/aft
5457
5558
- name: Setup Firefox
5659
if: ${{ matrix.browser == 'firefox' }}

.github/workflows/dart_ddc.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ jobs:
5454
sdk: ${{ matrix.sdk }}
5555

5656
- name: Setup aft
57-
run: dart pub global activate -spath packages/aft
57+
run: |
58+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
59+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
60+
dart pub global activate -spath packages/aft
5861
5962
- name: Setup Firefox
6063
if: ${{ matrix.browser == 'firefox' }}

.github/workflows/dart_native.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ jobs:
5151
sdk: stable
5252

5353
- name: Setup aft
54-
run: dart pub global activate -spath packages/aft
54+
run: |
55+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
56+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
57+
dart pub global activate -spath packages/aft
5558
5659
- name: Bootstrap
5760
id: bootstrap

.github/workflows/dart_vm.yaml

+4-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ jobs:
4747
sdk: ${{ matrix.sdk }}
4848

4949
- name: Setup aft
50-
run: dart pub global activate -spath packages/aft
50+
run: |
51+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
52+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
53+
dart pub global activate -spath packages/aft
5154
5255
- name: Bootstrap
5356
id: bootstrap

.github/workflows/smoke_test.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434

3535
- name: Link Packages
3636
run: |
37+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
38+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
3739
dart pub global activate -spath packages/aft
3840
aft link
3941

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,6 @@
1111
path = packages/smithy/goldens/smithy
1212
url = https://github.com/awslabs/smithy.git
1313
branch = main
14+
[submodule "packages/aft/external/libgit2dart"]
15+
path = packages/aft/external/libgit2dart
16+
url = https://github.com/SkinnyMind/libgit2dart.git

aft.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ dependencies:
2020
# Packages to ignore in all repo operations.
2121
ignore:
2222
- synthetic_package
23+
- libgit2dart
2324

2425
# Strongly connected components which should have version bumps happen
2526
# in unison, i.e. a version bump to one package cascades to all.

packages/aft/analysis_options.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ analyzer:
55
public_member_api_docs: ignore
66
exclude:
77
- '**/*.g.dart'
8+
- external/
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
diff --git a/pubspec.yaml b/pubspec.yaml
2+
index 5acda72..2831e58 100644
3+
--- a/pubspec.yaml
4+
+++ b/pubspec.yaml
5+
@@ -8,7 +8,6 @@ homepage: https://github.com/SkinnyMind/libgit2dart
6+
7+
environment:
8+
sdk: ">=2.18.0 <3.0.0"
9+
- flutter: ">=3.3.0"
10+
11+
dependencies:
12+
args: ^2.3.0
13+
@@ -23,16 +22,6 @@ dev_dependencies:
14+
lints: ^2.0.0
15+
test: ^1.20.0
16+
17+
-flutter:
18+
- plugin:
19+
- platforms:
20+
- linux:
21+
- pluginClass: Libgit2dartPlugin
22+
- macos:
23+
- pluginClass: Libgit2dartPlugin
24+
- windows:
25+
- pluginClass: Libgit2dartPlugin
26+
-
27+
ffigen:
28+
output: "lib/src/bindings/libgit2_bindings.dart"
29+
headers:

packages/aft/pubspec.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,7 @@ dependencies:
2727
http: ^0.13.0
2828
json_annotation: ^4.7.0
2929
libgit2dart:
30-
git:
31-
url: https://github.com/SkinnyMind/libgit2dart
32-
ref: d55742d6d7725fa190df0caf3c1cbe60b7b481aa
30+
path: external/libgit2dart
3331
markdown: ^5.0.0
3432
meta: ^1.7.0
3533
path: any

packages/aft/workflow.yaml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: aft
2+
on:
3+
push:
4+
branches:
5+
- main
6+
- stable
7+
- next
8+
paths:
9+
- 'packages/aft/**/*.dart'
10+
pull_request:
11+
paths:
12+
- 'packages/aft/**/*.dart'
13+
schedule:
14+
- cron: "0 0 * * 0" # Every Sunday at 00:00
15+
defaults:
16+
run:
17+
shell: bash
18+
permissions: read-all
19+
20+
jobs:
21+
test:
22+
name: Test
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Git Checkout
26+
uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # v2.5.0
27+
28+
- name: Setup Dart
29+
uses: dart-lang/setup-dart@196f54580e9eee2797c57e85e289339f85e6779d # main
30+
with:
31+
sdk: stable
32+
33+
- name: Get Packages
34+
working-directory: packages/aft
35+
run: |
36+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
37+
( cd /external/libgit2dart; git apply ../libgit2dart.patch )
38+
dart pub upgrade
39+
sudo apt-get install libgit2-dev
40+
dart run libgit2dart:setup
41+
42+
- name: Run Tests
43+
working-directory: packages/aft
44+
run: dart test

packages/aws_sdk/smoke_test/workflow.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434

3535
- name: Link Packages
3636
run: |
37+
# Patch libgit2dart (see https://github.com/dart-lang/pub/issues/3563)
38+
( cd packages/aft/external/libgit2dart; git apply ../libgit2dart.patch )
3739
dart pub global activate -spath packages/aft
3840
aft link
3941

0 commit comments

Comments
 (0)