Skip to content

Commit dc90f5d

Browse files
Added missing platforms and targets to Build menu (#8875)
The build menu is currently lacking a few targets. This PR adds them. Fixes #8943 --- Review the contribution guidelines below: - [x] I’ve reviewed the contributor guide and applied the relevant portions to this PR. - [x] I've included the required information in the description above. - [x] My up-to-date information is in the `AUTHORS` file. - [x] I've updated `CHANGELOG.md` if appropriate. <details> <summary>Contribution guidelines:</summary><br> - See our [contributor guide](../CONTRIBUTING.md) and the [Flutter organization contributor guide]([https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md) for general expectations for PRs. - Larger or significant changes should be discussed in an issue before creating a PR. - Dart contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`. - Java and Kotlin contributions should strive to follow Java and Kotlin best practices ([discussion](#8098)). </details> --------- Co-authored-by: Helin Shiah <helinx@google.com>
1 parent 0fc9957 commit dc90f5d

4 files changed

Lines changed: 62 additions & 1 deletion

File tree

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ Japnit Singh <truejswalia@gmail.com>
2828
Dmitry Kandalov <dmitry.kandalov@gmail.com>
2929
Kazuya Chikamatsu <kazu.chika.shima@gmail.com>
3030
Dustin Feucht <code.nopjar@gmail.com>
31+
Nico Mexis <nicomexis.nm@gmail.com>

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
### Added
44

5+
- Missing platforms and targets to Build menu.
6+
57
### Changed
68

79
### Removed

resources/META-INF/plugin.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,19 @@
163163
<!--suppress PluginXmlCapitalization -->
164164
<action id="flutter.build.aab" text="Build App Bundle" description="Building a Flutter app for Google Play Store distribution"
165165
class="io.flutter.actions.FlutterBuildActionGroup$AppBundle"/>
166+
<action id="flutter.build.bundle" text="Build Assets Bundle" description="Building the Flutter assets directory"
167+
class="io.flutter.actions.FlutterBuildActionGroup$Bundle"/>
166168
<!--suppress PluginXmlCapitalization -->
167169
<action id="flutter.build.ios" text="Build iOS" description="Building a Flutter app for Apple App Store distribution"
168170
class="io.flutter.actions.FlutterBuildActionGroup$Ios"/>
171+
<action id="flutter.build.linux" text="Build Linux" description="Building a Flutter app for Linux"
172+
class="io.flutter.actions.FlutterBuildActionGroup$Linux"/>
173+
<action id="flutter.build.macos" text="Build macOS" description="Building a Flutter app for macOS"
174+
class="io.flutter.actions.FlutterBuildActionGroup$Macos"/>
169175
<action id="flutter.build.web" text="Build Web" description="Building a Flutter app for web"
170176
class="io.flutter.actions.FlutterBuildActionGroup$Web"/>
177+
<action id="flutter.build.windows" text="Build Windows" description="Building a Flutter app for Windows"
178+
class="io.flutter.actions.FlutterBuildActionGroup$Windows"/>
171179
</group>
172180
<add-to-group group-id="BuildMenu" anchor="first"/>
173181
</group>

src/io/flutter/actions/FlutterBuildActionGroup.java

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,12 @@ public enum BuildType {
6868
AAR("aar"),
6969
APK("apk"),
7070
APP_BUNDLE("appbundle"),
71+
BUNDLE("bundle"),
7172
IOS("ios"),
72-
WEB("web");
73+
LINUX("linux"),
74+
MACOS("macos"),
75+
WEB("web"),
76+
WINDOWS("windows");
7377

7478
final public String type;
7579

@@ -183,6 +187,13 @@ public static class AppBundle extends FlutterBuildAction {
183187
}
184188
}
185189

190+
public static class Bundle extends FlutterBuildAction {
191+
@Override
192+
protected @NotNull BuildType buildType() {
193+
return BuildType.BUNDLE;
194+
}
195+
}
196+
186197
public static class Ios extends FlutterBuildAction {
187198
@Override
188199
protected @NotNull BuildType buildType() {
@@ -196,11 +207,50 @@ public void update(@NotNull AnActionEvent event) {
196207
}
197208
}
198209

210+
public static class Linux extends FlutterBuildAction {
211+
@Override
212+
protected @NotNull BuildType buildType() {
213+
return BuildType.LINUX;
214+
}
215+
216+
@Override
217+
public void update(@NotNull AnActionEvent event) {
218+
final Presentation presentation = event.getPresentation();
219+
presentation.setEnabled(SystemInfo.isLinux);
220+
}
221+
}
222+
223+
public static class Macos extends FlutterBuildAction {
224+
@Override
225+
protected @NotNull BuildType buildType() {
226+
return BuildType.MACOS;
227+
}
228+
229+
@Override
230+
public void update(@NotNull AnActionEvent event) {
231+
final Presentation presentation = event.getPresentation();
232+
presentation.setEnabled(SystemInfo.isMac);
233+
}
234+
}
235+
199236
public static class Web extends FlutterBuildAction {
200237

201238
@Override
202239
protected @NotNull BuildType buildType() {
203240
return BuildType.WEB;
204241
}
205242
}
243+
244+
public static class Windows extends FlutterBuildAction {
245+
@Override
246+
protected @NotNull BuildType buildType() {
247+
return BuildType.WINDOWS;
248+
}
249+
250+
@Override
251+
public void update(@NotNull AnActionEvent event) {
252+
final Presentation presentation = event.getPresentation();
253+
presentation.setEnabled(SystemInfo.isWindows);
254+
}
255+
}
206256
}

0 commit comments

Comments
 (0)