Commit Graph

113 Commits

Author SHA1 Message Date
xster
6a49419be4 Create Podfile dynamically part 1 (#11101)
* start

* with create

* refactor cocoapod code, add tests

* fix tests

* throw when cocoapod missing

* obj-c projects don’t use use_framework!
2017-07-12 18:35:08 -07:00
Michael Thomsen
0f726490e1 Update MainActivity.kt.tmpl (#11033)
Remove terminating semicolons; they are causing an "code inspection warning" in Android Studio:

```
This inspection reports redundant semicolon (';') token which is not required in Kotlin and may be removed.
```
2017-06-29 16:38:25 +02:00
Mikkel Nygaard Ravn
1731a16d81 Make consistent use of gradle wrapper (#10993) 2017-06-29 09:48:01 +02:00
Mikkel Nygaard Ravn
c5999c74c0 Add gradle wrapper to project template (#10928) 2017-06-26 12:47:43 +02:00
Hans Muller
b55441a027 Do not require main asset files if variants are provided (#10901) 2017-06-22 16:45:57 -07:00
Michael Goderbauer
2f979914e4 Update templates to include google's maven repository (#10842)
Going forward, Android support libraries are published on maven (instead of bundling them with the SDK). Many plugins depend on these. To avoid requiring plugin users to add the maven repository to their app this change adds the repository to the template for `flutter create`.

This also bumps the support-annotations dependency to 25.4.0 (which also requires the new maven repository).
2017-06-20 12:43:23 -07:00
Michael Thomsen
4d2806e7e5 Remove comments unrelated to plugin example app (#10532)
* Remove comments unrelated to plugin example app

* Review feedback
2017-06-08 10:51:56 +02:00
Todd Volkert
e9c7f604e9 Make generated Java folder names match package names. (#10537) 2017-06-07 13:16:16 -07:00
Ian Hickson
dd6aab2e07 Add a Column to the template to address some of what we learnt from usability studies. (#10473) 2017-06-05 09:50:37 -07:00
Mikkel Nygaard Ravn
251d83a4b5 Add org option to flutter create (#10290) 2017-05-24 16:19:16 +02:00
Mikkel Nygaard Ravn
6762e86953 Change template indentation to 2 spaces (#10289) 2017-05-24 12:37:23 +02:00
Mikkel Nygaard Ravn
10f6483003 Add Swift and Kotlin templates (#10259) 2017-05-24 08:22:50 +02:00
Brian Slesinsky
922c2d1213 rename Android module file to include project name (#10163)
IDEA users sometimes want to create multiple Flutter modules
in the same IDEA project. See discussion:
https://github.com/flutter/flutter-intellij/issues/1014

In this case, we will actually have pairs of modules,
one for Flutter and one for Android. Renaming the
android module to make the relationship obvious.

But, don't delete the old file yet to avoid breaking
existing users. We can do that after the next
Flutter plugin release.
2017-05-19 13:36:53 -07:00
Collin Jackson
f5f0895990 Comment out use_frameworks by default so that codelab users don't have to. (#10205) 2017-05-19 10:45:35 -07:00
Mikkel Nygaard Ravn
bae5a5cdf3 Simplify flutter create AppDelegate template (#10139) 2017-05-18 10:01:05 +02:00
Collin Jackson
00214fa7bd Fix call to unimplemented application:openURL:options: in iOS template (#10107)
Fixes #10106
2017-05-16 09:31:35 -07:00
Michael Thomsen
5cec108023 Roll android build tools to 25.0.3 (#9922)
* Roll android build tools to 25.0.3

* Roll android build tools to 25.0.3 in templates
2017-05-09 18:58:46 +02:00
Mikkel Nygaard Ravn
200952bc65 Fix of android template (#9915) 2017-05-09 14:24:32 +02:00
Mikkel Nygaard Ravn
c1feee93d3 iOS plugin registry (#9818) 2017-05-09 12:00:07 +02:00
Mikkel Nygaard Ravn
24a3e58cd0 Android plugin registry (#9715) 2017-05-09 11:43:19 +02:00
Michael Thomsen
a625d3e140 Revert "Upgrade to most recent android build tools version (#9878)" (#9888)
This reverts commit 5ed2984e75.
2017-05-08 20:33:12 +02:00
Michael Thomsen
5ed2984e75 Upgrade to most recent android build tools version (#9878) 2017-05-08 20:12:32 +02:00
xster
837f101056 Let (almost) all flutter create CocoaPods references be dynamically generated later (#9791)
* Remove all initial cocoapod traces from flutter create except Podfile

* Make updateXcodeGeneratedProperties parameters named

* review notes
2017-05-04 12:26:58 -07:00
Michael Thomsen
f10326d28e Add app id to build.gradle template (#9552) 2017-04-24 17:13:04 +02:00
Michael Thomsen
c313984409 Exclude generated PluginRegistry files from git (#9555) 2017-04-24 15:23:18 +02:00
Michael Thomsen
7a57d37195 Add Pods cache dir to ios/.gitignore (#9464)
* Add Pods cache dir to ios/.gitngnore

* Add missing ending newlines
2017-04-21 13:18:05 +02:00
Michael Thomsen
3510082ac9 Better separation between app and plugin main.dart and fix plugin main.dart issues. (#9491)
* Make seperation between app and plugin main.dart more manageable.

* Jakob review feedback

* Remove empty line

* Add missing newline
2017-04-21 12:49:42 +02:00
Phil Quitslund
1df6917b60 Update project creation IDEA metadata (flutter-intellij#914) (#9422)
Fixes: https://github.com/flutter/flutter-intellij/issues/914
2017-04-17 11:42:44 -07:00
Brian Slesinsky
cedc9fb2ea fix issue where Flutter for Android library would disappear (#9404)
IDEA gets confused unless the filename matches the project library name,
including getting the case right.
2017-04-14 20:27:44 -07:00
Brian Slesinsky
5cb9097965 flutter create: enable Java support in IDEA (#9335)
Generates an android.iml file and a package-level library for flutter.jar.

Does not set up an Android SDK in IDEA; this isn't possible with a
template-based approach. But IDEA shows a clear warning, so the
user can fix this by setting the SDK.

(When creating a Flutter project from within IDEA, we can fix this up
afterwards in the plugin.)
2017-04-14 10:12:48 -07:00
xster
89a7fdfc56 Rename State.config to widget everywhere (#9273)
Rename State.config to State.widget
Rename State.didUpdateConfig to State.didUpdateWidget
Renamed all State subclasses' local variables named config to something else
2017-04-10 18:32:24 -07:00
Jakob Andersen
7ffa82aaf0 Inject plugin registration. (#9216)
Added a PluginRegistry to the new project template. The registry files will be automatically updated at build time to register the native plugins.

Fixes #7814.
2017-04-10 15:44:19 +02:00
Seth Ladd
c358ddbaf2 example of a package dependency asset (#9295) 2017-04-07 17:51:34 -07:00
Ian Hickson
a52c7b470d Update the examples/ README and associated fixes. (#9090)
This yak shave went as follows:

Fix https://github.com/flutter/flutter/issues/8795 by adding stocks to
the examples README.

Notice the layers entry in that README isn't quite right either.
Update that.

Check the layers/README file is worth pointing at.

Update the layers/README.

Let's run some of the layer tests to see if they still work.

Oops, need to update them to gradle.

Ok let's try running them again.

Oops, sector is broken.

Add a test for sector.

Fix sector. Find you need to add an assert to a const constructor.

Notice we need to turn const asserts on for the analyzer.

Notice the analysis_options files are out of sync with each other and
with the full list of lints.

Turn on the lints that should be on.

Fix the bugs that finds.
2017-04-05 11:28:33 -07:00
Collin Jackson
244a7a02b5 rename initWithFlutterView to initWithController (#9208) 2017-04-05 08:21:36 -07:00
Jakob Andersen
5541d71b11 Android: Set evaluationDependsOn for plugin subprojects. (#9179)
Gradle projects are evaluated in lexicographical order, and the plugin
projects are at the same level as the :app project, so if a plugin has
a name that comes before 'app' (like, for example, any name that starts
with a capital letter), the plugin project will be evaluated before
:app.

Since :app applies the Flutter Gradle plugin, which tries to
modify the dependencies of the plugin projects, we have a problem if the
plugin projects have already been evaluated. Adding
evaluationDependsOn(':app') to the plugin projects fixes this.

Updated example projects to the latest (plugin-enabled) Gradle build
files.

Also removed two unused imports in `pluginClass.java.tmpl`.
2017-04-04 13:03:06 +02:00
Devon Carew
01d48c9961 update the flutter create template for IntelliJ 2017.1 (#9106) 2017-03-30 13:53:22 -07:00
Michael Thomsen
cf98008475 Fix path in modules.xml to match new location of .iml (#9100) 2017-03-30 14:13:07 +02:00
Jakob Andersen
f34f8a3197 Add template for plugin projects. (#9076)
Plugin projects are created by running `flutter create --plugin <name>`.

An example app is also created in the plugin project, using the normal 'create' template, which has been modified to allow for conditional plugin code.

Modified the android package name to match package naming conventions (all lower-case, and must match the directory name).
2017-03-30 12:39:21 +02:00
Jakob Andersen
b61e169011 Automatically wire dependencies for native plugins (#8891)
Go through all packages brought in by pub, and write the name and path of every one that is a flutter plugin into .flutter-plugins.

In android/settings.gradle and ios/Podfile, read in .flutter-plugins, if that file exists. The Android / iOS code from the plugins is automatically added as dependencies of the native code of the app.
2017-03-23 14:59:12 +01:00
Chris Bracken
0ee3f57a10 Build Flutter app as a framework on iOS (#8971)
**THIS IS A BREAKING CHANGE.** See below for migration steps for
existing projects.

Previously, Flutter app code was built as a raw dylib on iOS.  Dynamic
libraries outside of a framework bundle are not supported on iOS, except
for the system Swift libraries provided by Xcode.

See:
https://developer.apple.com/library/content/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-TROUBLESHOOTING_BUNDLE_ERRORS-EMBEDDED__DYLIB_FILES

* Migrates Xcode build from app.dylib to App.framework
* Migrates flutter create template
* Migrates example projects

Migration steps for existing projects
=====================================

The following steps should be taken from the root of your Flutter
project:

1. Edit `ios/.gitignore`: add `/Flutter/App.framework` on a new line.
2. In the Xcode project navigator, remove `app.dylib` from the Flutter
   folder. Delete this file from the `ios/Flutter` directory in your project.
3. Run a build to generate `ios/Flutter/App.framework`. From the command
   line, run `flutter build ios`. If you have not configured app signing
   in Xcode, an alternative method is to open the simulator, then run
   `flutter run -d iP`.
4. In the Xcode project navigator, select the `Runner` project. In the
   project settings that are displayed in the main view, ensure that the
   `Runner` target is selected. You can verify this by exposing the
   sidebar using the [| ] icon in the upper-left corner of the main
   view.
5. Select the *General* tab in the project settings. Under the
   *Embedded Binaries* section, click '+' to add `App.framework`. In the
   sheet that drops down, click the *Add Other...* button. Navigate to
   the `ios/Flutter` directory and select `App.framework`. Click *Open*.
   In the sheet that drops down, select *Create folder references*, then
   click *Finish*.
6. In the project settings, verify that `App.framework` has been added to the
   *Embedded Binaries* and *Linked Frameworks and Libraries* lists.
7. In the Xcode project navigator, drag `App.framework` under the
   Flutter folder.
8. In the Xcode project navigator, select `Flutter` then from the
   *File* menu, select *Add Files to "Runner"...*. Navigate to the
   `ios/Flutter` directory, select `AppFrameworkInfo.plist` and click
   the *Add* button.
9. From the command line, in your project directory, run
   `flutter build clean`, then `flutter run`.

At this point your project should be fully migrated.
2017-03-22 17:41:49 -07:00
Michael Thomsen
15e51a9e3e Revert "Update gradle wrapper and build-tools version for flutter create." (#8940)
* Revert "use color.shadeXxx instead of color[Xxx] (#8932)"

This reverts commit 578ca0a295.

* Revert "add missing const keyword (#8931)"

This reverts commit fac2fac1d6.

* Revert "Make min/max fling velocity and min fling distance ScrollPhysics properties (#8928)"

This reverts commit dac80aac89.

* Revert "Defer to operating system for whichAll (#8921)"

This reverts commit 14933de986.

* Revert "Update gradle wrapper and build-tools version for flutter create. (#8914)"

This reverts commit deb71cc6dc.
2017-03-21 17:42:40 -07:00
asaarnak
deb71cc6dc Update gradle wrapper and build-tools version for flutter create. (#8914)
* Update gradle wrapper and build-tools version.

Tested manually by "flutter create" with Idea "flutter run" and from android studio "run" android app.

* Update com.android.tools.build to 2.3.0
2017-03-21 16:47:32 +01:00
Jakob Andersen
1457f3dbb0 Put Gradle output in build/ (#8759)
Changed the default build output directory in the new project template
to build/, instead of android/build/ and android/app/build/.

Updated tools to ask the Gradle scripts what the build directory is,
since this is configurable in the build scripts, and we need to know
where the build output actually is.

Silenced output from 'flutter build aot' when invoked from Gradle, since
the output was confusing in this case.

Fixes #8723
Fixes #8656
Fixes #8138
2017-03-15 10:53:22 +01:00
Chris Bracken
a4125f3b0e Declare Xcode 8.3.x compatibility in project files (#8622)
Update templates and example Xcode project files to indicate they've
been tested for Xcode 8.3 compatibility.
2017-03-07 13:11:41 -08:00
Chris Bracken
bd3aac7043 Use default iOS SDK for CocoaPods project (#8603)
This matches the default for Runner.xcodeproj and fixes a linker warning
when the two projects use different values.
2017-03-06 17:31:51 -08:00
Chris Bracken
752ca59dff Update iOS template icon assets (#8601)
Add 20x20 notification icons.
Remove unused 76x76 (3x scale) icon.
Fixes warnings for missing/unused icon assets in Xcode 8.2.x
2017-03-06 17:05:27 -08:00
Chris Bracken
d32dc9254b Update Xcode projects to 8.2.x (#8596)
This prevents project re-validation on initial Xcode launch.
2017-03-06 14:50:41 -08:00
Michael Thomsen
3cf1ea6dc5 Small update to instructional comments in app template (#8468)
* Small update to instructional comments in app template

* Update Flutter Driver comment

Good suggestion to add the link, Seth! I also updated the working to match what that page uses.
2017-03-06 12:36:45 -08:00
Michael Thomsen
0533ffc020 Upgrade build tools to latest Android Studio default (#8461) 2017-02-28 18:25:28 +01:00