4 Commits

Author SHA1 Message Date
860056a7e2 chore: revert version bump 2023-11-30 02:14:36 +02:00
83e1e019fe chore: update dependencies 2023-11-30 02:12:15 +02:00
96400d4ed7 chore: upgrade dependencies 2023-10-07 03:36:31 +03:00
f3ce189b83 fix: update dart dependency 2023-10-07 03:08:51 +03:00
11 changed files with 53 additions and 72 deletions

View File

@@ -1,3 +1,7 @@
## 0.1.4
- upgrade dependencies
## 0.1.3
- fix: don't color default log lines

View File

@@ -70,6 +70,20 @@ Usage: btool <command> [...args]
-V, --verbose Display debug output
```
#### Example
Here is an example for a simple script that pushes the apk to the device Download folder.
```sh
#!/usr/bin/env sh
name=$(dart run btool get packageName)
version=$(dart run btool get packageVersion)
source="$(pwd)/build/app/outputs/flutter-apk/app-release.apk"
target="/sdcard/Download/$name-$version.apk"
echo "adb push $source $target"
adb push $source $target
```
## Contributing
I am developing this package on my free time, so any support, whether code, issues, or just stars is

View File

@@ -91,8 +91,7 @@ GetSetAction getAction(BToolOptions options, {required FileSystem fs}) {
setter = (value) => setMinSdkVersion(value, fs: fs);
break;
case BToolOptionKey.targetSdkVersion:
getter =
() => getTargetSdkVersion(fs: fs, workingDir: options.workingDir);
getter = () => getTargetSdkVersion(fs: fs, workingDir: options.workingDir);
setter = (value) => setTargetSdkVersion(value, fs: fs);
break;
case BToolOptionKey.applicationId:

View File

@@ -15,18 +15,12 @@ String getBuildGradleKey(String key, {FileSystem? fs, Directory? workingDir}) {
);
logger.debug('Getting $key from ${buildFile.path}');
final value = buildFile
.readAsStringSync()
.split('\n')
.firstWhere((x) => x.trim().startsWith(key))
.trim()
.split(' ')
.last;
final value =
buildFile.readAsStringSync().split('\n').firstWhere((x) => x.trim().startsWith(key)).trim().split(' ').last;
return value;
}
void setBuildGradleKey(String key, String value,
{FileSystem? fs, Directory? workingDir}) {
void setBuildGradleKey(String key, String value, {FileSystem? fs, Directory? workingDir}) {
final _fs = fs ?? const LocalFileSystem();
final wd = getCurrentDir(workingDir, fs: _fs).path;
final buildFile = _fs.file(
@@ -41,43 +35,36 @@ void setBuildGradleKey(String key, String value,
buildFile.writeAsStringSync(lines.join('\n'));
}
String getMinSdkVersion({FileSystem? fs, Directory? workingDir}) =>
getBuildGradleKey(
String getMinSdkVersion({FileSystem? fs, Directory? workingDir}) => getBuildGradleKey(
'minSdkVersion',
fs: fs,
workingDir: workingDir,
);
void setMinSdkVersion(String value, {FileSystem? fs, Directory? workingDir}) =>
setBuildGradleKey(
void setMinSdkVersion(String value, {FileSystem? fs, Directory? workingDir}) => setBuildGradleKey(
'minSdkVersion',
value,
fs: fs,
workingDir: workingDir,
);
String getTargetSdkVersion({FileSystem? fs, Directory? workingDir}) =>
getBuildGradleKey(
String getTargetSdkVersion({FileSystem? fs, Directory? workingDir}) => getBuildGradleKey(
'targetSdkVersion',
fs: fs,
workingDir: workingDir,
);
void setTargetSdkVersion(String value,
{FileSystem? fs, Directory? workingDir}) =>
setBuildGradleKey(
void setTargetSdkVersion(String value, {FileSystem? fs, Directory? workingDir}) => setBuildGradleKey(
'targetSdkVersion',
value,
fs: fs,
workingDir: workingDir,
);
String getApplicationId({FileSystem? fs, Directory? workingDir}) =>
getBuildGradleKey(
String getApplicationId({FileSystem? fs, Directory? workingDir}) => getBuildGradleKey(
'applicationId',
fs: fs,
workingDir: workingDir,
).replaceAll('"', '');
void setApplicationId(String value, {FileSystem? fs, Directory? workingDir}) =>
setBuildGradleKey(
void setApplicationId(String value, {FileSystem? fs, Directory? workingDir}) => setBuildGradleKey(
'applicationId',
'"$value"',
fs: fs,

View File

@@ -35,20 +35,16 @@ class Logger {
write(colorize(message.toString(), fg: fg));
}
void info(Object message) =>
writeLevel(LogLevel.info, message, fg: Styles.DEFAULT);
void info(Object message) => writeLevel(LogLevel.info, message, fg: Styles.DEFAULT);
void i(Object message) => info(message);
void warn(Object message) =>
writeLevel(LogLevel.warn, message, fg: Styles.YELLOW);
void warn(Object message) => writeLevel(LogLevel.warn, message, fg: Styles.YELLOW);
void w(Object message) => warn(message);
void error(Object message) =>
writeLevel(LogLevel.error, message, fg: Styles.RED);
void error(Object message) => writeLevel(LogLevel.error, message, fg: Styles.RED);
void e(Object message) => error(message);
void debug(Object message) =>
writeLevel(LogLevel.debug, message, fg: Styles.LIGHT_BLUE);
void debug(Object message) => writeLevel(LogLevel.debug, message, fg: Styles.LIGHT_BLUE);
void d(Object message) => debug(message);
}

View File

@@ -72,9 +72,7 @@ class BToolOptions {
key: BToolOptionKey.applicationId,
action: BToolAction.get,
parseResult: res,
workingDir: res['working-dir'] != null
? _fs.directory(res['working-dir'])
: null,
workingDir: res['working-dir'] != null ? _fs.directory(res['working-dir']) : null,
);
}
@@ -83,8 +81,7 @@ class BToolOptions {
action: _action,
args: _args,
value: _value,
workingDir:
res['working-dir'] != null ? _fs.directory(res['working-dir']) : null,
workingDir: res['working-dir'] != null ? _fs.directory(res['working-dir']) : null,
parseResult: res,
);
}
@@ -96,12 +93,9 @@ class BToolOptions {
final _parser = ArgParser(allowTrailingOptions: true);
_parser.addFlag('help', abbr: 'h', negatable: false, help: 'Show help');
_parser.addFlag('version',
abbr: 'v', negatable: false, help: 'Show version');
_parser.addOption('working-dir',
abbr: 'd', help: 'Change working directory of script');
_parser.addFlag('verbose',
abbr: 'V', negatable: false, help: 'Display debug output');
_parser.addFlag('version', abbr: 'v', negatable: false, help: 'Show version');
_parser.addOption('working-dir', abbr: 'd', help: 'Change working directory of script');
_parser.addFlag('verbose', abbr: 'V', negatable: false, help: 'Display debug output');
BToolOptions._parser = _parser;
return _parser;
}

View File

@@ -12,18 +12,12 @@ String getPubspecKey(String key, {FileSystem? fs, Directory? workingDir}) {
final wd = getCurrentDir(workingDir, fs: _fs).path;
final pubspecFile = _fs.file(path.join(wd, 'pubspec.yaml'));
logger.debug('Getting $key from ${pubspecFile.path}');
final value = pubspecFile
.readAsStringSync()
.split('\n')
.firstWhere((x) => x.startsWith('$key:'))
.split(':')
.last
.trim();
final value =
pubspecFile.readAsStringSync().split('\n').firstWhere((x) => x.startsWith('$key:')).split(':').last.trim();
return value;
}
void setPubspecKey(String key, String value,
{FileSystem? fs, Directory? workingDir}) {
void setPubspecKey(String key, String value, {FileSystem? fs, Directory? workingDir}) {
final _fs = fs ?? const LocalFileSystem();
final wd = getCurrentDir(workingDir, fs: _fs).path;
final pubspecFile = _fs.file(path.join(wd, 'pubspec.yaml'));
@@ -39,22 +33,19 @@ String getPackageName({FileSystem? fs, Directory? workingDir}) => getPubspecKey(
fs: fs,
workingDir: workingDir,
);
void setPackageName(String value, {FileSystem? fs, Directory? workingDir}) =>
setPubspecKey(
void setPackageName(String value, {FileSystem? fs, Directory? workingDir}) => setPubspecKey(
'name',
value,
fs: fs,
workingDir: workingDir,
);
String getPackageVersion({FileSystem? fs, Directory? workingDir}) =>
getPubspecKey(
String getPackageVersion({FileSystem? fs, Directory? workingDir}) => getPubspecKey(
'version',
fs: fs,
workingDir: workingDir,
);
void setPackageVersion(String value, {FileSystem? fs, Directory? workingDir}) =>
setPubspecKey(
void setPackageVersion(String value, {FileSystem? fs, Directory? workingDir}) => setPubspecKey(
'version',
value,
fs: fs,

View File

@@ -1,19 +1,19 @@
name: btool
description: Generic build helper tools for Flutter/Dart such as manipulating version, package name or application ID
version: 0.1.3
version: 0.1.4
homepage: 'https://github.com/chenasraf/btool'
executables:
btool: btool
environment:
sdk: '>=2.18.0 <3.0.0'
sdk: '>=2.18.0 <4.0.0'
dependencies:
args: ^2.3.1
args: ^2.4.2
colorize: ^3.0.0
file: ^6.1.4
path: ^1.8.2
file: ^7.0.0
path: ^1.8.3
dev_dependencies:
build:
@@ -26,6 +26,6 @@ script_runner:
- activate-local: 'dart pub global activate --source path ./'
- activate-global: 'dart pub global activate btool'
- auto-fix: dart fix --apply
- publish: dart pub publish -f
- publish: dart format .; dart pub publish; format
- watch: dart run build_runner watch --delete-conflicting-outputs
- format: dart format .
- format: dart format --line-length 120 .

View File

@@ -9,8 +9,7 @@ void main() {
late FileSystem fs;
setUp(() {
fs = MemoryFileSystem();
var dir =
path.join(fs.currentDirectory.path, 'android', 'app', 'build.gradle');
var dir = path.join(fs.currentDirectory.path, 'android', 'app', 'build.gradle');
fs.directory(path.dirname(dir)).createSync(recursive: true);
fs
.file(

View File

@@ -9,9 +9,7 @@ void main() {
late FileSystem fs;
setUp(() {
fs = MemoryFileSystem();
fs
.file(path.join(fs.currentDirectory.path, 'pubspec.yaml'))
.writeAsStringSync(
fs.file(path.join(fs.currentDirectory.path, 'pubspec.yaml')).writeAsStringSync(
[
'name: test_app',
'version: 1.0.0+1',

View File

@@ -8,8 +8,7 @@ class BinBuilder implements Builder {
FutureOr<void> build(BuildStep buildStep) async {
final contents = await buildStep.readAsString(buildStep.inputId);
return buildStep.writeAsString(
AssetId(buildStep.inputId.package,
buildStep.inputId.path.replaceFirst('.bin.dart', '.dart')),
AssetId(buildStep.inputId.package, buildStep.inputId.path.replaceFirst('.bin.dart', '.dart')),
contents.replaceAll('{{VERSION}}', getPackageVersion()),
);
}