xgem-cli 2.0.0-alpha.6 → 2.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -115,7 +115,7 @@ engine (`lib-win/`, driven by `bin/xgem.js`) so `npm install -g xgem-cli` actual
115
115
  in `cmd.exe`/PowerShell, no WSL required.
116
116
 
117
117
  What works on Windows: `init`/`add`/`run`/`terminate`, `doctor`, the git workflow
118
- commands, and Flutter builds for **APK and Windows desktop** targets. What doesn't:
118
+ commands, and Flutter builds for **APK, App Bundle, and Windows desktop** targets. What doesn't:
119
119
  Flutter **iOS/macOS** builds — Xcode has no Windows equivalent, so `xgem doctor ios`
120
120
  explains that plainly instead of pretending. `swift` isn't offered as a framework
121
121
  choice on Windows for the same reason. If you're inside WSL, none of this applies —
package/bin/xgem.js CHANGED
@@ -164,7 +164,7 @@ function printFrameworkHelp(fw) {
164
164
  }
165
165
  if (fw === 'flutter') {
166
166
  console.log('');
167
- logInfo("Flutter builds on Windows support APK and Windows desktop targets. Run 'xgem doctor ios' for why iOS/macOS aren't available here.");
167
+ logInfo("Flutter builds on Windows support APK, App Bundle, and Windows desktop targets. Run 'xgem doctor ios' for why iOS/macOS aren't available here.");
168
168
  }
169
169
  console.log('');
170
170
  }
package/lib/flutter.sh CHANGED
@@ -189,20 +189,21 @@ cmd_flutter_build() {
189
189
  echo ""
190
190
  echo "Select Target Platform:"
191
191
  echo "1) APK (Android)"
192
- echo "2) iOS"
193
- echo "3) macOS"
194
- echo "4) Windows"
195
- echo "5) Linux"
192
+ echo "2) App Bundle (Android, .aab — required for Play Store uploads)"
193
+ echo "3) iOS"
194
+ echo "4) macOS"
195
+ echo "5) Windows"
196
+ echo "6) Linux"
196
197
  local platform_choice
197
- read -r -p "Choose [1-5]: " platform_choice
198
- if ! [[ "$platform_choice" =~ ^[1-5]$ ]]; then
198
+ read -r -p "Choose [1-6]: " platform_choice
199
+ if ! [[ "$platform_choice" =~ ^[1-6]$ ]]; then
199
200
  die "Invalid platform choice '$platform_choice'."
200
201
  fi
201
202
 
202
203
  local mode="--release"
203
204
  [[ "$is_release" == "n" || "$is_release" == "N" ]] && mode="--debug"
204
205
 
205
- if [ "$platform_choice" -eq 2 ]; then
206
+ if [ "$platform_choice" -eq 3 ]; then
206
207
  _flutter_build_ios "$build_name" "$build_number" "$mode"
207
208
  return
208
209
  fi
@@ -210,9 +211,10 @@ cmd_flutter_build() {
210
211
  log_info "Initializing Flutter Build ($mode) for version $build_name+$build_number..."
211
212
  case $platform_choice in
212
213
  1) flutter build apk "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
213
- 3) flutter build macos "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
214
- 4) flutter build windows "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
215
- 5) flutter build linux "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
214
+ 2) flutter build appbundle "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
215
+ 4) flutter build macos "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
216
+ 5) flutter build windows "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
217
+ 6) flutter build linux "$mode" "--build-name=$build_name" "--build-number=$build_number" ;;
216
218
  esac
217
219
  }
218
220
 
package/lib/version.sh CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  # xgem version info.
3
3
 
4
- XGEM_VERSION="2.0.0-alpha.6"
4
+ XGEM_VERSION="2.0.0-alpha.7"
5
5
 
6
6
  print_version() {
7
7
  echo "xgem $XGEM_VERSION"
@@ -67,9 +67,10 @@ async function cmdBuild() {
67
67
 
68
68
  console.log('\nSelect Target Platform:');
69
69
  console.log('1) APK (Android)');
70
- console.log('2) Windows');
70
+ console.log('2) App Bundle (Android, .aab — required for Play Store uploads)');
71
+ console.log('3) Windows');
71
72
  console.log('(iOS/macOS require a Mac; Linux desktop can\'t be cross-built from Windows.)');
72
- const platformChoice = await prompt('Choose [1-2]');
73
+ const platformChoice = await prompt('Choose [1-3]');
73
74
 
74
75
  const mode = (isRelease === 'n') ? '--debug' : '--release';
75
76
  const buildArgs = [`--build-name=${buildName}`, `--build-number=${buildNumber}`];
@@ -78,6 +79,9 @@ async function cmdBuild() {
78
79
  logInfo(`Building APK (${mode})...`);
79
80
  flutter(['build', 'apk', mode, ...buildArgs]);
80
81
  } else if (platformChoice === '2') {
82
+ logInfo(`Building App Bundle (${mode})...`);
83
+ flutter(['build', 'appbundle', mode, ...buildArgs]);
84
+ } else if (platformChoice === '3') {
81
85
  logInfo(`Building Windows desktop app (${mode})...`);
82
86
  flutter(['build', 'windows', mode, ...buildArgs]);
83
87
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xgem-cli",
3
- "version": "2.0.0-alpha.6",
3
+ "version": "2.0.0-alpha.7",
4
4
  "description": "Framework-aware automation CLI: scaffolds and runs clean/build/dev scripts per project type, an environment doctor, a SwiftPM-aware iOS build engine, and a git workflow helper. Runs natively on macOS, Linux, and Windows.",
5
5
  "bin": {
6
6
  "xgem": "bin/xgem.js"