-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpubspec.yaml
More file actions
161 lines (136 loc) · 4.58 KB
/
Copy pathpubspec.yaml
File metadata and controls
161 lines (136 loc) · 4.58 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
name: ack_workspace
description: ACK workspace root package
environment:
sdk: '>=3.8.0 <4.0.0'
flutter: '>=3.16.0'
workspace:
- packages/ack
- packages/ack_annotations
- packages/ack_generator
- packages/ack_firebase_ai
- packages/ack_json_schema_builder
- example
dependencies:
meta: ^1.15.0
dev_dependencies:
melos: ^7.3.0
test: ^1.25.15
very_good_analysis: ^9.0.0
# Shared lint config consumed by /analysis_options.yaml (workspace-wide).
lints: ^5.0.0
dart_code_metrics_presets: ^2.22.0
melos:
ide:
intellij: false
bootstrap:
dependencies:
meta: ^1.15.0
dev_dependencies:
lints: ^5.0.0
test: ^1.25.15
command:
version:
# Generate changelogs for the workspace
workspaceChangelog: true
# Message for version commits
message: "chore(release): publish packages\n\n{new_package_versions}"
# Exclude example from versioning
packageFilters:
ignore:
- ack_example
# Hooks for customizing the versioning process
hooks:
preCommit: |
echo "Running pre-commit hook for versioning"
dart scripts/update_release_changelog.dart
scripts:
analyze:
run: dart run melos exec -- "dart analyze . --fatal-infos"
description: Run analyzer on all packages
packageFilters:
scope:
- ack
- ack_generator
- ack_firebase_ai
- ack_json_schema_builder
- ack_example
- ack_annotations
fix:
run: dart run melos exec -- "dart fix --apply"
description: Apply fixes to all packages
test:
run: >-
dart run melos run analyze --no-select &&
dart test test &&
dart run melos run test:dart --no-select &&
dart run melos run test:flutter --no-select
description: Run strict analysis and all root, Dart, and Flutter tests
test:dart:
run: dart run melos exec -c 1 --fail-fast -- "dart test"
description: Run Dart tests for pure Dart packages
packageFilters:
flutter: false
dirExists: test
test:flutter:
run: dart run melos exec -c 1 --fail-fast -- "flutter test"
description: Run Flutter tests for Flutter packages
packageFilters:
flutter: true
dirExists: test
format:
run: dart run melos exec -- "dart format ."
description: Format code for all packages
deps-outdated:
run: dart run melos exec -- "dart pub outdated"
description: Check for outdated dependencies in all packages
clean:
run: dart run melos clean
description: Clean all build outputs.
# Build scripts for code generation
build:
run: dart run melos exec -- "dart run build_runner build"
description: Run build_runner for all packages
packageFilters:
dependsOn: build_runner
# Version and publish scripts
# Publishing helpers
publish:
run: dart run melos publish --no-dry-run --yes
description: Publish packages to pub.dev
release:
run: |
dart run melos version --yes
dart run melos publish --no-dry-run --yes
description: One-step version and publish
# ACK Generator specific test commands
test:gen:
run: dart run melos exec -c 1 -- dart test
description: Run generator tests
packageFilters:
scope: ack_generator
firebase-ai-fixtures:
run: cd packages/ack_firebase_ai && dart run tool/generate_firebase_ai_response_json_schema_fixtures.dart
description: Regenerate Firebase AI adapter and native schema fixtures
# JSON Schema Draft-7 validation
validate-jsonschema:
run: |
echo "🔧 Installing Node.js dependencies..."
(cd tools && npm ci)
echo "🧪 Running JSON Schema Draft-7 validation tests..."
(cd packages/ack && dart test test/json_schema_conformance_test.dart)
description: Validate JSON Schema Draft-7 specifications
validate-jsonschema:batch:
run: |
cd tools && npm ci
node jsonschema-validator.js validate-batch --input test-fixtures/reference-config.json
description: Run batch JSON Schema Draft-7 validation
validate-jsonschema:setup:
run: cd tools && npm ci
description: Install Node.js dependencies for JSON Schema validation
# API compatibility checking with dart_apitool
api-check:
run: dart scripts/api_check.dart
description: "Check API compatibility against a published version"
ci:
run: dart run melos run test --no-select
description: Run strict analysis (fatal infos) and all Dart & Flutter tests