diff --git a/.env.example b/.env.example index 260f7b5..f374cec 100644 --- a/.env.example +++ b/.env.example @@ -2,8 +2,6 @@ APP_NAME=Infbyte APP_ENV=local APP_DEBUG=true APP_URL=http://localhost -APP_CONFIG_CACHE_TYPE=sharded -APP_CONTAINER_COMPILED=bootstrap/cache/container.php APP_CONTAINER_COMPILED_ACTIVATION=off ROUTER_MATCHER=fused diff --git a/.gitattributes b/.gitattributes index 72cde45..3fe8a30 100644 --- a/.gitattributes +++ b/.gitattributes @@ -34,10 +34,12 @@ /app/Support export-ignore /bin export-ignore /bootstrap/cache/*.php export-ignore -/bootstrap/cache/config export-ignore -/bootstrap/cache/console export-ignore -/bootstrap/cache/container export-ignore -/bootstrap/cache/routes export-ignore +/bootstrap/cache/config/* export-ignore +/bootstrap/cache/config/.gitignore -export-ignore +/bootstrap/cache/container/* export-ignore +/bootstrap/cache/container/.gitignore -export-ignore +/bootstrap/cache/routes/* export-ignore +/bootstrap/cache/routes/.gitignore -export-ignore /database export-ignore /resources export-ignore /storage/app export-ignore diff --git a/.gitignore b/.gitignore index fafe7d1..eadbe5d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,15 @@ /.windsurf/ /bootstrap/cache/* !/bootstrap/cache/.gitignore +!/bootstrap/cache/config/ +/bootstrap/cache/config/* +!/bootstrap/cache/config/.gitignore +!/bootstrap/cache/container/ +/bootstrap/cache/container/* +!/bootstrap/cache/container/.gitignore +!/bootstrap/cache/routes/ +/bootstrap/cache/routes/* +!/bootstrap/cache/routes/.gitignore /database/*.sqlite /vendor/ *~ diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore index d6b7ef3..cabb6c1 100644 --- a/bootstrap/cache/.gitignore +++ b/bootstrap/cache/.gitignore @@ -1,2 +1,5 @@ * !.gitignore +!config/ +!container/ +!routes/ diff --git a/bootstrap/cache/config/.gitignore b/bootstrap/cache/config/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/config/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/bootstrap/cache/container/.gitignore b/bootstrap/cache/container/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/container/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/bootstrap/cache/routes/.gitignore b/bootstrap/cache/routes/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/routes/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/config/app.php b/config/app.php index ed119fc..3aa1de8 100644 --- a/config/app.php +++ b/config/app.php @@ -39,15 +39,14 @@ |-------------------------------------------------------------------------- | | Foundation 2.0 is lazy by default and owns execution scopes directly. - | There is no application request_scope switch. Compiled container activation - | remains opt-in until a deployment deliberately builds and enables it. + | There is no application request_scope or compiled-path switch. Foundation + | owns the fixed per-runtime artifact paths. Activation remains opt-in. | */ 'container' => [ 'alias' => env('APP_CONTAINER_ALIAS'), 'environment' => env_string('APP_ENV', 'local'), 'lazy_loading' => env_bool('APP_CONTAINER_LAZY_LOADING', true), - 'compiled' => env_string('APP_CONTAINER_COMPILED', 'bootstrap/cache/container.php'), 'compiled_activation' => env_string('APP_CONTAINER_COMPILED_ACTIVATION', 'off'), 'debug_tracing' => [ 'enabled' => env_bool('APP_CONTAINER_DEBUG_TRACING', false), diff --git a/deploy.sh b/deploy.sh index 5843cbd..557fc10 100755 --- a/deploy.sh +++ b/deploy.sh @@ -28,6 +28,7 @@ fi runtime_directories=( "bootstrap/cache" "bootstrap/cache/config" + "bootstrap/cache/container" "bootstrap/cache/routes" "storage" "storage/app" diff --git a/tests/Feature/SkeletonDistributionTest.php b/tests/Feature/SkeletonDistributionTest.php index 42c53c6..a26db26 100644 --- a/tests/Feature/SkeletonDistributionTest.php +++ b/tests/Feature/SkeletonDistributionTest.php @@ -27,10 +27,12 @@ ->and($attributes)->toContain('/tests/Feature/RouteCacheCliTest.php export-ignore') ->and($attributes)->toContain('/tests/Feature/SkeletonDistributionTest.php export-ignore') ->and($attributes)->toContain('/bootstrap/cache/*.php export-ignore') - ->and($attributes)->toContain('/bootstrap/cache/config export-ignore') - ->and($attributes)->toContain('/bootstrap/cache/console export-ignore') - ->and($attributes)->toContain('/bootstrap/cache/container export-ignore') - ->and($attributes)->toContain('/bootstrap/cache/routes export-ignore'); + ->and($attributes)->toContain('/bootstrap/cache/config/* export-ignore') + ->and($attributes)->toContain('/bootstrap/cache/config/.gitignore -export-ignore') + ->and($attributes)->toContain('/bootstrap/cache/container/* export-ignore') + ->and($attributes)->toContain('/bootstrap/cache/container/.gitignore -export-ignore') + ->and($attributes)->toContain('/bootstrap/cache/routes/* export-ignore') + ->and($attributes)->toContain('/bootstrap/cache/routes/.gitignore -export-ignore'); }); it('builds a clean create-project archive and provisions its environment', function (): void { @@ -84,9 +86,9 @@ expect($project . '/composer.json')->toBeFile() ->and($project . '/bootstrap/install.php')->not->toBeFile() ->and($project . '/bootstrap/cache/.gitignore')->toBeFile() - ->and($project . '/bootstrap/cache/config')->not->toBeDirectory() - ->and($project . '/bootstrap/cache/container')->not->toBeDirectory() - ->and($project . '/bootstrap/cache/routes')->not->toBeDirectory() + ->and($project . '/bootstrap/cache/config/.gitignore')->toBeFile() + ->and($project . '/bootstrap/cache/container/.gitignore')->toBeFile() + ->and($project . '/bootstrap/cache/routes/.gitignore')->toBeFile() ->and($project . '/storage/cache/.gitignore')->toBeFile() ->and($project . '/storage/logs/.gitignore')->toBeFile() ->and($project . '/storage/sessions/.gitignore')->toBeFile()