打包脚本添加自动命名

master
zhangmeng 4 years ago
parent 1cbed2d465
commit ba31fa1d22

@ -59,7 +59,7 @@ void main() async {
// useEncrypt: true
);
//
bool isDebug = bool.fromEnvironment('ISDEBUG',defaultValue: false);
const bool isDebug = const bool.fromEnvironment('ISDEBUG',defaultValue: true);
AppConfig.setDebug(isDebug);

@ -1506,7 +1506,7 @@ packages:
source: hosted
version: "5.1.0"
yaml:
dependency: transitive
dependency: "direct dev"
description:
name: yaml
url: "https://pub.flutter-io.cn"

@ -243,6 +243,7 @@ dev_dependencies:
json_serializable: ^4.0.2
grinder:
import_sorter:
yaml: ^3.1.0
flutter:
uses-material-design: true

@ -1,6 +1,7 @@
class Config {
///
static const homeDir = '/Users/akufe';
static const homeDir = '/Users/zhangmeng';
///
static const recookPassword = 'recook';
@ -24,4 +25,7 @@ class Config {
///
static String get buildPath =>
'./build/app/outputs/flutter-apk/app-release.apk';
///
static String get buildDir => './build/app/outputs/flutter-apk';
}

@ -1,7 +1,9 @@
import 'dart:async';
import 'dart:io';
import 'package:common_utils/common_utils.dart';
import 'package:grinder/grinder.dart';
import 'package:path/path.dart'hide context;
import 'package:yaml/yaml.dart';
import 'config.dart';
@ -99,28 +101,52 @@ clean() => defaultClean();
@Task()
buildApk() async {
Pub.runAsync('flutter', arguments: [
await runAsync('flutter', arguments: [
'build',
'apk',
'--target-platform=android-arm64',
'--dart-define',
'ISDEBUG=false'
]);
String date = DateUtil.formatDate(DateTime.now(), format: 'yy_MM_dd_HH_mm');
String version = await getVersion();
await runAsync('mv', arguments: [
Config.buildPath,
'${Config.buildDir}/${Config.packageName}_${version}_release_$date.apk'
]);
}
@Task()
@Depends(getVersion)
buildApkDev() async {
Pub.runAsync('flutter', arguments: [
await runAsync('flutter', arguments: [
'build',
'apk',
'--target-platform=android-arm64',
'--dart-define',
'ISDEBUG=true'
]);
String date = DateUtil.formatDate(DateTime.now(), format: 'yy_MM_dd_HH_mm');
String version = await getVersion();
await runAsync('mv', arguments: [
Config.buildPath,
'${Config.buildDir}/${Config.packageName}_${version}_beta_$date.apk'
]);
}
@Task()
buildIos() async {
Pub.runAsync('flutter',
runAsync('flutter',
arguments: ['build', 'ios', '--dart-define', 'ISDEBUG=false']);
}
@Task()
Future<String> getVersion() async {
String projectPath = Directory('.').absolute.path;
String yamlPath = join(projectPath, 'pubspec.yaml');
String yamlContent = await File(yamlPath).readAsString();
dynamic content = loadYaml(yamlContent);
String version = content['version'];
return version;
}

Loading…
Cancel
Save