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 +1 -1
- package/bin/xgem.js +1 -1
- package/lib/flutter.sh +12 -10
- package/lib/version.sh +1 -1
- package/lib-win/flutter.js +6 -2
- package/package.json +1 -1
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)
|
|
193
|
-
echo "3)
|
|
194
|
-
echo "4)
|
|
195
|
-
echo "5)
|
|
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-
|
|
198
|
-
if ! [[ "$platform_choice" =~ ^[1-
|
|
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
|
|
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
|
-
|
|
214
|
-
4) flutter build
|
|
215
|
-
5) flutter build
|
|
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
package/lib-win/flutter.js
CHANGED
|
@@ -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)
|
|
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-
|
|
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.
|
|
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"
|