Skip to content

Commit 983a50d

Browse files
authored
Merge pull request #3 from gspencergoog/cirrus_switch
Switch to using Cirrus instead of Travis, and add a check for publishability. This consisted of copying the setup from the flutter/plugins repo and renaming PLUGIN_SHARDING to BUILD_SHARDING. Moves packages/palette_generator/example/image_colors up one directory level to packages/palette_generator/example, since there's only the one example, and the plugin_tools and pub only seem to allow one example. That's really too bad, but I don't feel like fighting it at the moment. Fixed a formatting error (that was probably due to dartfmt changing), and an analyzer error (due to an updated analyzer).
2 parents fe7ca46 + 4cf9b0e commit 983a50d

File tree

71 files changed

+193
-184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+193
-184
lines changed

.cirrus.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
task:
2+
container:
3+
image: cirrusci/flutter:latest
4+
cpu: 4
5+
memory: 8G
6+
upgrade_script:
7+
- flutter channel master
8+
- flutter upgrade
9+
- git fetch origin master
10+
activate_script: pub global activate flutter_plugin_tools
11+
matrix:
12+
- name: publishable
13+
script: ./script/check_publish.sh
14+
- name: test+format
15+
install_script:
16+
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
17+
- sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-5.0 main"
18+
- sudo apt-get update
19+
- sudo apt-get install -y --allow-unauthenticated clang-format-5.0
20+
format_script: ./script/incremental_build.sh format --travis --clang-format=clang-format-5.0
21+
test_script: ./script/incremental_build.sh test
22+
- name: analyze
23+
script: ./script/incremental_build.sh analyze
24+
- name: build-apks+java-test
25+
env:
26+
matrix:
27+
BUILD_SHARDING: "--shardIndex 0 --shardCount 2"
28+
BUILD_SHARDING: "--shardIndex 1 --shardCount 2"
29+
script:
30+
- ./script/incremental_build.sh build-examples --apk
31+
- ./script/incremental_build.sh java-test # must come after apk build
32+
33+
task:
34+
name: build-ipas
35+
osx_instance:
36+
image: high-sierra-xcode-9.4
37+
env:
38+
PATH: $PATH:/usr/local/bin
39+
matrix:
40+
BUILD_SHARDING: "--shardIndex 0 --shardCount 2"
41+
BUILD_SHARDING: "--shardIndex 1 --shardCount 2"
42+
setup_script:
43+
- brew update
44+
- brew install libimobiledevice
45+
- brew install ideviceinstaller
46+
- brew install ios-deploy
47+
- pod repo update
48+
- git clone https://github.com/flutter/flutter.git
49+
- git fetch origin master
50+
- export PATH=`pwd`/flutter/bin:`pwd`/flutter/bin/cache/dart-sdk/bin:$PATH
51+
- flutter doctor
52+
- pub global activate flutter_plugin_tools
53+
build_script:
54+
- export PATH=`pwd`/flutter/bin:`pwd`/flutter/bin/cache/dart-sdk/bin:$PATH
55+
- ./script/incremental_build.sh build-examples --ipa

.travis.yml

Lines changed: 0 additions & 112 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 8 additions & 2 deletions

README.md

Lines changed: 1 addition & 2 deletions

packages/palette_generator/README.md

Lines changed: 1 addition & 1 deletion

packages/palette_generator/example/image_colors/lib/main.dart renamed to packages/palette_generator/example/lib/main.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,4 +302,3 @@ class PaletteSwatch extends StatelessWidget {
302302
return swatch;
303303
}
304304
}
305-

packages/palette_generator/example/image_colors/pubspec.yaml renamed to packages/palette_generator/example/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ dependencies:
77
flutter:
88
sdk: flutter
99
palette_generator:
10-
path: ../..
10+
path: ..
1111
cupertino_icons: ^0.1.2
1212

1313
dev_dependencies:

packages/palette_generator/palette_generator.iml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@
66
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
77
<excludeFolder url="file://$MODULE_DIR$/.pub" />
88
<excludeFolder url="file://$MODULE_DIR$/build" />
9-
<excludeFolder url="file://$MODULE_DIR$/example/image_colors/.dart_tool" />
10-
<excludeFolder url="file://$MODULE_DIR$/example/image_colors/.pub" />
11-
<excludeFolder url="file://$MODULE_DIR$/example/image_colors/android/app/src/main/java/io/flutter/packages" />
12-
<excludeFolder url="file://$MODULE_DIR$/example/image_colors/build" />
13-
<excludeFolder url="file://$MODULE_DIR$/example/image_test/.dart_tool" />
14-
<excludeFolder url="file://$MODULE_DIR$/example/image_test/.pub" />
15-
<excludeFolder url="file://$MODULE_DIR$/example/image_test/build" />
9+
<excludeFolder url="file://$MODULE_DIR$/example/.dart_tool" />
10+
<excludeFolder url="file://$MODULE_DIR$/example/.pub" />
11+
<excludeFolder url="file://$MODULE_DIR$/example/android/app/src/main/java/io/flutter/packages" />
12+
<excludeFolder url="file://$MODULE_DIR$/example/build" />
1613
</content>
1714
<orderEntry type="inheritedJdk" />
1815
<orderEntry type="sourceFolder" forTests="false" />

packages/palette_generator/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ dependencies:
1111
path: ^1.6.1
1212

1313
dev_dependencies:
14-
mockito: ^2.2.3
14+
mockito: ^3.0.0
1515
flutter_test:
1616
sdk: flutter
1717

packages/palette_generator/test/palette_generator_test.dart

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ void main() async {
6565
testImages[name] = await loadImage('$name.png');
6666
}
6767

68-
testWidgets('Initialize the image cache', (WidgetTester tester) {
68+
testWidgets('Initialize the image cache', (WidgetTester tester) async {
6969
// We need to have a testWidgets test in order to initialize the image
7070
// cache for the other tests, but they timeout if they too are testWidgets
7171
// tests.
@@ -104,8 +104,10 @@ void main() async {
104104
final ImageProvider imageProvider = testImages['dominant'];
105105
Rect region = new Rect.fromLTRB(0.0, 0.0, 100.0, 100.0);
106106
const Size size = const Size(100.0, 100.0);
107-
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(imageProvider,
108-
region: region, size: size);
107+
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(
108+
imageProvider,
109+
region: region,
110+
size: size);
109111
expect(palette.paletteColors.length, equals(3));
110112
expect(palette.dominantColor.color,
111113
within<Color>(distance: 8, from: const Color(0xff0000ff)));
@@ -167,14 +169,15 @@ void main() async {
167169

168170
test('PaletteGenerator limits max colors', () async {
169171
final ImageProvider imageProvider = testImages['landscape'];
170-
PaletteGenerator palette =
171-
await PaletteGenerator.fromImageProvider(imageProvider, maximumColorCount: 32);
172+
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(
173+
imageProvider,
174+
maximumColorCount: 32);
172175
expect(palette.paletteColors.length, equals(31));
173-
palette =
174-
await PaletteGenerator.fromImageProvider(imageProvider, maximumColorCount: 1);
176+
palette = await PaletteGenerator.fromImageProvider(imageProvider,
177+
maximumColorCount: 1);
175178
expect(palette.paletteColors.length, equals(1));
176-
palette =
177-
await PaletteGenerator.fromImageProvider(imageProvider, maximumColorCount: 15);
179+
palette = await PaletteGenerator.fromImageProvider(imageProvider,
180+
maximumColorCount: 15);
178181
expect(palette.paletteColors.length, equals(15));
179182
});
180183

@@ -184,8 +187,9 @@ void main() async {
184187
List<PaletteFilter> filters = <PaletteFilter>[
185188
avoidRedBlackWhitePaletteFilter
186189
];
187-
PaletteGenerator palette =
188-
await PaletteGenerator.fromImageProvider(imageProvider, filters: filters);
190+
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(
191+
imageProvider,
192+
filters: filters);
189193
final List<PaletteColor> expectedSwatches = <PaletteColor>[
190194
new PaletteColor(const Color(0xff3f630c), 10137),
191195
new PaletteColor(const Color(0xff3c4b2a), 4773),
@@ -213,7 +217,8 @@ void main() async {
213217

214218
// A non-default filter works (and the default filter isn't applied too).
215219
filters = <PaletteFilter>[onlyBluePaletteFilter];
216-
palette = await PaletteGenerator.fromImageProvider(imageProvider, filters: filters);
220+
palette = await PaletteGenerator.fromImageProvider(imageProvider,
221+
filters: filters);
217222
final List<PaletteColor> blueSwatches = <PaletteColor>[
218223
new PaletteColor(const Color(0xff4c5c75), 1515),
219224
new PaletteColor(const Color(0xff7483a1), 1505),
@@ -242,7 +247,8 @@ void main() async {
242247

243248
// More than one filter is the intersection of the two filters.
244249
filters = <PaletteFilter>[onlyBluePaletteFilter, onlyCyanPaletteFilter];
245-
palette = await PaletteGenerator.fromImageProvider(imageProvider, filters: filters);
250+
palette = await PaletteGenerator.fromImageProvider(imageProvider,
251+
filters: filters);
246252
final List<PaletteColor> blueGreenSwatches = <PaletteColor>[
247253
new PaletteColor(const Color(0xffc8e8f8), 87),
248254
new PaletteColor(const Color(0xff5c6c74), 73),
@@ -271,7 +277,8 @@ void main() async {
271277

272278
// Mutually exclusive filters return an empty palette.
273279
filters = <PaletteFilter>[onlyBluePaletteFilter, onlyGreenPaletteFilter];
274-
palette = await PaletteGenerator.fromImageProvider(imageProvider, filters: filters);
280+
palette = await PaletteGenerator.fromImageProvider(imageProvider,
281+
filters: filters);
275282
expect(palette.paletteColors, isEmpty);
276283
expect(palette.dominantColor, isNull);
277284
expect(palette.colors, isEmpty);
@@ -281,7 +288,8 @@ void main() async {
281288
final ImageProvider imageProvider = testImages['landscape'];
282289
// Passing an empty set of targets works the same as passing a null targets
283290
// list.
284-
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(imageProvider,
291+
PaletteGenerator palette = await PaletteGenerator.fromImageProvider(
292+
imageProvider,
285293
targets: <PaletteTarget>[]);
286294
expect(palette.selectedSwatches, isNotEmpty);
287295
expect(palette.vibrantColor, isNotNull);

script/check_publish.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# This script checks to make sure that each of the plugins *could* be published.
5+
# It doesn't actually publish anything.
6+
7+
# So that users can run this script from anywhere and it will work as expected.
8+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
9+
REPO_DIR="$(dirname "$SCRIPT_DIR")"
10+
11+
source "$SCRIPT_DIR/common.sh"
12+
13+
function check_publish() {
14+
local failures=()
15+
for package_name in "$@"; do
16+
local dir="$REPO_DIR/packages/$package_name"
17+
echo "Checking that $package_name can be published."
18+
if (cd "$dir" && pub publish --dry-run > /dev/null); then
19+
echo "Package $package_name is able to be published."
20+
else
21+
error "Unable to publish $package_name"
22+
failures=("${failures[@]}" "$package_name")
23+
fi
24+
done
25+
if [[ "${#failures[@]}" != 0 ]]; then
26+
error "FAIL: The following ${#failures[@]} package(s) failed the publishing check:"
27+
for failure in "${failures[@]}"; do
28+
error "$failure"
29+
done
30+
fi
31+
return "${#failures[@]}"
32+
}
33+
34+
# Sets CHANGED_PACKAGE_LIST
35+
check_changed_packages
36+
37+
if [[ "${#CHANGED_PACKAGE_LIST[@]}" != 0 ]]; then
38+
check_publish "${CHANGED_PACKAGE_LIST[@]}"
39+
fi

0 commit comments

Comments
 (0)