diff --git a/bricks/dart_frog_prod_server/__brick__/build/Dockerfile b/bricks/dart_frog_prod_server/__brick__/build/Dockerfile index aeff64174..9d059b717 100644 --- a/bricks/dart_frog_prod_server/__brick__/build/Dockerfile +++ b/bricks/dart_frog_prod_server/__brick__/build/Dockerfile @@ -1,6 +1,6 @@ # Official Dart image: https://hub.docker.com/_/dart # Specify the Dart SDK base image version using dart: (ex: dart:2.17) -FROM dart:stable AS build +FROM dart:{{dartVersion}} AS build WORKDIR /app @@ -28,4 +28,4 @@ COPY --from=build /app/bin/server /app/bin/ {{#serveStaticFiles}}COPY --from=build /app/public /public/{{/serveStaticFiles}} # Start server. -CMD ["/app/bin/server"] \ No newline at end of file +CMD ["/app/bin/server"] diff --git a/bricks/dart_frog_prod_server/brick.yaml b/bricks/dart_frog_prod_server/brick.yaml index 40fe64fcf..2471d32a2 100644 --- a/bricks/dart_frog_prod_server/brick.yaml +++ b/bricks/dart_frog_prod_server/brick.yaml @@ -4,3 +4,10 @@ version: 0.1.0+1 environment: mason: ">=0.1.0-dev <0.1.0" + +vars: + dartVersion: + type: string + description: Dart version to be used in the generated Dockerfile. + default: stable + prompt: Dart version? diff --git a/bricks/dart_frog_prod_server/hooks/pre_gen.dart b/bricks/dart_frog_prod_server/hooks/pre_gen.dart index ae49a510e..781f6f8c8 100644 --- a/bricks/dart_frog_prod_server/hooks/pre_gen.dart +++ b/bricks/dart_frog_prod_server/hooks/pre_gen.dart @@ -93,5 +93,6 @@ Future preGen( 'invokeCustomEntrypoint': configuration.invokeCustomEntrypoint, 'invokeCustomInit': configuration.invokeCustomInit, 'pathDependencies': await getPathDependencies(projectDirectory), + 'dartVersion': context.vars['dartVersion'], }; } diff --git a/bricks/dart_frog_prod_server/hooks/test/pre_gen_test.dart b/bricks/dart_frog_prod_server/hooks/test/pre_gen_test.dart index 838d501d1..04a7b8198 100644 --- a/bricks/dart_frog_prod_server/hooks/test/pre_gen_test.dart +++ b/bricks/dart_frog_prod_server/hooks/test/pre_gen_test.dart @@ -38,7 +38,8 @@ void main() { setUp(() { logger = _MockLogger(); - context = _FakeHookContext(logger: logger); + context = _FakeHookContext(logger: logger) + ..vars['dartVersion'] = 'stable'; when(() => logger.progress(any())).thenReturn(_MockProgress()); }); @@ -217,7 +218,8 @@ dev_dependencies: 'serveStaticFiles': false, 'invokeCustomEntrypoint': true, 'invokeCustomInit': false, - 'pathDependencies': [] + 'pathDependencies': [], + 'dartVersion': 'stable', }), ); }); @@ -249,7 +251,8 @@ dev_dependencies: 'serveStaticFiles': false, 'invokeCustomEntrypoint': false, 'invokeCustomInit': true, - 'pathDependencies': [] + 'pathDependencies': [], + 'dartVersion': 'stable', }), ); }); @@ -383,6 +386,7 @@ dev_dependencies: 'invokeCustomEntrypoint': false, 'invokeCustomInit': false, 'pathDependencies': [], + 'dartVersion': 'stable', }), ); },