Add web url launcher (#2119)

* Move url_launcher to url_launcher/url_launcher

Add url_launcher_web package

Test plugins even if they don't have a pubspec in the top-level folder

Bump up the pubspec version for new homepage URL

Add dummy podspec file for iOS

Remove unused import

Format test

Update check_publish.sh script

* UPdate check_publish for federated plugins.

* Follow correct semver when bumping version

* Add some tests for `launch`

* Check if directory exists for CI
diff --git a/packages/url_launcher/CHANGELOG.md b/packages/url_launcher/url_launcher/CHANGELOG.md
similarity index 98%
rename from packages/url_launcher/CHANGELOG.md
rename to packages/url_launcher/url_launcher/CHANGELOG.md
index 22e7526..e660b5c 100644
--- a/packages/url_launcher/CHANGELOG.md
+++ b/packages/url_launcher/url_launcher/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 5.1.5
+
+* Update homepage url after moving to federated directory.
+
 ## 5.1.4
 
 * Update and migrate iOS example project.
diff --git a/packages/url_launcher/LICENSE b/packages/url_launcher/url_launcher/LICENSE
similarity index 100%
rename from packages/url_launcher/LICENSE
rename to packages/url_launcher/url_launcher/LICENSE
diff --git a/packages/url_launcher/README.md b/packages/url_launcher/url_launcher/README.md
similarity index 100%
rename from packages/url_launcher/README.md
rename to packages/url_launcher/url_launcher/README.md
diff --git a/packages/url_launcher/android/build.gradle b/packages/url_launcher/url_launcher/android/build.gradle
similarity index 100%
rename from packages/url_launcher/android/build.gradle
rename to packages/url_launcher/url_launcher/android/build.gradle
diff --git a/packages/url_launcher/android/gradle.properties b/packages/url_launcher/url_launcher/android/gradle.properties
similarity index 100%
rename from packages/url_launcher/android/gradle.properties
rename to packages/url_launcher/url_launcher/android/gradle.properties
diff --git a/packages/url_launcher/android/settings.gradle b/packages/url_launcher/url_launcher/android/settings.gradle
similarity index 100%
rename from packages/url_launcher/android/settings.gradle
rename to packages/url_launcher/url_launcher/android/settings.gradle
diff --git a/packages/url_launcher/android/src/main/AndroidManifest.xml b/packages/url_launcher/url_launcher/android/src/main/AndroidManifest.xml
similarity index 100%
rename from packages/url_launcher/android/src/main/AndroidManifest.xml
rename to packages/url_launcher/url_launcher/android/src/main/AndroidManifest.xml
diff --git a/packages/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/UrlLauncherPlugin.java b/packages/url_launcher/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/UrlLauncherPlugin.java
similarity index 100%
rename from packages/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/UrlLauncherPlugin.java
rename to packages/url_launcher/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/UrlLauncherPlugin.java
diff --git a/packages/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/WebViewActivity.java b/packages/url_launcher/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/WebViewActivity.java
similarity index 100%
rename from packages/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/WebViewActivity.java
rename to packages/url_launcher/url_launcher/android/src/main/java/io/flutter/plugins/urllauncher/WebViewActivity.java
diff --git a/packages/url_launcher/example/README.md b/packages/url_launcher/url_launcher/example/README.md
similarity index 100%
rename from packages/url_launcher/example/README.md
rename to packages/url_launcher/url_launcher/example/README.md
diff --git a/packages/url_launcher/example/android/app/build.gradle b/packages/url_launcher/url_launcher/example/android/app/build.gradle
similarity index 100%
rename from packages/url_launcher/example/android/app/build.gradle
rename to packages/url_launcher/url_launcher/example/android/app/build.gradle
diff --git a/packages/url_launcher/example/android/app/gradle.properties b/packages/url_launcher/url_launcher/example/android/app/gradle.properties
similarity index 100%
rename from packages/url_launcher/example/android/app/gradle.properties
rename to packages/url_launcher/url_launcher/example/android/app/gradle.properties
diff --git a/packages/url_launcher/example/android/app/gradle/wrapper/gradle-wrapper.properties b/packages/url_launcher/url_launcher/example/android/app/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from packages/url_launcher/example/android/app/gradle/wrapper/gradle-wrapper.properties
rename to packages/url_launcher/url_launcher/example/android/app/gradle/wrapper/gradle-wrapper.properties
diff --git a/packages/url_launcher/example/android/app/src/main/AndroidManifest.xml b/packages/url_launcher/url_launcher/example/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/AndroidManifest.xml
rename to packages/url_launcher/url_launcher/example/android/app/src/main/AndroidManifest.xml
diff --git a/packages/url_launcher/example/android/app/src/main/java/io/flutter/plugins/urllauncherexample/MainActivity.java b/packages/url_launcher/url_launcher/example/android/app/src/main/java/io/flutter/plugins/urllauncherexample/MainActivity.java
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/java/io/flutter/plugins/urllauncherexample/MainActivity.java
rename to packages/url_launcher/url_launcher/example/android/app/src/main/java/io/flutter/plugins/urllauncherexample/MainActivity.java
diff --git a/packages/url_launcher/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/packages/url_launcher/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/packages/url_launcher/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/packages/url_launcher/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/packages/url_launcher/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from packages/url_launcher/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to packages/url_launcher/url_launcher/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/packages/url_launcher/example/android/build.gradle b/packages/url_launcher/url_launcher/example/android/build.gradle
similarity index 100%
rename from packages/url_launcher/example/android/build.gradle
rename to packages/url_launcher/url_launcher/example/android/build.gradle
diff --git a/packages/url_launcher/example/android/gradle.properties b/packages/url_launcher/url_launcher/example/android/gradle.properties
similarity index 100%
rename from packages/url_launcher/example/android/gradle.properties
rename to packages/url_launcher/url_launcher/example/android/gradle.properties
diff --git a/packages/url_launcher/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/url_launcher/url_launcher/example/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from packages/url_launcher/example/android/gradle/wrapper/gradle-wrapper.properties
rename to packages/url_launcher/url_launcher/example/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/packages/url_launcher/example/android/settings.gradle b/packages/url_launcher/url_launcher/example/android/settings.gradle
similarity index 100%
rename from packages/url_launcher/example/android/settings.gradle
rename to packages/url_launcher/url_launcher/example/android/settings.gradle
diff --git a/packages/url_launcher/example/ios/Flutter/AppFrameworkInfo.plist b/packages/url_launcher/url_launcher/example/ios/Flutter/AppFrameworkInfo.plist
similarity index 100%
rename from packages/url_launcher/example/ios/Flutter/AppFrameworkInfo.plist
rename to packages/url_launcher/url_launcher/example/ios/Flutter/AppFrameworkInfo.plist
diff --git a/packages/url_launcher/example/ios/Flutter/Debug.xcconfig b/packages/url_launcher/url_launcher/example/ios/Flutter/Debug.xcconfig
similarity index 100%
rename from packages/url_launcher/example/ios/Flutter/Debug.xcconfig
rename to packages/url_launcher/url_launcher/example/ios/Flutter/Debug.xcconfig
diff --git a/packages/url_launcher/example/ios/Flutter/Release.xcconfig b/packages/url_launcher/url_launcher/example/ios/Flutter/Release.xcconfig
similarity index 100%
rename from packages/url_launcher/example/ios/Flutter/Release.xcconfig
rename to packages/url_launcher/url_launcher/example/ios/Flutter/Release.xcconfig
diff --git a/packages/url_launcher/example/ios/Runner.xcodeproj/project.pbxproj b/packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/project.pbxproj
similarity index 100%
rename from packages/url_launcher/example/ios/Runner.xcodeproj/project.pbxproj
rename to packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/project.pbxproj
diff --git a/packages/url_launcher/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from packages/url_launcher/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/packages/url_launcher/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
similarity index 100%
rename from packages/url_launcher/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
rename to packages/url_launcher/url_launcher/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
diff --git a/packages/url_launcher/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/url_launcher/url_launcher/example/ios/Runner.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from packages/url_launcher/example/ios/Runner.xcworkspace/contents.xcworkspacedata
rename to packages/url_launcher/url_launcher/example/ios/Runner.xcworkspace/contents.xcworkspacedata
diff --git a/packages/url_launcher/example/ios/Runner/AppDelegate.h b/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.h
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/AppDelegate.h
rename to packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.h
diff --git a/packages/url_launcher/example/ios/Runner/AppDelegate.m b/packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.m
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/AppDelegate.m
rename to packages/url_launcher/url_launcher/example/ios/Runner/AppDelegate.m
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
rename to packages/url_launcher/url_launcher/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
Binary files differ
diff --git a/packages/url_launcher/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/url_launcher/url_launcher/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
rename to packages/url_launcher/url_launcher/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
diff --git a/packages/url_launcher/example/ios/Runner/Base.lproj/Main.storyboard b/packages/url_launcher/url_launcher/example/ios/Runner/Base.lproj/Main.storyboard
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Base.lproj/Main.storyboard
rename to packages/url_launcher/url_launcher/example/ios/Runner/Base.lproj/Main.storyboard
diff --git a/packages/url_launcher/example/ios/Runner/Info.plist b/packages/url_launcher/url_launcher/example/ios/Runner/Info.plist
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/Info.plist
rename to packages/url_launcher/url_launcher/example/ios/Runner/Info.plist
diff --git a/packages/url_launcher/example/ios/Runner/main.m b/packages/url_launcher/url_launcher/example/ios/Runner/main.m
similarity index 100%
rename from packages/url_launcher/example/ios/Runner/main.m
rename to packages/url_launcher/url_launcher/example/ios/Runner/main.m
diff --git a/packages/url_launcher/example/lib/main.dart b/packages/url_launcher/url_launcher/example/lib/main.dart
similarity index 100%
rename from packages/url_launcher/example/lib/main.dart
rename to packages/url_launcher/url_launcher/example/lib/main.dart
diff --git a/packages/url_launcher/example/pubspec.yaml b/packages/url_launcher/url_launcher/example/pubspec.yaml
similarity index 100%
rename from packages/url_launcher/example/pubspec.yaml
rename to packages/url_launcher/url_launcher/example/pubspec.yaml
diff --git a/packages/url_launcher/example/url_launcher_example.iml b/packages/url_launcher/url_launcher/example/url_launcher_example.iml
similarity index 100%
rename from packages/url_launcher/example/url_launcher_example.iml
rename to packages/url_launcher/url_launcher/example/url_launcher_example.iml
diff --git a/packages/url_launcher/ios/Assets/.gitkeep b/packages/url_launcher/url_launcher/ios/Assets/.gitkeep
similarity index 100%
rename from packages/url_launcher/ios/Assets/.gitkeep
rename to packages/url_launcher/url_launcher/ios/Assets/.gitkeep
diff --git a/packages/url_launcher/ios/Classes/UrlLauncherPlugin.h b/packages/url_launcher/url_launcher/ios/Classes/UrlLauncherPlugin.h
similarity index 100%
rename from packages/url_launcher/ios/Classes/UrlLauncherPlugin.h
rename to packages/url_launcher/url_launcher/ios/Classes/UrlLauncherPlugin.h
diff --git a/packages/url_launcher/ios/Classes/UrlLauncherPlugin.m b/packages/url_launcher/url_launcher/ios/Classes/UrlLauncherPlugin.m
similarity index 100%
rename from packages/url_launcher/ios/Classes/UrlLauncherPlugin.m
rename to packages/url_launcher/url_launcher/ios/Classes/UrlLauncherPlugin.m
diff --git a/packages/url_launcher/ios/url_launcher.podspec b/packages/url_launcher/url_launcher/ios/url_launcher.podspec
similarity index 100%
rename from packages/url_launcher/ios/url_launcher.podspec
rename to packages/url_launcher/url_launcher/ios/url_launcher.podspec
diff --git a/packages/url_launcher/lib/url_launcher.dart b/packages/url_launcher/url_launcher/lib/url_launcher.dart
similarity index 100%
rename from packages/url_launcher/lib/url_launcher.dart
rename to packages/url_launcher/url_launcher/lib/url_launcher.dart
diff --git a/packages/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml
similarity index 92%
rename from packages/url_launcher/pubspec.yaml
rename to packages/url_launcher/url_launcher/pubspec.yaml
index c887649..a48f90b 100644
--- a/packages/url_launcher/pubspec.yaml
+++ b/packages/url_launcher/url_launcher/pubspec.yaml
@@ -2,8 +2,8 @@
 description: Flutter plugin for launching a URL on Android and iOS. Supports
   web, phone, SMS, and email schemes.
 author: Flutter Team <flutter-dev@googlegroups.com>
-homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher
-version: 5.1.4
+homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher
+version: 5.1.5
 
 flutter:
   plugin:
diff --git a/packages/url_launcher/test/url_launcher_test.dart b/packages/url_launcher/url_launcher/test/url_launcher_test.dart
similarity index 100%
rename from packages/url_launcher/test/url_launcher_test.dart
rename to packages/url_launcher/url_launcher/test/url_launcher_test.dart
diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md
new file mode 100644
index 0000000..a6ea2c9
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md
@@ -0,0 +1,3 @@
+# 0.0.1
+
+- Initial open-source release.
diff --git a/packages/url_launcher/url_launcher_web/LICENSE b/packages/url_launcher/url_launcher_web/LICENSE
new file mode 100644
index 0000000..0c382ce
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/LICENSE
@@ -0,0 +1,27 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/url_launcher/url_launcher_web/README.md b/packages/url_launcher/url_launcher_web/README.md
new file mode 100644
index 0000000..35b3fa7
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/README.md
@@ -0,0 +1,24 @@
+# url_launcher_web
+
+The web implementation of [`url_launcher`][1].
+
+## Usage
+
+To use this plugin in your Flutter Web app, simply add it as a dependency in
+your pubspec using a `git` dependency. This is only temporary: in the future
+we hope to make this package an "endorsed" implementation of `url_launcher`,
+so that it is automatically included in your Flutter Web app when you depend
+on `package:url_launcher`.
+
+```yaml
+dependencies:
+  url_launcher: ^5.1.4
+  url_launcher_web:
+    git: git@github.com:flutter/plugins.git
+    path: packages/url_launcher/url_launcher_web
+```
+
+Once you have the `url_launcher_web` dependency in your pubspec, you should
+be able to use `package:url_launcher` as normal.
+
+[1]: ../url_launcher
diff --git a/packages/url_launcher/url_launcher_web/ios/url_launcher_web.podspec b/packages/url_launcher/url_launcher_web/ios/url_launcher_web.podspec
new file mode 100644
index 0000000..161156e
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/ios/url_launcher_web.podspec
@@ -0,0 +1,20 @@
+#
+# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
+#
+Pod::Spec.new do |s|
+  s.name             = 'url_launcher_web'
+  s.version          = '0.0.1'
+  s.summary          = 'No-op implementation of url_launcher_web web plugin to avoid build issues on iOS'
+  s.description      = <<-DESC
+temp fake url_launcher_web plugin
+                       DESC
+  s.homepage         = 'https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web'
+  s.license          = { :file => '../LICENSE' }
+  s.author           = { 'Flutter Team' => 'flutter-dev@googlegroups.com' }
+  s.source           = { :path => '.' }
+  s.source_files = 'Classes/**/*'
+  s.public_header_files = 'Classes/**/*.h'
+  s.dependency 'Flutter'
+
+  s.ios.deployment_target = '8.0'
+end
diff --git a/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart
new file mode 100644
index 0000000..e000c1f
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/lib/url_launcher_web.dart
@@ -0,0 +1,49 @@
+import 'dart:async';
+import 'dart:html' as html;
+
+import 'package:flutter/services.dart';
+import 'package:flutter_web_plugins/flutter_web_plugins.dart';
+import 'package:meta/meta.dart';
+
+class UrlLauncherPlugin {
+  static void registerWith(Registrar registrar) {
+    final MethodChannel channel = MethodChannel(
+        'plugins.flutter.io/url_launcher',
+        const StandardMethodCodec(),
+        registrar.messenger);
+    final UrlLauncherPlugin instance = UrlLauncherPlugin();
+    channel.setMethodCallHandler(instance.handleMethodCall);
+  }
+
+  Future<dynamic> handleMethodCall(MethodCall call) async {
+    switch (call.method) {
+      case 'canLaunch':
+        final String url = call.arguments['url'];
+        return _canLaunch(url);
+      case 'launch':
+        final String url = call.arguments['url'];
+        return _launch(url);
+      default:
+        throw PlatformException(
+            code: 'Unimplemented',
+            details: "The url_launcher plugin for web doesn't implement "
+                "the method '${call.method}'");
+    }
+  }
+
+  bool _canLaunch(String url) {
+    final Uri parsedUrl = Uri.tryParse(url);
+    if (parsedUrl == null) return false;
+
+    return parsedUrl.isScheme('http') || parsedUrl.isScheme('https');
+  }
+
+  bool _launch(String url) {
+    return openNewWindow(url) != null;
+  }
+
+  @visibleForTesting
+  html.WindowBase openNewWindow(String url) {
+    return html.window.open(url, '');
+  }
+}
diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml
new file mode 100644
index 0000000..b76aea1
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/pubspec.yaml
@@ -0,0 +1,29 @@
+name: url_launcher_web
+description: Web platform implementation of url_launcher
+author: Flutter Team <flutter-dev@googlegroups.com>
+homepage: https://github.com/flutter/plugins/tree/master/packages/url_launcher/url_launcher_web
+version: 0.0.1
+
+flutter:
+  plugin:
+    platforms:
+      web:
+        pluginClass: UrlLauncherPlugin
+        fileName: url_launcher_web.dart
+
+dependencies:
+  flutter:
+    sdk: flutter
+  flutter_web_plugins:
+    sdk: flutter
+  meta: ^1.1.7
+
+dev_dependencies:
+  flutter_test:
+    sdk: flutter
+  url_launcher:
+    path: ../url_launcher
+
+environment:
+  sdk: ">=2.0.0-dev.28.0 <3.0.0"
+  flutter: ">=1.5.0 <2.0.0"
diff --git a/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart
new file mode 100644
index 0000000..0bf9678
--- /dev/null
+++ b/packages/url_launcher/url_launcher_web/test/url_launcher_web_test.dart
@@ -0,0 +1,49 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+@TestOn('chrome') // Uses web-only Flutter SDK
+
+import 'dart:html' as html;
+
+import 'package:flutter_test/flutter_test.dart';
+import 'package:flutter_web_plugins/flutter_web_plugins.dart';
+import 'package:url_launcher/url_launcher.dart';
+import 'package:url_launcher_web/url_launcher_web.dart';
+
+void main() {
+  group('URL Launcher for Web', () {
+    setUp(() {
+      TestWidgetsFlutterBinding.ensureInitialized();
+      webPluginRegistry.registerMessageHandler();
+      final Registrar registrar =
+          webPluginRegistry.registrarFor(UrlLauncherPlugin);
+      UrlLauncherPlugin.registerWith(registrar);
+    });
+
+    test('can launch "http" URLs', () {
+      expect(canLaunch('http://google.com'), completion(isTrue));
+    });
+
+    test('can launch "https" URLs', () {
+      expect(canLaunch('https://google.com'), completion(isTrue));
+    });
+
+    test('cannot launch "tel" URLs', () {
+      expect(canLaunch('tel:5551234567'), completion(isFalse));
+    });
+
+    test('launching a URL returns true', () {
+      expect(launch('https://www.google.com'), completion(isTrue));
+    });
+
+    test('the window that is launched is a new window', () {
+      final UrlLauncherPlugin urlLauncherPlugin = UrlLauncherPlugin();
+      final html.WindowBase newWindow =
+          urlLauncherPlugin.openNewWindow('https://www.google.com');
+      expect(newWindow, isNotNull);
+      expect(newWindow, isNot(equals(html.window)));
+      expect(newWindow.opener, equals(html.window));
+    });
+  });
+}
diff --git a/script/check_publish.sh b/script/check_publish.sh
index 05a237e..7273941 100755
--- a/script/check_publish.sh
+++ b/script/check_publish.sh
@@ -12,8 +12,8 @@
 
 function check_publish() {
   local failures=()
-  for package_name in "$@"; do
-    local dir="$REPO_DIR/packages/$package_name"
+  for dir in $(pub global run flutter_plugin_tools list --plugins="$1"); do
+    local package_name=$(basename "$dir")
     echo "Checking that $package_name can be published."
     if [[ $(cd "$dir" && cat pubspec.yaml | grep -E "^publish_to: none") ]]; then
       echo "Package $package_name is marked as unpublishable. Skipping."
@@ -33,9 +33,9 @@
   return "${#failures[@]}"
 }
 
-# Sets CHANGED_PACKAGE_LIST
+# Sets CHANGED_PACKAGE_LIST and CHANGED_PACKAGES
 check_changed_packages
 
 if [[ "${#CHANGED_PACKAGE_LIST[@]}" != 0 ]]; then
-  check_publish "${CHANGED_PACKAGE_LIST[@]}"
-fi
\ No newline at end of file
+  check_publish "${CHANGED_PACKAGES}"
+fi
diff --git a/script/common.sh b/script/common.sh
index 749561c..7950a3e 100644
--- a/script/common.sh
+++ b/script/common.sh
@@ -23,13 +23,12 @@
     return 1
   fi
 
-  # Filter out any packages that don't have a pubspec.yaml: they have probably
-  # been deleted in this PR. Also filter out `location_background` since it
-  # should be removed soon.
   CHANGED_PACKAGES=""
   CHANGED_PACKAGE_LIST=()
+
+  # Filter out packages that have been deleted.
   for package in "${packages[@]}"; do
-    if [ -f "$REPO_DIR/packages/$package/pubspec.yaml" ] && [ $package != "location_background" ]; then
+    if [ -d "$REPO_DIR/packages/$package" ]; then
       CHANGED_PACKAGES="${CHANGED_PACKAGES},$package"
       CHANGED_PACKAGE_LIST=("${CHANGED_PACKAGE_LIST[@]}" "$package")
     fi