Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
27bfc511
Unverified
Commit
27bfc511
authored
Aug 25, 2022
by
Stephen (Alex) Wallen
Committed by
GitHub
Aug 25, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[macOS] Bring up "complex_layout" devicelab, startup tests for x64 (#110100)
parent
0d47af08
Changes
24
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
1341 additions
and
6 deletions
+1341
-6
.ci.yaml
.ci.yaml
+13
-0
TESTOWNERS
TESTOWNERS
+1
-0
.gitignore
dev/benchmarks/complex_layout/macos/.gitignore
+10
-0
Flutter-Debug.xcconfig
...marks/complex_layout/macos/Flutter/Flutter-Debug.xcconfig
+2
-0
Flutter-Release.xcconfig
...rks/complex_layout/macos/Flutter/Flutter-Release.xcconfig
+2
-0
Podfile
dev/benchmarks/complex_layout/macos/Podfile
+40
-0
project.pbxproj
...rks/complex_layout/macos/Runner.xcodeproj/project.pbxproj
+615
-0
IDEWorkspaceChecks.plist
...project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+8
-0
Runner.xcscheme
...s/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+87
-0
contents.xcworkspacedata
..._layout/macos/Runner.xcworkspace/contents.xcworkspacedata
+10
-0
IDEWorkspaceChecks.plist
.../Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+8
-0
AppDelegate.swift
dev/benchmarks/complex_layout/macos/Runner/AppDelegate.swift
+13
-0
Contents.json
...s/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+68
-0
MainMenu.xib
...marks/complex_layout/macos/Runner/Base.lproj/MainMenu.xib
+343
-0
AppInfo.xcconfig
...arks/complex_layout/macos/Runner/Configs/AppInfo.xcconfig
+14
-0
Debug.xcconfig
...hmarks/complex_layout/macos/Runner/Configs/Debug.xcconfig
+2
-0
Release.xcconfig
...arks/complex_layout/macos/Runner/Configs/Release.xcconfig
+2
-0
Warnings.xcconfig
...rks/complex_layout/macos/Runner/Configs/Warnings.xcconfig
+13
-0
DebugProfile.entitlements
...rks/complex_layout/macos/Runner/DebugProfile.entitlements
+12
-0
Info.plist
dev/benchmarks/complex_layout/macos/Runner/Info.plist
+32
-0
MainFlutterWindow.swift
...marks/complex_layout/macos/Runner/MainFlutterWindow.swift
+19
-0
Release.entitlements
...nchmarks/complex_layout/macos/Runner/Release.entitlements
+8
-0
complex_layout_macos__start_up.dart
dev/devicelab/bin/tasks/complex_layout_macos__start_up.dart
+12
-0
perf_tests.dart
dev/devicelab/lib/tasks/perf_tests.dart
+7
-6
No files found.
.ci.yaml
View file @
27bfc511
...
...
@@ -2397,6 +2397,19 @@ targets:
tags: >
["framework", "hostonly", "shard"]
-
name
:
Mac complex_layout_macos__start_up
bringup
:
true
# New target https://github.com/flutter/flutter/issues/109633
recipe
:
devicelab/devicelab_drone
timeout
:
60
properties
:
dependencies
:
>-
[
{"dependency": "xcode", "version": "13f17a"}
]
tags: >
["devicelab", "hostonly"]
task_name: complex_layout_macos__start_up
-
name
:
Mac customer_testing
recipe
:
flutter/flutter
timeout
:
60
...
...
TESTOWNERS
View file @
27bfc511
...
...
@@ -227,6 +227,7 @@
/dev/devicelab/bin/tasks/flutter_view_win_desktop__start_up.dart @schectman @flutter/desktop
/dev/devicelab/bin/tasks/platform_view_win_desktop__start_up.dart @schectman @flutter/desktop
/dev/devicelab/bin/tasks/hello_world_macos__compile.dart @a-wallen @flutter/desktop
/dev/devicelab/bin/tasks/complex_layout_macos__start_up.dart @a-wallen @flutter/desktop
## Host only framework tests
# Linux analyze
...
...
dev/benchmarks/complex_layout/macos/.gitignore
0 → 100644
View file @
27bfc511
# Flutter-related
**/Flutter/ephemeral/
**/Pods/
# Xcode-related
**/dgph
**/xcuserdata/
# Portable Network Graphics
*.png
dev/benchmarks/complex_layout/macos/Flutter/Flutter-Debug.xcconfig
0 → 100644
View file @
27bfc511
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
dev/benchmarks/complex_layout/macos/Flutter/Flutter-Release.xcconfig
0 → 100644
View file @
27bfc511
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "ephemeral/Flutter-Generated.xcconfig"
dev/benchmarks/complex_layout/macos/Podfile
0 → 100644
View file @
27bfc511
platform
:osx
,
'10.13'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV
[
'COCOAPODS_DISABLE_STATS'
]
=
'true'
project
'Runner'
,
{
'Debug'
=>
:debug
,
'Profile'
=>
:release
,
'Release'
=>
:release
,
}
def
flutter_root
generated_xcode_build_settings_path
=
File
.
expand_path
(
File
.
join
(
'..'
,
'Flutter'
,
'ephemeral'
,
'Flutter-Generated.xcconfig'
),
__FILE__
)
unless
File
.
exist?
(
generated_xcode_build_settings_path
)
raise
"
#{
generated_xcode_build_settings_path
}
must exist. If you're running pod install manually, make sure
\"
flutter pub get
\"
is executed first"
end
File
.
foreach
(
generated_xcode_build_settings_path
)
do
|
line
|
matches
=
line
.
match
(
/FLUTTER_ROOT\=(.*)/
)
return
matches
[
1
].
strip
if
matches
end
raise
"FLUTTER_ROOT not found in
#{
generated_xcode_build_settings_path
}
. Try deleting Flutter-Generated.xcconfig, then run
\"
flutter pub get
\"
"
end
require
File
.
expand_path
(
File
.
join
(
'packages'
,
'flutter_tools'
,
'bin'
,
'podhelper'
),
flutter_root
)
flutter_macos_podfile_setup
target
'Runner'
do
use_frameworks!
use_modular_headers!
flutter_install_all_macos_pods
File
.
dirname
(
File
.
realpath
(
__FILE__
))
end
post_install
do
|
installer
|
installer
.
pods_project
.
targets
.
each
do
|
target
|
flutter_additional_macos_build_settings
(
target
)
end
end
dev/benchmarks/complex_layout/macos/Runner.xcodeproj/project.pbxproj
0 → 100644
View file @
27bfc511
This diff is collapsed.
Click to expand it.
dev/benchmarks/complex_layout/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
0 → 100644
View file @
27bfc511
<
?xml
v
e
rsion="
1
.
0
"
e
n
c
o
d
ing="UT
F
-
8
"?
>
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
IDEDidComputeMac32BitWarning
<
/k
e
y
>
<
tru
e
/
>
<
/
d
i
c
t
>
<
/plist
>
dev/benchmarks/complex_layout/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
0 → 100644
View file @
27bfc511
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion =
"1300"
version =
"1.3"
>
<BuildAction
parallelizeBuildables =
"YES"
buildImplicitDependencies =
"YES"
>
<BuildActionEntries>
<BuildActionEntry
buildForTesting =
"YES"
buildForRunning =
"YES"
buildForProfiling =
"YES"
buildForArchiving =
"YES"
buildForAnalyzing =
"YES"
>
<BuildableReference
BuildableIdentifier =
"primary"
BlueprintIdentifier =
"33CC10EC2044A3C60003C045"
BuildableName =
"complex_layout.app"
BlueprintName =
"Runner"
ReferencedContainer =
"container:Runner.xcodeproj"
>
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration =
"Debug"
selectedDebuggerIdentifier =
"Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier =
"Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv =
"YES"
>
<MacroExpansion>
<BuildableReference
BuildableIdentifier =
"primary"
BlueprintIdentifier =
"33CC10EC2044A3C60003C045"
BuildableName =
"complex_layout.app"
BlueprintName =
"Runner"
ReferencedContainer =
"container:Runner.xcodeproj"
>
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration =
"Debug"
selectedDebuggerIdentifier =
"Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier =
"Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle =
"0"
useCustomWorkingDirectory =
"NO"
ignoresPersistentStateOnLaunch =
"NO"
debugDocumentVersioning =
"YES"
debugServiceExtension =
"internal"
allowLocationSimulation =
"YES"
>
<BuildableProductRunnable
runnableDebuggingMode =
"0"
>
<BuildableReference
BuildableIdentifier =
"primary"
BlueprintIdentifier =
"33CC10EC2044A3C60003C045"
BuildableName =
"complex_layout.app"
BlueprintName =
"Runner"
ReferencedContainer =
"container:Runner.xcodeproj"
>
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration =
"Profile"
shouldUseLaunchSchemeArgsEnv =
"YES"
savedToolIdentifier =
""
useCustomWorkingDirectory =
"NO"
debugDocumentVersioning =
"YES"
>
<BuildableProductRunnable
runnableDebuggingMode =
"0"
>
<BuildableReference
BuildableIdentifier =
"primary"
BlueprintIdentifier =
"33CC10EC2044A3C60003C045"
BuildableName =
"complex_layout.app"
BlueprintName =
"Runner"
ReferencedContainer =
"container:Runner.xcodeproj"
>
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration =
"Debug"
>
</AnalyzeAction>
<ArchiveAction
buildConfiguration =
"Release"
revealArchiveInOrganizer =
"YES"
>
</ArchiveAction>
</Scheme>
dev/benchmarks/complex_layout/macos/Runner.xcworkspace/contents.xcworkspacedata
0 → 100644
View file @
27bfc511
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version =
"1.0"
>
<FileRef
location =
"group:Runner.xcodeproj"
>
</FileRef>
<FileRef
location =
"group:Pods/Pods.xcodeproj"
>
</FileRef>
</Workspace>
dev/benchmarks/complex_layout/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
0 → 100644
View file @
27bfc511
<
?xml
v
e
rsion="
1
.
0
"
e
n
c
o
d
ing="UT
F
-
8
"?
>
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
IDEDidComputeMac32BitWarning
<
/k
e
y
>
<
tru
e
/
>
<
/
d
i
c
t
>
<
/plist
>
dev/benchmarks/complex_layout/macos/Runner/AppDelegate.swift
0 → 100644
View file @
27bfc511
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
Cocoa
import
FlutterMacOS
@NSApplicationMain
class
AppDelegate
:
FlutterAppDelegate
{
override
func
applicationShouldTerminateAfterLastWindowClosed
(
_
sender
:
NSApplication
)
->
Bool
{
return
true
}
}
dev/benchmarks/complex_layout/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
0 → 100644
View file @
27bfc511
{
"images"
:
[
{
"size"
:
"16x16"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_16.png"
,
"scale"
:
"1x"
},
{
"size"
:
"16x16"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_32.png"
,
"scale"
:
"2x"
},
{
"size"
:
"32x32"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_32.png"
,
"scale"
:
"1x"
},
{
"size"
:
"32x32"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_64.png"
,
"scale"
:
"2x"
},
{
"size"
:
"128x128"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_128.png"
,
"scale"
:
"1x"
},
{
"size"
:
"128x128"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_256.png"
,
"scale"
:
"2x"
},
{
"size"
:
"256x256"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_256.png"
,
"scale"
:
"1x"
},
{
"size"
:
"256x256"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_512.png"
,
"scale"
:
"2x"
},
{
"size"
:
"512x512"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_512.png"
,
"scale"
:
"1x"
},
{
"size"
:
"512x512"
,
"idiom"
:
"mac"
,
"filename"
:
"app_icon_1024.png"
,
"scale"
:
"2x"
}
],
"info"
:
{
"version"
:
1
,
"author"
:
"xcode"
}
}
dev/benchmarks/complex_layout/macos/Runner/Base.lproj/MainMenu.xib
0 → 100644
View file @
27bfc511
This diff is collapsed.
Click to expand it.
dev/benchmarks/complex_layout/macos/Runner/Configs/AppInfo.xcconfig
0 → 100644
View file @
27bfc511
// Application-level settings for the Runner target.
//
// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the
// future. If not, the values below would default to using the project name when this becomes a
// 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = complex_layout
// The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.complexLayout
// The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright 2014 The Flutter Authors. All rights reserved.
dev/benchmarks/complex_layout/macos/Runner/Configs/Debug.xcconfig
0 → 100644
View file @
27bfc511
#include "../../Flutter/Flutter-Debug.xcconfig"
#include "Warnings.xcconfig"
dev/benchmarks/complex_layout/macos/Runner/Configs/Release.xcconfig
0 → 100644
View file @
27bfc511
#include "../../Flutter/Flutter-Release.xcconfig"
#include "Warnings.xcconfig"
dev/benchmarks/complex_layout/macos/Runner/Configs/Warnings.xcconfig
0 → 100644
View file @
27bfc511
WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings
GCC_WARN_UNDECLARED_SELECTOR = YES
CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
CLANG_WARN_PRAGMA_PACK = YES
CLANG_WARN_STRICT_PROTOTYPES = YES
CLANG_WARN_COMMA = YES
GCC_WARN_STRICT_SELECTOR_MATCH = YES
CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
GCC_WARN_SHADOW = YES
CLANG_WARN_UNREACHABLE_CODE = YES
dev/benchmarks/complex_layout/macos/Runner/DebugProfile.entitlements
0 → 100644
View file @
27bfc511
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist
version=
"1.0"
>
<dict>
<key>
com.apple.security.app-sandbox
</key>
<true/>
<key>
com.apple.security.cs.allow-jit
</key>
<true/>
<key>
com.apple.security.network.server
</key>
<true/>
</dict>
</plist>
dev/benchmarks/complex_layout/macos/Runner/Info.plist
0 → 100644
View file @
27bfc511
<
?xml
v
e
rsion="
1
.
0
"
e
n
c
o
d
ing="UT
F
-
8
"?
>
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
CFBundleDevelopmentRegion
<
/k
e
y
>
<
string
>
$
(
DEVELOPMENT_LANGUAGE
)<
/string
>
<
k
e
y
>
CFBundleExecutable
<
/k
e
y
>
<
string
>
$
(
EXECUTABLE_NAME
)<
/string
>
<
k
e
y
>
CFBundleIconFile
<
/k
e
y
>
<
string
><
/string
>
<
k
e
y
>
CFBundleIdentifier
<
/k
e
y
>
<
string
>
$
(
PRODUCT_BUNDLE_IDENTIFIER
)<
/string
>
<
k
e
y
>
CFBundleInfoDictionaryVersion
<
/k
e
y
>
<
string
>
6.0
<
/string
>
<
k
e
y
>
CFBundleName
<
/k
e
y
>
<
string
>
$
(
PRODUCT_NAME
)<
/string
>
<
k
e
y
>
CFBundlePackageType
<
/k
e
y
>
<
string
>
APPL
<
/string
>
<
k
e
y
>
CFBundleShortVersionString
<
/k
e
y
>
<
string
>
$
(
FLUTTER_BUILD_NAME
)<
/string
>
<
k
e
y
>
CFBundleVersion
<
/k
e
y
>
<
string
>
$
(
FLUTTER_BUILD_NUMBER
)<
/string
>
<
k
e
y
>
LSMinimumSystemVersion
<
/k
e
y
>
<
string
>
$
(
MACOSX_DEPLOYMENT_TARGET
)<
/string
>
<
k
e
y
>
NSHumanReadableCopyright
<
/k
e
y
>
<
string
>
$
(
PRODUCT_COPYRIGHT
)<
/string
>
<
k
e
y
>
NSMainNibFile
<
/k
e
y
>
<
string
>
MainMenu
<
/string
>
<
k
e
y
>
NSPrincipalClass
<
/k
e
y
>
<
string
>
NSApplication
<
/string
>
<
/
d
i
c
t
>
<
/plist
>
dev/benchmarks/complex_layout/macos/Runner/MainFlutterWindow.swift
0 → 100644
View file @
27bfc511
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
Cocoa
import
FlutterMacOS
class
MainFlutterWindow
:
NSWindow
{
override
func
awakeFromNib
()
{
let
flutterViewController
=
FlutterViewController
.
init
()
let
windowFrame
=
self
.
frame
self
.
contentViewController
=
flutterViewController
self
.
setFrame
(
windowFrame
,
display
:
true
)
RegisterGeneratedPlugins
(
registry
:
flutterViewController
)
super
.
awakeFromNib
()
}
}
dev/benchmarks/complex_layout/macos/Runner/Release.entitlements
0 → 100644
View file @
27bfc511
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist
version=
"1.0"
>
<dict>
<key>
com.apple.security.app-sandbox
</key>
<true/>
</dict>
</plist>
dev/devicelab/bin/tasks/complex_layout_macos__start_up.dart
0 → 100644
View file @
27bfc511
// Copyright 2014 The Flutter Authors. 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:flutter_devicelab/framework/devices.dart'
;
import
'package:flutter_devicelab/framework/framework.dart'
;
import
'package:flutter_devicelab/tasks/perf_tests.dart'
;
Future
<
void
>
main
()
async
{
deviceOperatingSystem
=
DeviceOperatingSystem
.
macos
;
await
task
(
createComplexLayoutStartupTest
());
}
dev/devicelab/lib/tasks/perf_tests.dart
View file @
27bfc511
...
...
@@ -664,18 +664,19 @@ class StartupTest {
]);
applicationBinaryPath
=
'
$testDirectory
/build/app/outputs/flutter-apk/app-profile.apk'
;
break
;
case
DeviceOperatingSystem
.
fake
:
case
DeviceOperatingSystem
.
fuchsia
:
break
;
case
DeviceOperatingSystem
.
ios
:
case
DeviceOperatingSystem
.
macos
:
await
flutter
(
'build'
,
options:
<
String
>[
'i
os'
,
if
(
deviceOperatingSystem
==
DeviceOperatingSystem
.
ios
)
'ios'
else
'mac
os'
,
'-v'
,
'--profile'
,
'--target=
$target
'
,
]);
applicationBinaryPath
=
_findDarwinAppInBuildDirectory
(
'
$testDirectory
/build/ios/iphoneos'
);
break
;
case
DeviceOperatingSystem
.
fake
:
case
DeviceOperatingSystem
.
fuchsia
:
case
DeviceOperatingSystem
.
macos
:
final
String
buildRoot
=
path
.
join
(
testDirectory
,
'build'
);
applicationBinaryPath
=
_findDarwinAppInBuildDirectory
(
buildRoot
);
break
;
case
DeviceOperatingSystem
.
windows
:
await
flutter
(
'build'
,
options:
<
String
>[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment