Re-organize repo (#83)
Before, package:file/testing.dart was a library containing testing
utilities. That library depended on package:test. However, we
explicitly didn't declare a dependency on `test` in the pubspec.yaml
because most users of package:file don't want that dependency.
Unfortunately, there's no way to have library-specific sections within
a pubspec.yaml. So in order to declare that those testing utilities
did in fact depend on `package:test`, we had to publish them as a
separate package. This change does just that, as `package:file_testing`.
diff --git a/.gitignore b/.gitignore
index ccd6b4c..baf534c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,8 +3,6 @@
.buildlog
.dart_tool/
.pub/
-build/
-packages
.packages
# Or the files created by dart2js.
diff --git a/.travis.yml b/.travis.yml
index ac8172c..0b16974 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,8 @@
-language: dart
-
-dart:
- - dev
-
-dart_task:
- - test
- - dartanalyzer
- - dartfmt
+env:
+ - SHARD=dartfmt
+ - SHARD=analyze
+ - SHARD=tests
+install:
+ - ./dev/bots/travis_install.sh
+script:
+ - ./dev/bots/travis_script.sh
diff --git a/appveyor.yml b/appveyor.yml
index 0f08276..319ec41 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -2,11 +2,11 @@
- ps: wget https://storage.googleapis.com/dart-archive/channels/dev/release/latest/sdk/dartsdk-windows-x64-release.zip -OutFile dart-sdk.zip
- cmd: echo "Unzipping dart-sdk..."
- cmd: 7z x dart-sdk.zip -o"C:\tools" -y > nul
- - ps: refreshenv
- set PATH=%PATH%;C:\tools\dart-sdk\bin
- set PATH=%PATH%;%APPDATA%\Pub\Cache\bin
+ - cmd: cd packages\file
- ps: pwd
- - pub get
+ - cmd: pub get
build: off
diff --git a/dev/bots/travis_install.sh b/dev/bots/travis_install.sh
new file mode 100755
index 0000000..ff2f932
--- /dev/null
+++ b/dev/bots/travis_install.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -ex
+
+echo "$PWD"
+
+export PATH="$HOME/dart-sdk/bin:$PATH"
+export ROOT="$PWD"
+export PACKAGES=("file" "file_testing")
+
+wget \
+ --tries=3 \
+ --output-document=dart-sdk.zip \
+ https://storage.googleapis.com/dart-archive/channels/dev/release/latest/sdk/dartsdk-linux-x64-release.zip
+echo "Unzipping dart-sdk..."
+unzip dart-sdk.zip -d "$HOME" > /dev/null
+
+for package in "${PACKAGES[@]}"; do
+ cd $ROOT/packages/$package
+ pub get
+done
diff --git a/dev/bots/travis_script.sh b/dev/bots/travis_script.sh
new file mode 100755
index 0000000..fe55e57
--- /dev/null
+++ b/dev/bots/travis_script.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -ex
+
+export PATH="$HOME/dart-sdk/bin:$PATH"
+export ROOT="$PWD"
+export PACKAGES=("file" "file_testing")
+
+if [[ "$SHARD" == "dartfmt" ]]; then
+ dartfmt --dry-run --set-exit-if-changed packages || exit $?
+elif [[ "$SHARD" == "analyze" ]]; then
+ for package in "${PACKAGES[@]}"; do
+ echo "Analyzing packages/$package"
+ cd $ROOT/packages/$package
+ dartanalyzer --options=$ROOT/analysis_options.yaml . || exit $?
+ done
+else
+ # tests shard
+ cd $ROOT/packages/file
+ pub run test -j1 -rexpanded || exit $?
+fi
diff --git a/CHANGELOG.md b/packages/file/CHANGELOG.md
similarity index 92%
rename from CHANGELOG.md
rename to packages/file/CHANGELOG.md
index 232542c..ecbec36 100644
--- a/CHANGELOG.md
+++ b/packages/file/CHANGELOG.md
@@ -1,3 +1,9 @@
+#### 5.0.0
+
+* Moved `testing` library into a dedicated `package:file_testing` so that
+ libraries don't need to take on a transitive dependency on `package:test`
+ in order to use `package:file`.
+
#### 4.0.1
* General library cleanup
diff --git a/LICENSE b/packages/file/LICENSE
similarity index 100%
rename from LICENSE
rename to packages/file/LICENSE
diff --git a/README.md b/packages/file/README.md
similarity index 98%
rename from README.md
rename to packages/file/README.md
index ca319be..9286824 100644
--- a/README.md
+++ b/packages/file/README.md
@@ -4,6 +4,8 @@
A generic file system abstraction for Dart.
+## Features
+
Like `dart:io`, `package:file` supplies a rich Dart-idiomatic API for accessing
a file system.
diff --git a/lib/chroot.dart b/packages/file/lib/chroot.dart
similarity index 100%
rename from lib/chroot.dart
rename to packages/file/lib/chroot.dart
diff --git a/lib/file.dart b/packages/file/lib/file.dart
similarity index 100%
rename from lib/file.dart
rename to packages/file/lib/file.dart
diff --git a/lib/local.dart b/packages/file/lib/local.dart
similarity index 100%
rename from lib/local.dart
rename to packages/file/lib/local.dart
diff --git a/lib/memory.dart b/packages/file/lib/memory.dart
similarity index 100%
rename from lib/memory.dart
rename to packages/file/lib/memory.dart
diff --git a/lib/record_replay.dart b/packages/file/lib/record_replay.dart
similarity index 100%
rename from lib/record_replay.dart
rename to packages/file/lib/record_replay.dart
diff --git a/lib/src/backends/chroot.dart b/packages/file/lib/src/backends/chroot.dart
similarity index 100%
rename from lib/src/backends/chroot.dart
rename to packages/file/lib/src/backends/chroot.dart
diff --git a/lib/src/backends/chroot/chroot_directory.dart b/packages/file/lib/src/backends/chroot/chroot_directory.dart
similarity index 100%
rename from lib/src/backends/chroot/chroot_directory.dart
rename to packages/file/lib/src/backends/chroot/chroot_directory.dart
diff --git a/lib/src/backends/chroot/chroot_file.dart b/packages/file/lib/src/backends/chroot/chroot_file.dart
similarity index 100%
rename from lib/src/backends/chroot/chroot_file.dart
rename to packages/file/lib/src/backends/chroot/chroot_file.dart
diff --git a/lib/src/backends/chroot/chroot_file_system.dart b/packages/file/lib/src/backends/chroot/chroot_file_system.dart
similarity index 100%
rename from lib/src/backends/chroot/chroot_file_system.dart
rename to packages/file/lib/src/backends/chroot/chroot_file_system.dart
diff --git a/lib/src/backends/chroot/chroot_file_system_entity.dart b/packages/file/lib/src/backends/chroot/chroot_file_system_entity.dart
similarity index 100%
rename from lib/src/backends/chroot/chroot_file_system_entity.dart
rename to packages/file/lib/src/backends/chroot/chroot_file_system_entity.dart
diff --git a/lib/src/backends/chroot/chroot_link.dart b/packages/file/lib/src/backends/chroot/chroot_link.dart
similarity index 100%
rename from lib/src/backends/chroot/chroot_link.dart
rename to packages/file/lib/src/backends/chroot/chroot_link.dart
diff --git a/lib/src/backends/local.dart b/packages/file/lib/src/backends/local.dart
similarity index 100%
rename from lib/src/backends/local.dart
rename to packages/file/lib/src/backends/local.dart
diff --git a/lib/src/backends/local/local_directory.dart b/packages/file/lib/src/backends/local/local_directory.dart
similarity index 100%
rename from lib/src/backends/local/local_directory.dart
rename to packages/file/lib/src/backends/local/local_directory.dart
diff --git a/lib/src/backends/local/local_file.dart b/packages/file/lib/src/backends/local/local_file.dart
similarity index 100%
rename from lib/src/backends/local/local_file.dart
rename to packages/file/lib/src/backends/local/local_file.dart
diff --git a/lib/src/backends/local/local_file_system.dart b/packages/file/lib/src/backends/local/local_file_system.dart
similarity index 100%
rename from lib/src/backends/local/local_file_system.dart
rename to packages/file/lib/src/backends/local/local_file_system.dart
diff --git a/lib/src/backends/local/local_file_system_entity.dart b/packages/file/lib/src/backends/local/local_file_system_entity.dart
similarity index 100%
rename from lib/src/backends/local/local_file_system_entity.dart
rename to packages/file/lib/src/backends/local/local_file_system_entity.dart
diff --git a/lib/src/backends/local/local_link.dart b/packages/file/lib/src/backends/local/local_link.dart
similarity index 100%
rename from lib/src/backends/local/local_link.dart
rename to packages/file/lib/src/backends/local/local_link.dart
diff --git a/lib/src/backends/memory.dart b/packages/file/lib/src/backends/memory.dart
similarity index 100%
rename from lib/src/backends/memory.dart
rename to packages/file/lib/src/backends/memory.dart
diff --git a/lib/src/backends/memory/common.dart b/packages/file/lib/src/backends/memory/common.dart
similarity index 100%
rename from lib/src/backends/memory/common.dart
rename to packages/file/lib/src/backends/memory/common.dart
diff --git a/lib/src/backends/memory/memory_directory.dart b/packages/file/lib/src/backends/memory/memory_directory.dart
similarity index 100%
rename from lib/src/backends/memory/memory_directory.dart
rename to packages/file/lib/src/backends/memory/memory_directory.dart
diff --git a/lib/src/backends/memory/memory_file.dart b/packages/file/lib/src/backends/memory/memory_file.dart
similarity index 100%
rename from lib/src/backends/memory/memory_file.dart
rename to packages/file/lib/src/backends/memory/memory_file.dart
diff --git a/lib/src/backends/memory/memory_file_stat.dart b/packages/file/lib/src/backends/memory/memory_file_stat.dart
similarity index 100%
rename from lib/src/backends/memory/memory_file_stat.dart
rename to packages/file/lib/src/backends/memory/memory_file_stat.dart
diff --git a/lib/src/backends/memory/memory_file_system.dart b/packages/file/lib/src/backends/memory/memory_file_system.dart
similarity index 100%
rename from lib/src/backends/memory/memory_file_system.dart
rename to packages/file/lib/src/backends/memory/memory_file_system.dart
diff --git a/lib/src/backends/memory/memory_file_system_entity.dart b/packages/file/lib/src/backends/memory/memory_file_system_entity.dart
similarity index 100%
rename from lib/src/backends/memory/memory_file_system_entity.dart
rename to packages/file/lib/src/backends/memory/memory_file_system_entity.dart
diff --git a/lib/src/backends/memory/memory_link.dart b/packages/file/lib/src/backends/memory/memory_link.dart
similarity index 100%
rename from lib/src/backends/memory/memory_link.dart
rename to packages/file/lib/src/backends/memory/memory_link.dart
diff --git a/lib/src/backends/memory/node.dart b/packages/file/lib/src/backends/memory/node.dart
similarity index 100%
rename from lib/src/backends/memory/node.dart
rename to packages/file/lib/src/backends/memory/node.dart
diff --git a/lib/src/backends/memory/style.dart b/packages/file/lib/src/backends/memory/style.dart
similarity index 100%
rename from lib/src/backends/memory/style.dart
rename to packages/file/lib/src/backends/memory/style.dart
diff --git a/lib/src/backends/memory/utils.dart b/packages/file/lib/src/backends/memory/utils.dart
similarity index 100%
rename from lib/src/backends/memory/utils.dart
rename to packages/file/lib/src/backends/memory/utils.dart
diff --git a/lib/src/backends/record_replay/codecs.dart b/packages/file/lib/src/backends/record_replay/codecs.dart
similarity index 100%
rename from lib/src/backends/record_replay/codecs.dart
rename to packages/file/lib/src/backends/record_replay/codecs.dart
diff --git a/lib/src/backends/record_replay/common.dart b/packages/file/lib/src/backends/record_replay/common.dart
similarity index 100%
rename from lib/src/backends/record_replay/common.dart
rename to packages/file/lib/src/backends/record_replay/common.dart
diff --git a/lib/src/backends/record_replay/errors.dart b/packages/file/lib/src/backends/record_replay/errors.dart
similarity index 100%
rename from lib/src/backends/record_replay/errors.dart
rename to packages/file/lib/src/backends/record_replay/errors.dart
diff --git a/lib/src/backends/record_replay/events.dart b/packages/file/lib/src/backends/record_replay/events.dart
similarity index 100%
rename from lib/src/backends/record_replay/events.dart
rename to packages/file/lib/src/backends/record_replay/events.dart
diff --git a/lib/src/backends/record_replay/mutable_recording.dart b/packages/file/lib/src/backends/record_replay/mutable_recording.dart
similarity index 100%
rename from lib/src/backends/record_replay/mutable_recording.dart
rename to packages/file/lib/src/backends/record_replay/mutable_recording.dart
diff --git a/lib/src/backends/record_replay/proxy.dart b/packages/file/lib/src/backends/record_replay/proxy.dart
similarity index 100%
rename from lib/src/backends/record_replay/proxy.dart
rename to packages/file/lib/src/backends/record_replay/proxy.dart
diff --git a/lib/src/backends/record_replay/recording.dart b/packages/file/lib/src/backends/record_replay/recording.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording.dart
rename to packages/file/lib/src/backends/record_replay/recording.dart
diff --git a/lib/src/backends/record_replay/recording_directory.dart b/packages/file/lib/src/backends/record_replay/recording_directory.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_directory.dart
rename to packages/file/lib/src/backends/record_replay/recording_directory.dart
diff --git a/lib/src/backends/record_replay/recording_file.dart b/packages/file/lib/src/backends/record_replay/recording_file.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_file.dart
rename to packages/file/lib/src/backends/record_replay/recording_file.dart
diff --git a/lib/src/backends/record_replay/recording_file_system.dart b/packages/file/lib/src/backends/record_replay/recording_file_system.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_file_system.dart
rename to packages/file/lib/src/backends/record_replay/recording_file_system.dart
diff --git a/lib/src/backends/record_replay/recording_file_system_entity.dart b/packages/file/lib/src/backends/record_replay/recording_file_system_entity.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_file_system_entity.dart
rename to packages/file/lib/src/backends/record_replay/recording_file_system_entity.dart
diff --git a/lib/src/backends/record_replay/recording_io_sink.dart b/packages/file/lib/src/backends/record_replay/recording_io_sink.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_io_sink.dart
rename to packages/file/lib/src/backends/record_replay/recording_io_sink.dart
diff --git a/lib/src/backends/record_replay/recording_link.dart b/packages/file/lib/src/backends/record_replay/recording_link.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_link.dart
rename to packages/file/lib/src/backends/record_replay/recording_link.dart
diff --git a/lib/src/backends/record_replay/recording_proxy_mixin.dart b/packages/file/lib/src/backends/record_replay/recording_proxy_mixin.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_proxy_mixin.dart
rename to packages/file/lib/src/backends/record_replay/recording_proxy_mixin.dart
diff --git a/lib/src/backends/record_replay/recording_random_access_file.dart b/packages/file/lib/src/backends/record_replay/recording_random_access_file.dart
similarity index 100%
rename from lib/src/backends/record_replay/recording_random_access_file.dart
rename to packages/file/lib/src/backends/record_replay/recording_random_access_file.dart
diff --git a/lib/src/backends/record_replay/replay_directory.dart b/packages/file/lib/src/backends/record_replay/replay_directory.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_directory.dart
rename to packages/file/lib/src/backends/record_replay/replay_directory.dart
diff --git a/lib/src/backends/record_replay/replay_file.dart b/packages/file/lib/src/backends/record_replay/replay_file.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_file.dart
rename to packages/file/lib/src/backends/record_replay/replay_file.dart
diff --git a/lib/src/backends/record_replay/replay_file_stat.dart b/packages/file/lib/src/backends/record_replay/replay_file_stat.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_file_stat.dart
rename to packages/file/lib/src/backends/record_replay/replay_file_stat.dart
diff --git a/lib/src/backends/record_replay/replay_file_system.dart b/packages/file/lib/src/backends/record_replay/replay_file_system.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_file_system.dart
rename to packages/file/lib/src/backends/record_replay/replay_file_system.dart
diff --git a/lib/src/backends/record_replay/replay_file_system_entity.dart b/packages/file/lib/src/backends/record_replay/replay_file_system_entity.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_file_system_entity.dart
rename to packages/file/lib/src/backends/record_replay/replay_file_system_entity.dart
diff --git a/lib/src/backends/record_replay/replay_io_sink.dart b/packages/file/lib/src/backends/record_replay/replay_io_sink.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_io_sink.dart
rename to packages/file/lib/src/backends/record_replay/replay_io_sink.dart
diff --git a/lib/src/backends/record_replay/replay_link.dart b/packages/file/lib/src/backends/record_replay/replay_link.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_link.dart
rename to packages/file/lib/src/backends/record_replay/replay_link.dart
diff --git a/lib/src/backends/record_replay/replay_proxy_mixin.dart b/packages/file/lib/src/backends/record_replay/replay_proxy_mixin.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_proxy_mixin.dart
rename to packages/file/lib/src/backends/record_replay/replay_proxy_mixin.dart
diff --git a/lib/src/backends/record_replay/replay_random_access_file.dart b/packages/file/lib/src/backends/record_replay/replay_random_access_file.dart
similarity index 100%
rename from lib/src/backends/record_replay/replay_random_access_file.dart
rename to packages/file/lib/src/backends/record_replay/replay_random_access_file.dart
diff --git a/lib/src/backends/record_replay/result_reference.dart b/packages/file/lib/src/backends/record_replay/result_reference.dart
similarity index 100%
rename from lib/src/backends/record_replay/result_reference.dart
rename to packages/file/lib/src/backends/record_replay/result_reference.dart
diff --git a/lib/src/common.dart b/packages/file/lib/src/common.dart
similarity index 100%
rename from lib/src/common.dart
rename to packages/file/lib/src/common.dart
diff --git a/lib/src/forwarding.dart b/packages/file/lib/src/forwarding.dart
similarity index 100%
rename from lib/src/forwarding.dart
rename to packages/file/lib/src/forwarding.dart
diff --git a/lib/src/forwarding/forwarding_directory.dart b/packages/file/lib/src/forwarding/forwarding_directory.dart
similarity index 100%
rename from lib/src/forwarding/forwarding_directory.dart
rename to packages/file/lib/src/forwarding/forwarding_directory.dart
diff --git a/lib/src/forwarding/forwarding_file.dart b/packages/file/lib/src/forwarding/forwarding_file.dart
similarity index 100%
rename from lib/src/forwarding/forwarding_file.dart
rename to packages/file/lib/src/forwarding/forwarding_file.dart
diff --git a/lib/src/forwarding/forwarding_file_system.dart b/packages/file/lib/src/forwarding/forwarding_file_system.dart
similarity index 100%
rename from lib/src/forwarding/forwarding_file_system.dart
rename to packages/file/lib/src/forwarding/forwarding_file_system.dart
diff --git a/lib/src/forwarding/forwarding_file_system_entity.dart b/packages/file/lib/src/forwarding/forwarding_file_system_entity.dart
similarity index 100%
rename from lib/src/forwarding/forwarding_file_system_entity.dart
rename to packages/file/lib/src/forwarding/forwarding_file_system_entity.dart
diff --git a/lib/src/forwarding/forwarding_link.dart b/packages/file/lib/src/forwarding/forwarding_link.dart
similarity index 100%
rename from lib/src/forwarding/forwarding_link.dart
rename to packages/file/lib/src/forwarding/forwarding_link.dart
diff --git a/lib/src/interface.dart b/packages/file/lib/src/interface.dart
similarity index 100%
rename from lib/src/interface.dart
rename to packages/file/lib/src/interface.dart
diff --git a/lib/src/interface/directory.dart b/packages/file/lib/src/interface/directory.dart
similarity index 100%
rename from lib/src/interface/directory.dart
rename to packages/file/lib/src/interface/directory.dart
diff --git a/lib/src/interface/error_codes.dart b/packages/file/lib/src/interface/error_codes.dart
similarity index 100%
rename from lib/src/interface/error_codes.dart
rename to packages/file/lib/src/interface/error_codes.dart
diff --git a/lib/src/interface/error_codes_dart_io.dart b/packages/file/lib/src/interface/error_codes_dart_io.dart
similarity index 100%
rename from lib/src/interface/error_codes_dart_io.dart
rename to packages/file/lib/src/interface/error_codes_dart_io.dart
diff --git a/lib/src/interface/error_codes_internal.dart b/packages/file/lib/src/interface/error_codes_internal.dart
similarity index 100%
rename from lib/src/interface/error_codes_internal.dart
rename to packages/file/lib/src/interface/error_codes_internal.dart
diff --git a/lib/src/interface/file.dart b/packages/file/lib/src/interface/file.dart
similarity index 100%
rename from lib/src/interface/file.dart
rename to packages/file/lib/src/interface/file.dart
diff --git a/lib/src/interface/file_system.dart b/packages/file/lib/src/interface/file_system.dart
similarity index 100%
rename from lib/src/interface/file_system.dart
rename to packages/file/lib/src/interface/file_system.dart
diff --git a/lib/src/interface/file_system_entity.dart b/packages/file/lib/src/interface/file_system_entity.dart
similarity index 100%
rename from lib/src/interface/file_system_entity.dart
rename to packages/file/lib/src/interface/file_system_entity.dart
diff --git a/lib/src/interface/link.dart b/packages/file/lib/src/interface/link.dart
similarity index 100%
rename from lib/src/interface/link.dart
rename to packages/file/lib/src/interface/link.dart
diff --git a/lib/src/io.dart b/packages/file/lib/src/io.dart
similarity index 100%
rename from lib/src/io.dart
rename to packages/file/lib/src/io.dart
diff --git a/pubspec.yaml b/packages/file/pubspec.yaml
similarity index 88%
rename from pubspec.yaml
rename to packages/file/pubspec.yaml
index 87e8471..ebd81e7 100644
--- a/pubspec.yaml
+++ b/packages/file/pubspec.yaml
@@ -1,5 +1,5 @@
name: file
-version: 4.0.1
+version: 5.0.0
authors:
- Matan Lurey <matanl@google.com>
- Yegor Jbanov <yjbanov@google.com>
@@ -14,6 +14,7 @@
dev_dependencies:
test: ^0.12.33
+ file_testing: '>=2.0.0 <3.0.0'
environment:
sdk: '>=2.0.0-dev.28.0 <2.0.0'
diff --git a/test/chroot_test.dart b/packages/file/test/chroot_test.dart
similarity index 98%
rename from test/chroot_test.dart
rename to packages/file/test/chroot_test.dart
index 044f489..cd9f1a1 100644
--- a/test/chroot_test.dart
+++ b/packages/file/test/chroot_test.dart
@@ -9,7 +9,7 @@
import 'package:file/file.dart';
import 'package:file/local.dart';
import 'package:file/memory.dart';
-import 'package:file/testing.dart';
+import 'package:file_testing/file_testing.dart';
import 'package:test/test.dart';
import 'common_tests.dart';
diff --git a/test/common_tests.dart b/packages/file/test/common_tests.dart
similarity index 99%
rename from test/common_tests.dart
rename to packages/file/test/common_tests.dart
index d1746c6..3227856 100644
--- a/test/common_tests.dart
+++ b/packages/file/test/common_tests.dart
@@ -8,7 +8,7 @@
import 'dart:io' as io;
import 'package:file/file.dart';
-import 'package:file/testing.dart';
+import 'package:file_testing/file_testing.dart';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'package:test/test.dart' as testpkg show group, setUp, tearDown, test;
diff --git a/test/local_test.dart b/packages/file/test/local_test.dart
similarity index 98%
rename from test/local_test.dart
rename to packages/file/test/local_test.dart
index 3cfdf08..b9307c9 100644
--- a/test/local_test.dart
+++ b/packages/file/test/local_test.dart
@@ -6,7 +6,7 @@
import 'dart:io' as io;
import 'package:file/local.dart';
-import 'package:file/src/testing/internal.dart';
+import 'package:file_testing/src/testing/internal.dart';
import 'package:test/test.dart';
import 'common_tests.dart';
diff --git a/test/memory_test.dart b/packages/file/test/memory_test.dart
similarity index 100%
rename from test/memory_test.dart
rename to packages/file/test/memory_test.dart
diff --git a/lib/src/testing/record_replay_matchers.dart b/packages/file/test/record_replay_matchers.dart
similarity index 98%
rename from lib/src/testing/record_replay_matchers.dart
rename to packages/file/test/record_replay_matchers.dart
index 021940d..7a3b2f1 100644
--- a/lib/src/testing/record_replay_matchers.dart
+++ b/packages/file/test/record_replay_matchers.dart
@@ -3,7 +3,8 @@
// BSD-style license that can be found in the LICENSE file.
import 'package:file/record_replay.dart';
-import 'package:file/src/backends/record_replay/common.dart' hide TypeMatcher;
+import 'package:file/src/backends/record_replay/common.dart'
+ show getSymbolName; // ignore: implementation_imports
import 'package:test/test.dart';
const Map<Type, String> _kTypeDescriptions = const <Type, String>{
diff --git a/test/recording_test.dart b/packages/file/test/recording_test.dart
similarity index 99%
rename from test/recording_test.dart
rename to packages/file/test/recording_test.dart
index 8007cbf..034f43c 100644
--- a/test/recording_test.dart
+++ b/packages/file/test/recording_test.dart
@@ -8,16 +8,17 @@
import 'package:file/file.dart';
import 'package:file/memory.dart';
import 'package:file/record_replay.dart';
-import 'package:file/testing.dart';
import 'package:file/src/backends/record_replay/codecs.dart';
import 'package:file/src/backends/record_replay/common.dart';
import 'package:file/src/backends/record_replay/events.dart';
import 'package:file/src/backends/record_replay/mutable_recording.dart';
import 'package:file/src/backends/record_replay/recording_proxy_mixin.dart';
+import 'package:file_testing/file_testing.dart';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'common_tests.dart';
+import 'record_replay_matchers.dart';
void main() {
group('SupportingCode', () {
diff --git a/test/replay_test.dart b/packages/file/test/replay_test.dart
similarity index 98%
rename from test/replay_test.dart
rename to packages/file/test/replay_test.dart
index 4b2ea18..b059356 100644
--- a/test/replay_test.dart
+++ b/packages/file/test/replay_test.dart
@@ -7,11 +7,12 @@
import 'package:file/file.dart';
import 'package:file/memory.dart';
import 'package:file/record_replay.dart';
-import 'package:file/testing.dart';
+import 'package:file_testing/file_testing.dart';
import 'package:path/path.dart' as path;
import 'package:test/test.dart';
import 'common_tests.dart';
+import 'record_replay_matchers.dart';
void main() {
group('Replay', () {
diff --git a/test/utils.dart b/packages/file/test/utils.dart
similarity index 100%
rename from test/utils.dart
rename to packages/file/test/utils.dart
diff --git a/test/utils_test.dart b/packages/file/test/utils_test.dart
similarity index 100%
rename from test/utils_test.dart
rename to packages/file/test/utils_test.dart
diff --git a/packages/file_testing/CHANGELOG.md b/packages/file_testing/CHANGELOG.md
new file mode 100644
index 0000000..a32fe8b
--- /dev/null
+++ b/packages/file_testing/CHANGELOG.md
@@ -0,0 +1,9 @@
+#### 2.0.0
+
+* Removed `record_replay_matchers.dart` from API
+
+#### 1.0.0
+
+* Moved `package:file/testing.dart` library into a dedicated package so that
+ libraries don't need to take on a transitive dependency on `package:test`
+ in order to use `package:file`.
diff --git a/LICENSE b/packages/file_testing/LICENSE
similarity index 100%
copy from LICENSE
copy to packages/file_testing/LICENSE
diff --git a/packages/file_testing/README.md b/packages/file_testing/README.md
new file mode 100644
index 0000000..ca6c652
--- /dev/null
+++ b/packages/file_testing/README.md
@@ -0,0 +1,32 @@
+# file_testing
+
+Testing utilities intended to work with `package:file`
+
+## Features
+
+This package provides a series of matchers to be used in tests that work with file
+system types.
+
+## Usage
+
+```dart
+import 'package:file/file.dart';
+import 'package:file_testing/file_testing.dart';
+import 'package:test/test.dart';
+
+test('some test', () {
+ MemoryFileSystem fs;
+
+ setUp(() {
+ fs = new MemoryFileSystem();
+ fs.file('/foo').createSync();
+ });
+
+ expectFileSystemException(ErrorCodes.ENOENT, () {
+ fs.directory('').resolveSymbolicLinksSync();
+ });
+ expect(fs.file('/path/to/file'), isFile);
+ expect(fs.file('/path/to/directory'), isDirectory);
+ expect(fs.file('/foo'), exists);
+});
+```
diff --git a/lib/testing.dart b/packages/file_testing/lib/file_testing.dart
similarity index 86%
rename from lib/testing.dart
rename to packages/file_testing/lib/file_testing.dart
index 178711a..35fcdac 100644
--- a/lib/testing.dart
+++ b/packages/file_testing/lib/file_testing.dart
@@ -4,4 +4,3 @@
/// Matchers (from `package:test`) for use in tests that deal with file systems.
export 'src/testing/core_matchers.dart';
-export 'src/testing/record_replay_matchers.dart';
diff --git a/lib/src/testing/core_matchers.dart b/packages/file_testing/lib/src/testing/core_matchers.dart
similarity index 98%
rename from lib/src/testing/core_matchers.dart
rename to packages/file_testing/lib/src/testing/core_matchers.dart
index 6ca3388..58e11d3 100644
--- a/lib/src/testing/core_matchers.dart
+++ b/packages/file_testing/lib/src/testing/core_matchers.dart
@@ -2,7 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'package:file/file.dart';
+import 'dart:io';
+
import 'package:test/test.dart';
import 'internal.dart';
diff --git a/lib/src/testing/internal.dart b/packages/file_testing/lib/src/testing/internal.dart
similarity index 100%
rename from lib/src/testing/internal.dart
rename to packages/file_testing/lib/src/testing/internal.dart
diff --git a/packages/file_testing/pubspec.yaml b/packages/file_testing/pubspec.yaml
new file mode 100644
index 0000000..fa33945
--- /dev/null
+++ b/packages/file_testing/pubspec.yaml
@@ -0,0 +1,13 @@
+name: file_testing
+version: 2.0.0
+authors:
+- Todd Volkert <tvolkert@google.com>
+description: Testing utilities for package:file
+homepage: https://github.com/google/file.dart/packages/file_testing
+
+dependencies:
+ meta: ^1.1.2
+ test: ^0.12.33
+
+environment:
+ sdk: '>=2.0.0-dev.28.0 <2.0.0'