Commit graph

31 commits

Author SHA1 Message Date
Jonah Williams 96a4dcb2b5
[flutter_tools] split features into 2 libraries, migrate to null safety (#79603) 2021-04-02 12:03:20 -07:00
Jonah Williams 8bbaedde10
[flutter_tools] remove mocks from features test (#77760) 2021-03-10 10:05:03 -08:00
Jonah Williams acda272cf2
[flutter_tools] add tool feature/scaffold for UWP (#77399) 2021-03-08 08:09:04 -08:00
Jenn Magder 73506f36f7
Replace MockConfig with TestConfig (#75044) 2021-02-01 18:16:05 -08:00
Jonah Williams 74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00
Jonah Williams 1d3f697160
[flutter_tools] flag flip (#74444) 2021-01-22 09:29:57 -08:00
stuartmorgan 5aa6cba31d
Adjust desktop feature flag (#74348)
Prep to make https://github.com/flutter/flutter/issues/73857 easier in the future.
2021-01-20 19:22:08 -08:00
Jonah Williams 9618788e28
[flutter_tools] remove globals from features (#70515) 2020-11-16 15:00:37 -08:00
Jonah Williams bc11c2a8c4
[flutter_tools] update windows config feature (#65867) 2020-09-17 15:24:52 -07:00
Jonah Williams 859fce9010
[flutter_tools] add feature for iOS, android, and fuchsia (#61481)
Add feature flags for android, ios, and fuchsia (on by default). After updating the g3 rollers, the fuchsia feature will be turned off by default. Creates a simpler base type of feature flags for g3 to extend.

Updates android, ios, fuchsia workflows to use feature flags check.
Removes concept of stable artifacts and checks on flutter version.

Fixes #58999
#52859
#12768
2020-07-16 09:51:59 -07:00
xster 8bd2e6585b
Remove v1 Android create templates (#61203) 2020-07-11 12:15:19 -07:00
Jonah Williams 8e9b78728f
[flutter_tools] switch linux desktop feature on (#60018)
Enable linux desktop feature on dev channel
2020-06-22 17:04:01 -07:00
Zachary Anderson 6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jonah Williams ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Emmanuel Garcia 09126abb22
Enable Android embedding v2 on the beta, dev and stable channel (#46040) 2019-12-03 17:43:00 -08:00
Jonah Williams 0b2bf99491
Reland: Update macOS configuration settings (#45966) 2019-12-03 08:13:08 -08:00
Jonah Williams 8a9897c84c
Revert "update macOS configuration settings (#45920)" (#45965)
This reverts commit 3b2042a028.
2019-12-02 21:34:41 -08:00
Jonah Williams 3b2042a028
update macOS configuration settings (#45920) 2019-12-02 21:06:38 -08:00
Jonah Williams b63683b6cd
Update configuration for flutter features (#45914) 2019-12-02 17:06:41 -08:00
Ian Hickson 449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Alexandre Ardhuin 980f14e0c5
implicit-casts:false on flutter_tools (#45153)
* implicit-casts:false on flutter_tools

* use castStringKeyedMap

* address review comments

* address review comments

* fix issues after rebase
2019-11-24 06:54:43 +01:00
stuartmorgan f6f6e86eb8
Split desktop config fallback variable by platform (#43758)
The environment variable for all desktop platforms is currently
ENABLE_FLUTTER_DESKTOP to allow backward compatibility with existing
workflows. However, this is actually causing issues since 'flutter
config' provides a better experience (most importantly, IDEs will work
correctly, which is generally not the case with the environemnt
variable). Currently people following old (third-patry) instructions
don't realize that they are missing available functionality, so aren't
looking for the current instructions.

In adddition, this will be confusing as different platform graduate to
channels other than master at different times.

To resolve both issues, the environment variable fallback is now
separate for each desktop platform, and follows a naming scheme
consistent with the web environment variable.
2019-10-29 21:43:25 -07:00
Emmanuel Garcia 16d408a7a0
Reland #40810: Re-enable AAR plugins when an AndroidX failure occurred (#41160) 2019-09-24 16:16:22 -07:00
Emmanuel Garcia 2c8813c86c
Revert "Re-enable AAR plugins when an AndroidX failure occurred (#40810)" (#41042)
This reverts commit 96482eeb5c.
2019-09-23 09:28:38 -07:00
Emmanuel Garcia 96482eeb5c
Re-enable AAR plugins when an AndroidX failure occurred (#40810) 2019-09-20 08:28:52 -07:00
Michael Klimushyn 30eec11e7d Roll back the AAR build experiment (#36966)
* Roll back the AAR build experiment

This has been breaking flutter/plugins CI for the past day.

* Remove integration tests that rely on the AAR flag
2019-07-25 20:54:10 -07:00
Jonah Williams 76d058163b
Adjust phrasing of features (#36874)
* adjust phrasing of features

* word smithing

* more wordsmithing
2019-07-25 08:48:01 -07:00
Emmanuel Garcia 242a4225a1
Flutter build aar (#36732)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-23 09:27:42 -07:00
Emmanuel Garcia c9b466f9e2
Revert "Add flutter build aar (#35217)" (#36731)
This reverts commit 11460b8378.
2019-07-22 22:07:59 -07:00
Emmanuel Garcia 11460b8378
Add flutter build aar (#35217)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-22 20:46:01 -07:00
Jonah Williams 36c37ccab5
Implement feature flag system for flutter tools (#36138) 2019-07-16 17:33:28 -07:00