Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
2036f10
Revert some bad changes
Feb 5, 2019
1f96eff
Merge branch 'master' of ssh://github.com/flutter/flutter-intellij
Feb 6, 2019
5c62aba
Remove the check for analysis errors blocking reloads
Feb 6, 2019
6560a40
Remove the (must sync) warning from the settings page. (#3184)
DaveShuckerow Feb 12, 2019
a8065aa
Avoid NPE if addPerfListener is called out of order with creating (#3…
jacob314 Feb 12, 2019
33f521a
More intelligently enable support for detaching from Flutter apps on …
DaveShuckerow Feb 12, 2019
dfe528a
Reorder console filters (#3186)
stevemessick Feb 12, 2019
7803ceb
NewModuleTest passes (#3174)
stevemessick Feb 12, 2019
36db0cc
read samples from remote / update local cache (#3188)
pq Feb 13, 2019
985d084
Build 33 (#3189)
stevemessick Feb 13, 2019
21bb8eb
Update for Valentine's Day releases (#3195)
stevemessick Feb 14, 2019
0001b94
Fix version incompatibility (#3196)
stevemessick Feb 15, 2019
b015485
work around link rendering issues (#3199)
pq Feb 15, 2019
59a4fb9
Fix versions (#3200)
stevemessick Feb 15, 2019
e6846ff
Fix Gradle sync error for 3.3.1 (#3205)
stevemessick Feb 17, 2019
1856955
add the ability to install and open DevTools (#3207)
devoncarew Feb 19, 2019
0ea8ef5
update the product matrix (#3201)
devoncarew Feb 20, 2019
e88d7a6
Add plugin icon (#3214)
stevemessick Feb 20, 2019
25e1a51
Update changelog (#3213)
stevemessick Feb 20, 2019
a508e0b
Release 33 (#3215)
stevemessick Feb 20, 2019
2c7d7df
support 2018.3.3 (#3220)
devoncarew Feb 21, 2019
7b8aa1a
Debug eap (#3221)
stevemessick Feb 21, 2019
0981bf9
Release 33 (#3223)
stevemessick Feb 21, 2019
5f249fa
GUI tests module (#3224)
stevemessick Feb 22, 2019
18e891d
Link to the plugins readme file from the building instructions. (#3222)
DaveShuckerow Feb 25, 2019
47e7db3
make a newer daemon protocol field optional (#3230)
devoncarew Feb 25, 2019
513a8f4
inline sample index reading (#3245)
pq Mar 1, 2019
8178f4f
add org.apache.commons.io. to the list of imports to avoid (#3243)
devoncarew Mar 1, 2019
42f314c
minor cleanup (#3247)
pq Mar 1, 2019
6d2d109
migrate to GearPlain (#3248)
pq Mar 1, 2019
df54f74
Gui tests (#3246)
stevemessick Mar 1, 2019
e40af7d
Hide DevTools debugger when launching from IntelliJ. (#3252)
kenzieschmoll Mar 4, 2019
acc76e5
Turn the new bazel test runner to opt-out instead of opt-in (#3239)
DaveShuckerow Mar 5, 2019
ca75155
Add support for matching customized Widget tests. (#3249)
DaveShuckerow Mar 6, 2019
fc4dbac
Port inferPubRootDirectoryIfNeeded from devtools (#3242)
keertip Mar 7, 2019
45c837f
address a file handle leak (#3264)
devoncarew Mar 8, 2019
d05cf42
add a comment to a recent change (#3267)
devoncarew Mar 8, 2019
481e8df
Remove the second parameter (the Project) from SdkFields constructor,…
jwren Mar 11, 2019
d56bea1
Update a comment in FlutterSaveActionsManager (#3277)
jwren Mar 12, 2019
aafadf8
New method in FlutterUtils: declaresFlutterWeb, this method checks fo…
jwren Mar 12, 2019
3b8131b
throttle logger updates (#3280)
pq Mar 12, 2019
0f7c4af
Revise gui tests (#3281)
stevemessick Mar 14, 2019
aae824c
fix a dart2 type issue (#3283)
devoncarew Mar 15, 2019
993acfb
Unpack canned projects (#3288)
stevemessick Mar 18, 2019
344e040
Delete gui module (#3301)
stevemessick Mar 19, 2019
53913bf
Add an additional args field to the bazel test run configuration (#3294)
DaveShuckerow Mar 19, 2019
e11e2f4
log tree path selection fixes (#3302)
pq Mar 19, 2019
45986c4
Add in support for reloading and restarting all running apps (#3268)
DaveShuckerow Mar 19, 2019
17cb23f
Launch Flutter app in test (#3304)
stevemessick Mar 20, 2019
ece01bf
Detect when integrations tests are running (#3308)
stevemessick Mar 22, 2019
e1e77f7
Testing (#3309)
stevemessick Mar 22, 2019
17e1764
Support the inspector for flutter_web libraries. (#3310)
jacob314 Mar 25, 2019
2595b1b
Some initial work for FlutterWeb apps (#3315)
jwren Mar 27, 2019
c15a21a
Update build for M34 (#3321)
stevemessick Mar 27, 2019
9476dd8
Make Perf and Inspector views only display when a Flutter app is bein…
jacob314 Mar 27, 2019
c10ad7c
Fix widget names. (#3322)
jacob314 Mar 27, 2019
bd96a22
Fix NPE issue sometimes hit evaluating expressions. (#3324)
jacob314 Mar 27, 2019
8c73f41
Make FlutterModuleUtils consistently robust to disposed projects. (#3…
jacob314 Mar 27, 2019
1c447c3
Revert "Some initial work for FlutterWeb apps (#3315)" (#3328)
jacob314 Mar 28, 2019
149026b
Don't show a background square in the inspector summary tree. (#3326)
jacob314 Mar 28, 2019
51fc76c
Provides a better display if the variable has a `toStringDeep()` meth…
jingbian Mar 28, 2019
e345aa6
update changelog for M34 (#3329)
stevemessick Mar 28, 2019
56d1c62
disables samples until creation issue is fixed (#3333)
devoncarew Mar 29, 2019
38161bd
Make Dart constructor calls pop out in light mode. (#3327)
jacob314 Mar 29, 2019
7005b02
Add inspector dependency to test (#3316)
stevemessick Mar 29, 2019
e35ea0c
fix an npe when sample content generation is disabled (#3336)
devoncarew Apr 1, 2019
434d2c9
Define test_target repo for GUI testing (#3345)
stevemessick Apr 2, 2019
7fbb724
Take 2 on "Some initial work for FlutterWeb apps" change (#3342)
jwren Apr 3, 2019
7360917
remove some use of reflection (#3350)
devoncarew Apr 4, 2019
4c5581d
update how we manipulate the service protocol url (#3351)
devoncarew Apr 4, 2019
dc411b3
address a number format exception (#3352)
devoncarew Apr 5, 2019
ea4e937
upgrade the service protocol library (#3353)
devoncarew Apr 5, 2019
b607a3d
address an NPE (#3354)
devoncarew Apr 5, 2019
89975b8
address an array index out of bounds (#3355)
devoncarew Apr 5, 2019
18e728a
Adjust build for AS canary 10
stevemessick Apr 8, 2019
6666eeb
Merge remote-tracking branch 'origin/master'
stevemessick Apr 8, 2019
c055dbd
Canary10 (#3365)
stevemessick Apr 10, 2019
5e1f73c
address reported Java lints (#3356)
devoncarew Apr 11, 2019
51c5f94
Adjust build to make plugin for testing (#3366)
stevemessick Apr 11, 2019
b517b5b
Make the inspector easier to test (#3373)
stevemessick Apr 16, 2019
815639e
Integration test update (#3374)
stevemessick Apr 17, 2019
252902b
Update build for canary 11 (#3380)
stevemessick Apr 18, 2019
ecbf63c
Event test (#3381)
stevemessick Apr 19, 2019
887c472
Make FlutterWidgetTest run (#3382)
stevemessick Apr 19, 2019
77c2bb3
Fix DartSyntaxTest (#3383)
stevemessick Apr 19, 2019
bd776a1
Fix DaemonEventTest (#3384)
stevemessick Apr 19, 2019
c651e8b
Fix FileWatchTest (#3385)
stevemessick Apr 19, 2019
08ef8c2
Fix ProjectWatchTest (#3386)
stevemessick Apr 19, 2019
aca4fb0
Update README (#3387)
stevemessick Apr 19, 2019
2af1c3b
read sample index from flutter_tool call (#3379)
pq Apr 20, 2019
0748be3
Fix MainFileTest (#3388)
stevemessick Apr 22, 2019
1766099
Update subscriptions after analysis server restart. (#3393)
jacob314 Apr 22, 2019
ff4e5ff
more work to support running Flutter web apps (#3389)
devoncarew Apr 22, 2019
edaec6a
java analysis lints cleanup (#3395)
devoncarew Apr 22, 2019
bf2d3fd
remove unneeded logging (#3394)
pq Apr 22, 2019
afd45cb
sample panel layout improvements (#3396)
pq Apr 23, 2019
d1a4caa
Remove the bazel test runner option (#3371)
DaveShuckerow Apr 23, 2019
526d2f2
M35 change log (#3400)
stevemessick Apr 23, 2019
21304d0
Merge branch 'hot-reload-control' of github.com:DaveShuckerow/flutter…
Apr 24, 2019
6623049
Revert "more work to support running Flutter web apps (#3389)"
Apr 24, 2019
4c2f4af
Revert "Revert "more work to support running Flutter web apps (#3389)""
Apr 24, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ pubspec.lock
.idea/
.vscode/
material-design-icons/
flutter-gui-tests/guitest.log
flutter-gui-tests/.gradle/
4 changes: 4 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions .idea/inspectionProfiles/profiles_settings.xml

This file was deleted.

5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ script: ./tool/travis.sh
env:
- DART_BOT=true
- CHECK_BOT=true
- IDEA_VERSION=3.3
- IDEA_VERSION=3.3.2
- IDEA_VERSION=3.4
- IDEA_VERSION=2018.3
- IDEA_VERSION=2019.1
- IDEA_VERSION=3.5
82 changes: 82 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,85 @@
## 35.0
- Sample panel layout improvements (#3396)
- Remove unneeded logging (#3394)
- Java analysis lints cleanup (#3395)
- Update subscriptions after analysis server restart (#3393)
- Read sample index from flutter_tool call (#3379)
- Update README (#3387)
- Fix unit tests
- Update build for canary 11 (#3380)
- Integration test update (#3374)
- Make the inspector easier to test (#3373)
- Adjust build to make plugin for testing (#3366)
- Address reported Java lints (#3356)
- Adjust build for AS canary 10
- Address an array index out of bounds (#3355)
- Address an NPE (#3354)
- Upgrade the service protocol library (#3353)
- Address a number format exception (#3352)
- Update how we manipulate the service protocol url (#3351)
- Remove some uses of reflection (#3350)
- Some initial work for FlutterWeb apps (#3342)
- Fix an NPE when sample content generation is disabled (#3336)
- Add inspector dependency to test (#3316)
- Make Dart constructor calls pop out in light mode (#3327)

## 34.0
- Update build for Android Studio 3.3.2 and IntelliJ 2019.1 (#3321)
- Fix issue preventing plugin from working in AS Canary 8 (#3321)
- Provides a better display if the variable has a `toStringDeep()` method defined. (#3291)
- Don't show a background square in the inspector summary tree. (#3326)
- Make FlutterModuleUtils consistently robust to disposed projects. (#3323)
- Fix NPE issue sometimes hit evaluating expressions. (#3324)
- Fix widget names. (#3322)
- Make Perf and Inspector views only display when a Flutter app is being debugged. (#3320)
- Support the inspector for flutter_web libraries. (#3310)
- Detect when integrations tests are running (#3308)
- Add in support for reloading and restarting all running apps (#3268)
- Log tree path selection fixes (#3302)
- Throttle logger updates (#3280)
- New method in FlutterUtils: declaresFlutterWeb, this method checks for dependencies: fluttler_web in a pubspec file. (#3275)
- Update a comment in FlutterSaveActionsManager (#3277)
- Remove the second parameter (the Project) from SdkFields constructor, it isn't used anymore. (#3261)
- Add a comment to a recent change (#3267)
- Fix a file handle leak (#3264)
- Port inferPubRootDirectoryIfNeeded from devtools (#3242)
- Add support for matching customized Widget tests. (#3249)
- Hide DevTools debugger when launching from IntelliJ. (#3252)
- Migrate to GearPlain (#3248)
- Minor cleanup (#3247)
- Inline sample index reading (#3245)
- Make a newer daemon protocol field optional (#3230)
- Link to the plugins readme file from the building instructions. (#3222)

## 33.3
- Fix an issue with an IllegalArgumentException when running Flutter apps

## 33.2
- Support IntelliJ 2018.3.3

## 33.1
- add menu and toolbar button to open Flutter DevTools
- fix Gradle sync issue for Android Studio 3.3.1
- fix highlighting of the Go link in sample banner

## 33.0
- update build for Android Studio 3.3.1
- reorder console filters so links work
- more intelligently enable support for detaching from Flutter apps on exit
- change the icon used for paint baselines
- prevent bazel test run configurations from generating in a non-bazel workspace
- support 2019.1 eap
- mention 'Dart' in the plugin description
- correct the bazel output for debugging bazel tests
- simplify the bazel parameters we pass to Bazel Run configurations
- pin flutter error events in the log
- propagate node selections to inspector
- link support for log data entries
- fix category cell rendering
- add sample creation banner
- add sample apps to Android Studio New Project Wizard
- update log entry data badge

## 32.0
- address an NPE in FlutterWidgetPerfManager.java
- added overlay renderered for GC, snapshot and memory reset events
Expand Down
2 changes: 1 addition & 1 deletion docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ $ gsutil cp <path-to-archive> gs://flutter_infra/flutter/intellij/
## The plugin tool

Building is done by the `plugin` tool.
See tool/plugin/README.md for details.
See [tool/plugin/README.md](../tool/plugin/README.md) for details.
3 changes: 2 additions & 1 deletion docs/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ Validate basic project creation.
* Project contents are created.
* Verify that a run configuration (`main.dart`) is enabled in the run/debug selector.
* Navigation works.
* Open `lib/main.dart` and navigate to `ThemeData`.
* Open `lib/main.dart` and navigate to `Scaffold`, from line 37 or so.
* Verify that the new editor includes a sample creation banner.
* There are no analysis errors or warnings.
* Pub operations work.
* Open `pubspec.yaml` and click the "Packages get" and "Packages upgrade" links.
Expand Down
36 changes: 36 additions & 0 deletions flutter-gui-tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Flutter Plugin Integration Testing

On the advice of Jetbrains engineers, we have switched the integration testing module to be
a Gradle-built plugin. This allows the tests to run from anywhere; previously they only ran
when copied into the GUI testing framework module. Thanks to karashevich@jetbrains for
creating the plugin.

## Usage

1. Prepare the flutter-intellij plugin. Run `bin/plugin build` in a terminal. If you do not
want to wait for all the distros to be build, consult product-matrix.json to find which version
sets isTestTarget to true. Then you can use it as the value of the -o option to the build command.
For example: `bin/plugin build -o3.5`

2. Check that the buildPlugin task works normally. Open the Gradle
tool view: View -> Tool Windows -> Gradle. Expamd `Tasks`, then expand `intellij`.
Select `buildPliugin`, right-click and choose `Run ...`. This may take a while initially
as it may have to download some files.

3. For now, we use the built-in terminal to run tests. Open the terminal emulator in IntelliJ, then:
```bash
cd flutter-gui-tests
./gradlew -Dtest.single=TestSuite clean test
```

## Editing

Currently, the tests need to be edited in a minimal flutter-intellij project. Open the flutter-intellij
project in IntelliJ 2019.1 for stand-alone editing, without Dart or IntelliJ sources (see CONTRIBUTING.md).

If you want to test recent changes be sure to repeat Step 1 in Usage so you are testing the latest build.

## Notes

If the buildPlugin task fails, check for a new version of the Gradle plugin with id org.jetbrains.intellij.
This is likely to be needed if a new version of IntelliJ is downloaded automatically.
98 changes: 98 additions & 0 deletions flutter-gui-tests/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
plugins {
id 'org.jetbrains.intellij' version '0.4.5'
id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

group 'io.flutter.tests.gui'
version '1.0-SNAPSHOT'

repositories {
mavenLocal()
mavenCentral()
jcenter()
// this repo contains the test target plugin produced by the plugin tool, io.flutter:SNAPSHOT
flatDir dirs: ['../releases/release_master/test_target']
}

dependencies {
compile "org.jetbrains.kotlin:kotlin-reflect"
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile fileTree(include: ['*.jar'], dir: '../releases/release_master/2019.1')
testImplementation fileTree(include: ['*.jar'], dir: '../releases/release_master/2019.1')
}

sourceSets {
main {
java.srcDir 'src'
kotlin.srcDir 'src'
resources.srcDir 'res'
}
test {
java.srcDir 'testSrc'
kotlin.srcDir 'testSrc'
resources.srcDir 'testData'
}
}

intellij {
plugins 'com.intellij.testGuiFramework:0.9.44.1@nightly', 'Dart:191.5849.16', 'io.flutter:SNAPSHOT'
if (System.getProperty("idea.gui.test.alternativeIdePath") != null) {
alternativeIdePath System.getProperty("idea.gui.test.alternativeIdePath")
}
updateSinceUntilBuild false
// version 'LATEST-TRUNK-SNAPSHOT'
}
kotlin {
experimental {
coroutines "enable"
}
}

compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}

task testsJar(type: Jar, dependsOn: classes) {
classifier = 'tests'
from sourceSets.test.output
exclude 'testData/*'
}

prepareSandbox {
from(testsJar) {
into "$pluginName/lib"
}
}

prepareTestingSandbox {
from(testsJar) {
into "$pluginName/lib"
}
}

runIde {
if (System.getProperty("idea.gui.tests.gradle.runner").equals("true")) {
systemProperties System.properties.findAll { (it.key as String).startsWith("idea") ||
(it.key as String).startsWith("jb") }.findAll {
(it.key as String) != "idea.home.path" &&
(it.key as String) != "jb.vmOptionsFile"
}
/* Need to split the space-delimited value in the exec.args */
print systemProperties
args System.getProperty("exec.args", "").split(",")
print args
}
}

test {
def sysProps = System.properties.findAll { (it.key as String).startsWith("idea") ||
(it.key as String).startsWith("jb") &&
(it.key as String) != "idea.home.path" &&
(it.key as String) != "jb.vmOptionsFile"
}
sysProps.put("idea.gui.tests.gradle.runner", true) //Use Gradle Launcher to run GUI tests
systemProperties sysProps
}
Binary file not shown.
6 changes: 6 additions & 0 deletions flutter-gui-tests/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
Loading