11#!/usr/bin/env php
22<?php
33
4- define ('LATEST_RELEASE ' , '^4.0 ' );
4+ define ('LATEST_RELEASE ' , '^4.7 ' );
5+ define ('DEVELOP_BRANCH ' , 'dev-develop ' );
6+ define ('NEXT_MINOR ' , '^4.8-dev ' );
57define ('GITHUB_URL ' , 'https://github.com/codeigniter4/codeigniter4 ' );
68
79/*
@@ -11,18 +13,18 @@ define('GITHUB_URL', 'https://github.com/codeigniter4/codeigniter4');
1113 * Use this script to toggle the CodeIgniter dependency between the
1214 * latest stable release and the most recent development update.
1315 *
14- * Usage: php builds [release|development]
16+ * Usage: php builds [release|development|next ]
1517 */
1618
19+ $ branch = $ argv [1 ] ?? '' ;
20+
1721// Determine the requested stability
18- if (empty ( $ argv [ 1 ]) || ! in_array ($ argv [ 1 ] , ['release ' , 'development ' ], true )) {
19- echo 'Usage: php builds [release|development] ' . PHP_EOL ;
22+ if ($ branch === '' || ! in_array ($ branch , ['release ' , 'development ' , ' next ' ], true )) {
23+ echo 'Usage: php builds [release|development|next ] ' . PHP_EOL ;
2024
2125 exit ;
2226}
2327
24- $ dev = $ argv [1 ] === 'development ' ;
25-
2628$ modified = [];
2729
2830// Locate each file and update it for the requested stability
@@ -36,7 +38,7 @@ if (is_file($file)) {
3638 $ array = json_decode ($ contents , true );
3739
3840 if (is_array ($ array )) {
39- if ($ dev ) {
41+ if ($ branch !== ' release ' ) {
4042 $ array ['minimum-stability ' ] = 'dev ' ;
4143 $ array ['prefer-stable ' ] = true ;
4244 $ array ['repositories ' ] ??= [];
@@ -57,7 +59,7 @@ if (is_file($file)) {
5759 ];
5860 }
5961
60- $ array ['require ' ]['codeigniter4/codeigniter4 ' ] = ' dev-develop ' ;
62+ $ array ['require ' ]['codeigniter4/codeigniter4 ' ] = $ branch === ' next ' ? NEXT_MINOR : DEVELOP_BRANCH ;
6163 unset($ array ['require ' ]['codeigniter4/framework ' ]);
6264 } else {
6365 unset($ array ['minimum-stability ' ]);
@@ -70,7 +72,7 @@ if (is_file($file)) {
7072 }
7173 }
7274
73- if (empty ( $ array ['repositories ' ]) ) {
75+ if ($ array ['repositories ' ] === [] ) {
7476 unset($ array ['repositories ' ]);
7577 }
7678 }
@@ -100,7 +102,7 @@ foreach ($files as $file) {
100102 if (is_file ($ file )) {
101103 $ contents = file_get_contents ($ file );
102104
103- if ($ dev ) {
105+ if ($ branch !== ' release ' ) {
104106 $ contents = str_replace ('vendor/codeigniter4/framework ' , 'vendor/codeigniter4/codeigniter4 ' , $ contents );
105107 } else {
106108 $ contents = str_replace ('vendor/codeigniter4/codeigniter4 ' , 'vendor/codeigniter4/framework ' , $ contents );
@@ -120,6 +122,7 @@ if ($modified === []) {
120122 foreach ($ modified as $ file ) {
121123 echo " * {$ file }" . PHP_EOL ;
122124 }
123-
124- echo 'Run `composer update` to sync changes with your vendor folder. ' . PHP_EOL ;
125125}
126+
127+ echo 'Run `composer update` to sync changes with your vendor folder. ' . PHP_EOL ;
128+ echo 'Don \'t forget to update the project files in app folder from "vendor/codeigniter4/*/app/". ' . PHP_EOL ;
0 commit comments