Skip to content

Commit b557ab6

Browse files
committed
Update
1 parent 6dbeda1 commit b557ab6

File tree

9 files changed

+45
-103
lines changed

9 files changed

+45
-103
lines changed

bin/generate_screen.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import 'dart:io' show Directory;
1111

1212
import 'package:df_generate_screen/df_generate_screen.dart';
13+
1314
import 'package:df_log/df_log.dart';
1415
import 'package:df_string/df_string.dart';
1516

bin/pubspec.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ environment:
2121
dependencies:
2222
df_generate_screen:
2323
path: ../
24-
df_log: ^0.1.2
25-
df_string: ^0.1.2
24+
df_log: ^0.2.1
25+
df_string: ^0.2.1
26+
df_gen_core: ^0.2.6

lib/src/generate_screen/app.dart

Lines changed: 12 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import '../../df_generate_screen.dart';
1919
Future<_ArgsChecker> runGenerateScreensApp(List<String> args) async {
2020
late _ArgsChecker argsChecker;
2121
await runCommandLineApp(
22-
title: 'Generate Screens',
23-
description: 'A command line app for generating screens',
22+
title: 'Generate Screens by DevCetra.com',
23+
description: '...',
2424
args: args,
2525
parser: ArgParser()
2626
..addFlag(
@@ -50,25 +50,14 @@ Future<_ArgsChecker> runGenerateScreensApp(List<String> args) async {
5050
help: 'Query parameters.',
5151
)
5252
..addOption(
53-
'bindings-template',
54-
help: 'Bindings template file path.',
55-
)
56-
..addOption(
57-
'controller-template',
58-
help: 'Controller template file path.',
59-
)
60-
..addOption(
61-
'view-template',
62-
help: 'View template file path.',
63-
)
64-
..addOption(
65-
'screen-template',
66-
help: 'Screen template file path.',
53+
'templates',
54+
help: 'Template dir path or URL.',
55+
defaultsTo:
56+
'https://raw.githubusercontent.com/robmllze/df_generate_screen/main/templates/msm1/',
6757
)
6858
..addOption(
6959
'path',
7060
help: 'Screen path.',
71-
defaultsTo: '.',
7261
)
7362
..addOption(
7463
'is-only-accessible-if-logged-in',
@@ -122,10 +111,7 @@ Future<_ArgsChecker> runGenerateScreensApp(List<String> args) async {
122111
fallbackDartSdkPath: results['dart-sdk'],
123112
outputDirPath: results['output'],
124113
screenName: results['class-name'],
125-
controllerTemplateFilePath: results['controller-template'],
126-
screenTemplateFilePath: results['screen-template'],
127-
stateTemplateFilePath: results['view-template'],
128-
configurationTemplateFilePath: results['bindings-template'],
114+
templatesPath: results['templates'],
129115
path: results['path'],
130116
isAccessibleOnlyIfLoggedIn: toBool('is-only-accessible-if-logged-in'),
131117
isAccessibleOnlyIfLoggedInAndVerified:
@@ -143,10 +129,7 @@ Future<_ArgsChecker> runGenerateScreensApp(List<String> args) async {
143129
fallbackDartSdkPath: args.fallbackDartSdkPath,
144130
outputDirPath: args.outputDirPath!,
145131
screenName: args.screenName!,
146-
bindingsTemplateFilePath: args.configurationTemplateFilePath,
147-
controllerTemplateFilePath: args.controllerTemplateFilePath,
148-
screenTemplateFilePath: args.screenTemplateFilePath,
149-
viewTemplateFilePath: args.stateTemplateFilePath,
132+
templatesPath: args.templatesPath!,
150133
path: args.path!,
151134
isAccessibleOnlyIfLoggedIn: args.isAccessibleOnlyIfLoggedIn ?? false,
152135
isAccessibleOnlyIfLoggedInAndVerified:
@@ -173,10 +156,7 @@ class _ArgsChecker extends ValidArgsChecker {
173156
final String? fallbackDartSdkPath;
174157
final String? outputDirPath;
175158
final String? screenName;
176-
final String? controllerTemplateFilePath;
177-
final String? screenTemplateFilePath;
178-
final String? stateTemplateFilePath;
179-
final String? configurationTemplateFilePath;
159+
final String? templatesPath;
180160
final String? path;
181161
final bool? isAccessibleOnlyIfLoggedIn;
182162
final bool? isAccessibleOnlyIfLoggedInAndVerified;
@@ -195,10 +175,7 @@ class _ArgsChecker extends ValidArgsChecker {
195175
required this.fallbackDartSdkPath,
196176
required this.outputDirPath,
197177
required this.screenName,
198-
required this.controllerTemplateFilePath,
199-
required this.screenTemplateFilePath,
200-
required this.stateTemplateFilePath,
201-
required this.configurationTemplateFilePath,
178+
required this.templatesPath,
202179
required this.path,
203180
required this.isAccessibleOnlyIfLoggedIn,
204181
required this.isAccessibleOnlyIfLoggedInAndVerified,
@@ -219,13 +196,8 @@ class _ArgsChecker extends ValidArgsChecker {
219196
if (fallbackDartSdkPath != null) fallbackDartSdkPath,
220197
outputDirPath,
221198
screenName,
222-
if (controllerTemplateFilePath != null) controllerTemplateFilePath,
223-
if (screenTemplateFilePath != null) screenTemplateFilePath,
224-
if (stateTemplateFilePath != null) stateTemplateFilePath,
225-
if (configurationTemplateFilePath != null)
226-
configurationTemplateFilePath,
227-
if (isAccessibleOnlyIfLoggedInAndVerified != null)
228-
isAccessibleOnlyIfLoggedInAndVerified,
199+
if (templatesPath != null) templatesPath,
200+
if (isAccessibleOnlyIfLoggedInAndVerified != null) isAccessibleOnlyIfLoggedInAndVerified,
229201
if (isAccessibleOnlyIfLoggedIn != null) isAccessibleOnlyIfLoggedIn,
230202
if (isAccessibleOnlyIfLoggedOut != null) isAccessibleOnlyIfLoggedOut,
231203
if (isRedirectable != null) isRedirectable,

lib/src/generate_screen/generate.dart

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ Future<void> generateScreen({
2222
String? fallbackDartSdkPath,
2323
required String outputDirPath,
2424
required String screenName,
25-
String? controllerTemplateFilePath,
26-
String? screenTemplateFilePath,
27-
String? viewTemplateFilePath,
28-
String? bindingsTemplateFilePath,
25+
required String templatesPath,
2926
String path = '',
3027
bool isAccessibleOnlyIfLoggedIn = false,
3128
bool isAccessibleOnlyIfLoggedInAndVerified = false,
@@ -40,33 +37,15 @@ Future<void> generateScreen({
4037
debugLogStart('Starting generator. Please wait...');
4138

4239
final controllerTemplate = extractCodeFromMarkdown(
43-
await loadFileFromGitHub(
44-
username: 'robmllze',
45-
repo: 'df_generate_screen',
46-
filePath: [
47-
controllerTemplateFilePath ?? 'templates/msm1/controller.dart.md',
48-
].join('/'),
49-
),
40+
await loadFileFromPathOrUrl([templatesPath, 'controller.dart.md'].join('/')),
5041
);
5142

5243
final screenTemplate = extractCodeFromMarkdown(
53-
await loadFileFromGitHub(
54-
username: 'robmllze',
55-
repo: 'df_generate_screen',
56-
filePath: [
57-
screenTemplateFilePath ?? 'templates/msm1/screen.dart.md',
58-
].join('/'),
59-
),
44+
await loadFileFromPathOrUrl([templatesPath, 'screen.dart.md'].join('/')),
6045
);
6146

6247
final viewTemplate = extractCodeFromMarkdown(
63-
await loadFileFromGitHub(
64-
username: 'robmllze',
65-
repo: 'df_generate_screen',
66-
filePath: [
67-
viewTemplateFilePath ?? 'templates/msm1/view.dart.md',
68-
].join('/'),
69-
),
48+
await loadFileFromPathOrUrl([templatesPath, 'view.dart.md'].join('/')),
7049
);
7150

7251
final insight = Insight(

lib/src/generate_screen_access/app.dart

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import 'generate.dart';
1818
/// A command line app for generating screen access.
1919
Future<void> generateScreenAccessApp(List<String> args) async {
2020
await runCommandLineApp(
21-
title: 'Generate Screen Access',
21+
title: 'Generate Screen Access by DevCetra.com',
2222
description: '...',
2323
args: args,
2424
parser: ArgParser()
@@ -47,7 +47,9 @@ Future<void> generateScreenAccessApp(List<String> args) async {
4747
..addOption(
4848
'template',
4949
abbr: 't',
50-
help: 'Template file path.',
50+
help: 'Template file path or URL.',
51+
defaultsTo:
52+
'https://raw.githubusercontent.com/robmllze/df_generate_screen/main/templates/msm1/access.dart.md',
5153
)
5254
..addOption(
5355
'output',
@@ -75,7 +77,7 @@ Future<void> generateScreenAccessApp(List<String> args) async {
7577
rootDirPaths: args.rootPaths ?? const {},
7678
subDirPaths: args.subPaths ?? const {},
7779
pathPatterns: args.pathPatterns ?? {},
78-
templateFilePath: args.templateFilePath,
80+
templateFilePath: args.templateFilePath!,
7981
outputFilePath: outputFilePath,
8082
);
8183
await fmtDartFile(outputFilePath);

lib/src/generate_screen_access/generate.dart

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Future<void> generateScreenAccess({
2424
Set<String> pathPatterns = const {},
2525
Set<String> subDirPaths = const {},
2626
String? fallbackDartSdkPath,
27-
String? templateFilePath,
27+
required String templateFilePath,
2828
}) async {
2929
// Notify start.
3030
debugLogStart('Starting generator. Please wait...');
@@ -48,13 +48,7 @@ Future<void> generateScreenAccess({
4848
final sourceFileExplorerResults = await sourceFileExporer.explore();
4949

5050
final template = extractCodeFromMarkdown(
51-
await loadFileFromGitHub(
52-
username: 'robmllze',
53-
repo: 'df_generate_screen',
54-
filePath: [
55-
templateFilePath ?? 'templates/msm1/access.dart.md',
56-
].join('/'),
57-
),
51+
await loadFileFromPathOrUrl(templateFilePath),
5852
);
5953

6054
// ---------------------------------------------------------------------------
@@ -68,8 +62,8 @@ Future<void> generateScreenAccess({
6862
final classInsights = <ClassInsight<ModelGenerateScreenBindings>>[];
6963

7064
// For each file...
71-
for (final filePathResult in sourceFileExplorerResults.filePathResults
72-
.where((e) => e.category == _Categories.DART)) {
65+
for (final filePathResult
66+
in sourceFileExplorerResults.filePathResults.where((e) => e.category == _Categories.DART)) {
7367
final filePath = filePathResult.path;
7468

7569
// Extract insights from the file.
@@ -108,22 +102,19 @@ Future<void> generateScreenAccess({
108102
return '...PATH_ALWAYS_ACCESSIBLE_$a';
109103
},
110104
).join(','),
111-
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED
112-
.placeholder: classInsights.map(
105+
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED.placeholder: classInsights.map(
113106
(e) {
114107
final a = e.className.toUpperSnakeCase();
115108
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_AND_VERIFIED_$a';
116109
},
117110
).join(','),
118-
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN.placeholder:
119-
classInsights.map(
111+
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_IN.placeholder: classInsights.map(
120112
(e) {
121113
final a = e.className.toUpperSnakeCase();
122114
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_IN_$a';
123115
},
124116
).join(','),
125-
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_OUT.placeholder:
126-
classInsights.map(
117+
Placeholders.PATHS_ACCESSIBLE_ONLY_IF_LOGGED_OUT.placeholder: classInsights.map(
127118
(e) {
128119
final a = e.className.toUpperSnakeCase();
129120
return '...PATH_ACCESSIBLE_ONLY_IF_LOGGED_OUT_$a';

lib/src/generate_screen_bindings/app.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import 'generate.dart';
1919
Future<_ArgsChecker> runGenerateScreenBindingsApp(List<String> args) async {
2020
late _ArgsChecker argsChecker;
2121
await runCommandLineApp(
22-
title: 'Generate Screen Bindings',
23-
description: 'A command line app for generating screens bindings',
22+
title: 'Generate Screen Bindings by DevCetra.com',
23+
description: '...',
2424
args: args,
2525
parser: ArgParser()
2626
..addFlag(
@@ -48,7 +48,9 @@ Future<_ArgsChecker> runGenerateScreenBindingsApp(List<String> args) async {
4848
..addOption(
4949
'template',
5050
abbr: 't',
51-
help: 'Template file path.',
51+
help: 'Template file path or URL.',
52+
defaultsTo:
53+
'https://raw.githubusercontent.com/robmllze/df_generate_screen/main/templates/msm1/bindings.dart.md',
5254
)
5355
..addOption(
5456
'dart-sdk',
@@ -66,7 +68,7 @@ Future<_ArgsChecker> runGenerateScreenBindingsApp(List<String> args) async {
6668
action: (parser, results, args) async {
6769
await generateScreenBindings(
6870
fallbackDartSdkPath: args.fallbackDartSdkPath,
69-
templateFilePath: args.templateFilePath,
71+
templateFilePath: args.templateFilePath!,
7072
rootDirPaths: args.rootPaths!,
7173
subDirPaths: args.subPaths ?? const {},
7274
pathPatterns: args.pathPatterns ?? const {},

lib/src/generate_screen_bindings/generate.dart

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import '_insight_mappers.dart';
2121
/// Note: Returns all the annotated screen class names.
2222
Future<void> generateScreenBindings({
2323
String? fallbackDartSdkPath,
24-
String? templateFilePath,
24+
required String templateFilePath,
2525
required Set<String> rootDirPaths,
2626
Set<String> subDirPaths = const {},
2727
Set<String> pathPatterns = const {},
@@ -48,13 +48,7 @@ Future<void> generateScreenBindings({
4848
final sourceFileExplorerResults = await sourceFileExporer.explore();
4949

5050
final template = extractCodeFromMarkdown(
51-
await loadFileFromGitHub(
52-
username: 'robmllze',
53-
repo: 'df_generate_screen',
54-
filePath: [
55-
templateFilePath ?? 'templates/msm1/bindings.dart.md',
56-
].join('/'),
57-
),
51+
await loadFileFromPathOrUrl(templateFilePath),
5852
);
5953

6054
// ---------------------------------------------------------------------------
@@ -68,8 +62,8 @@ Future<void> generateScreenBindings({
6862
final insights = <ClassInsight<ModelGenerateScreenBindings>>[];
6963

7064
// For each file...
71-
for (final filePathResult in sourceFileExplorerResults.filePathResults
72-
.where((e) => e.category == _Categories.DART)) {
65+
for (final filePathResult
66+
in sourceFileExplorerResults.filePathResults.where((e) => e.category == _Categories.DART)) {
7367
final filePath = filePathResult.path;
7468

7569
// Extract insights from the file.

pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
name: df_generate_screen
1212
description: "A tool to generate ready-made screen templates for your Flutter app (uses df_sceen) #CodeGenerator"
13-
version: 0.1.1
13+
version: 0.1.0
1414
repository: https://github.com/robmllze/df_generate_screen
1515
publish_to: none
1616

@@ -26,14 +26,14 @@ dependencies:
2626
args: ^2.5.0
2727
df_collection: ^0.3.0
2828
df_config: ^0.2.0
29-
df_gen_core: ^0.2.4
29+
df_gen_core: ^0.2.6
3030
df_log: ^0.2.1
3131
df_string: ^0.2.1
3232
df_type: ^0.2.3
3333
df_generate_dart_models_core: ^0.3.1
3434
path: ^1.9.0
3535

36-
df_generate_dart_indexes: ^0.1.5
36+
df_generate_dart_indexes: ^0.2.0
3737

3838
df_screen_core:
3939
git:

0 commit comments

Comments
 (0)