mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
new: no titlebar on desktop
This commit is contained in:
41
make.dart
41
make.dart
@@ -5,6 +5,7 @@ import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
const appName = 'ServerBox';
|
||||
final appNameLower = appName.toLowerCase();
|
||||
|
||||
const buildDataFilePath = 'lib/data/res/build_data.dart';
|
||||
const apkPath = 'build/app/outputs/flutter-apk/app-release.apk';
|
||||
@@ -159,47 +160,49 @@ Future<void> flutterBuildAndroid() async {
|
||||
|
||||
Future<void> flutterBuildLinux() async {
|
||||
await flutterBuild('linux');
|
||||
// mkdir ServerBox.AppDir
|
||||
await Process.run('mkdir', ['ServerBox.AppDir']);
|
||||
// cp -r build/linux/x64/release/bundle/* ServerBox.AppDir
|
||||
const appDirName = '$appName.AppDir';
|
||||
// mkdir appName.AppDir
|
||||
await Process.run('mkdir', [appDirName]);
|
||||
// cp -r build/linux/x64/release/bundle/* appName.AppDir
|
||||
await Process.run('cp', [
|
||||
'-r',
|
||||
'./build/linux/x64/release/bundle/*',
|
||||
'ServerBox.AppDir',
|
||||
appDirName,
|
||||
]);
|
||||
// cp -r assets/app_icon.png ServerBox.AppDir
|
||||
await Process.run('cp', [
|
||||
'-r',
|
||||
'./assets/app_icon.png',
|
||||
'ServerBox.AppDir',
|
||||
appDirName,
|
||||
]);
|
||||
// Create AppRun
|
||||
const appRun = '''
|
||||
#!/bin/sh
|
||||
cd "\$(dirname "\$0")"
|
||||
exec ./ServerBox
|
||||
exec ./$appName
|
||||
''';
|
||||
await File('ServerBox.AppDir/AppRun').writeAsString(appRun);
|
||||
const appRunName = '$appDirName/AppRun';
|
||||
await File(appRunName).writeAsString(appRun);
|
||||
// chmod +x AppRun
|
||||
await Process.run('chmod', ['+x', 'ServerBox.AppDir/AppRun']);
|
||||
await Process.run('chmod', ['+x', appRunName]);
|
||||
// Create .desktop
|
||||
const desktop = '''
|
||||
[Desktop Entry]
|
||||
Name=ServerBox
|
||||
Exec=ServerBox
|
||||
Name=$appName
|
||||
Exec=$appName
|
||||
Icon=app_icon
|
||||
Type=Application
|
||||
Categories=Network;
|
||||
''';
|
||||
await File('ServerBox.AppDir/ServerBox.desktop').writeAsString(desktop);
|
||||
await File('$appDirName/$appName.desktop').writeAsString(desktop);
|
||||
// Run appimagetool
|
||||
await Process.run('appimagetool', ['ServerBox.AppDir']);
|
||||
await Process.run('appimagetool', [appDirName]);
|
||||
|
||||
await scpLinux2CDN();
|
||||
|
||||
// Clean build files
|
||||
await Process.run('rm', ['-r', 'ServerBox.AppDir']);
|
||||
await Process.run('rm', ['ServerBox-x86_64.AppImage']);
|
||||
await Process.run('rm', ['-r', appDirName]);
|
||||
await Process.run('rm', ['$appName-x86_64.AppImage']);
|
||||
}
|
||||
|
||||
Future<void> flutterBuildWin() async {
|
||||
@@ -212,7 +215,7 @@ Future<void> scpApk2CDN() async {
|
||||
print('SHA256: $sha256');
|
||||
final result = await Process.run(
|
||||
'scp',
|
||||
[apkPath, 'hk:/var/www/res/serverbox/$sha256.apk'],
|
||||
[apkPath, 'hk:/var/www/res/$appNameLower/$sha256.apk'],
|
||||
runInShell: true,
|
||||
);
|
||||
if (result.exitCode != 0) {
|
||||
@@ -225,8 +228,8 @@ Future<void> scpLinux2CDN() async {
|
||||
final result = await Process.run(
|
||||
'scp',
|
||||
[
|
||||
'ServerBox-x86_64.AppImage',
|
||||
'hk:/var/www/res/serverbox/$build.AppImage',
|
||||
'$appName-x86_64.AppImage',
|
||||
'hk:/var/www/res/$appNameLower/$build.AppImage',
|
||||
],
|
||||
runInShell: true,
|
||||
);
|
||||
@@ -241,8 +244,8 @@ Future<void> scpWindows2CDN() async {
|
||||
final result = await Process.run(
|
||||
'scp',
|
||||
[
|
||||
'./build/windows/runner/Release/server_box.zip',
|
||||
'hk:/var/www/res/serverbox/$build.zip',
|
||||
'./build/windows/runner/Release/$appName.zip',
|
||||
'hk:/var/www/res/$appNameLower/$build.zip',
|
||||
],
|
||||
runInShell: true,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user