Commit: 116120135b954beb0cdd316492af74a6eef67da8 Author: Christoph M. Becker <cmbecke...@gmx.de> Tue, 4 Jun 2019 19:25:01 +0200 Parents: 05e66bd4a07bb84e1190fc77ae9eb73e9534c958 Branches: master
Link: http://git.php.net/?p=pftt2.git;a=commitdiff;h=116120135b954beb0cdd316492af74a6eef67da8 Log: Close #38: Add PHP 7.4 support Bugs: https://bugs.php.net/38 Changed paths: M src/com/mostc/pftt/main/PfttAuto.java M src/com/mostc/pftt/model/core/EBuildBranch.java M src/com/mostc/pftt/model/core/ECompiler.java M src/com/mostc/pftt/model/core/PhpBuild.java M src/com/mostc/pftt/util/WindowsSnapshotDownloadUtil.groovy Diff: diff --git a/src/com/mostc/pftt/main/PfttAuto.java b/src/com/mostc/pftt/main/PfttAuto.java index d8170e6..9d1d91d 100644 --- a/src/com/mostc/pftt/main/PfttAuto.java +++ b/src/com/mostc/pftt/main/PfttAuto.java @@ -37,6 +37,10 @@ import com.mostc.pftt.util.TimerUtil; // TODO cleanup really old build, test, debug packs public class PfttAuto { static final BuildSpec[] BUILD_SPECS = new BuildSpec[] { + new BuildSpec(EBuildBranch.PHP_7_4, EBuildType.TS, ECPUArch.X64), + new BuildSpec(EBuildBranch.PHP_7_4, EBuildType.NTS, ECPUArch.X64), + new BuildSpec(EBuildBranch.PHP_7_4, EBuildType.TS, ECPUArch.X86), + new BuildSpec(EBuildBranch.PHP_7_4, EBuildType.NTS, ECPUArch.X86), new BuildSpec(EBuildBranch.PHP_7_3, EBuildType.TS, ECPUArch.X64), new BuildSpec(EBuildBranch.PHP_7_3, EBuildType.NTS, ECPUArch.X64), new BuildSpec(EBuildBranch.PHP_7_3, EBuildType.TS, ECPUArch.X86), diff --git a/src/com/mostc/pftt/model/core/EBuildBranch.java b/src/com/mostc/pftt/model/core/EBuildBranch.java index 2c2369b..3bc0e9b 100644 --- a/src/com/mostc/pftt/model/core/EBuildBranch.java +++ b/src/com/mostc/pftt/model/core/EBuildBranch.java @@ -95,6 +95,8 @@ public enum EBuildBranch { return PHP_7_2; else if (str.equals("php_7_3")||str.equals("7_3")||str.equals("7.3")||str.equals("73")||str.equals("php7_3")||str.equals("php73")||str.equals("php7.3")||str.equals("php_7.3")) return PHP_7_3; + else if (str.equals("php_7_4")||str.equals("7_4")||str.equals("7.4")||str.equals("74")||str.equals("php7_4")||str.equals("php74")||str.equals("php7.4")||str.equals("php_7.4")) + return PHP_7_4; else if (str.equals("master")||str.equals("php_master")) return PHP_Master; else if (str.equals("str_size_and_int64")) @@ -115,6 +117,8 @@ public enum EBuildBranch { return PHP_7_2; else if (str.contains("php_7_3")||str.contains("php7_3")||str.contains("php73")||str.contains("php7.3")||str.contains("php_7.3")) return PHP_7_3; + else if (str.contains("php_7_4")||str.contains("php7_4")||str.contains("php74")||str.contains("php7.4")||str.contains("php_7.4")) + return PHP_7_4; else if (str.contains("master")) return PHP_Master; else if (str.contains("str_size")||str.contains("int64")) diff --git a/src/com/mostc/pftt/model/core/ECompiler.java b/src/com/mostc/pftt/model/core/ECompiler.java index 04f91af..7b84c76 100644 --- a/src/com/mostc/pftt/model/core/ECompiler.java +++ b/src/com/mostc/pftt/model/core/ECompiler.java @@ -8,6 +8,7 @@ public enum ECompiler { VC12, VC14, // Visual Studio 2015 VC15, + VS16, // Visual Studio 2019 GCC4, GCC3 } diff --git a/src/com/mostc/pftt/model/core/PhpBuild.java b/src/com/mostc/pftt/model/core/PhpBuild.java index a906080..1f44663 100644 --- a/src/com/mostc/pftt/model/core/PhpBuild.java +++ b/src/com/mostc/pftt/model/core/PhpBuild.java @@ -201,6 +201,9 @@ public class PhpBuild extends SAPIManager { case PHP_7_3: debug_path = "php-debug-pack-7.3-"+build_type+"-windows-"+compiler+"-"+cpu_arch+"-"+revision; break; + case PHP_7_4: + debug_path = "php-debug-pack-7.4-"+build_type+"-windows-"+compiler+"-"+cpu_arch+"-"+revision; + break; case PHP_Master: debug_path = "php-debug-pack-master-"+build_type+"-windows-"+compiler+"-"+cpu_arch+"-"+revision; break; @@ -243,6 +246,9 @@ public class PhpBuild extends SAPIManager { case PHP_7_3: source_path = "php-7.3-src-"+revision; break; + case PHP_7_4: + source_path = "php-7.4-src-"+revision; + break; case PHP_Master: source_path = "php-master-src-"+revision; break; @@ -422,6 +428,10 @@ public class PhpBuild extends SAPIManager { branch = EBuildBranch.PHP_7_3; major = 7; minor = 3; + } else if (b.contains("php-7.4")) { + branch = EBuildBranch.PHP_7_4; + major = 7; + minor = 4; } else if (b.contains("php-master")) { branch = EBuildBranch.PHP_Master; major = 5; @@ -607,8 +617,16 @@ public class PhpBuild extends SAPIManager { } } + public boolean is74(ConsoleManager cm, Host host) { + try { + return getVersionBranch(cm, host) == EBuildBranch.PHP_7_4; + } catch ( Exception ex ) { + return false; + } + } + public boolean is7(ConsoleManager cm, Host host) { - return is70(cm, host) || is71(cm, host) || is72(cm, host) || is73(cm, host); + return is70(cm, host) || is71(cm, host) || is72(cm, host) || is73(cm, host) || is74(cm, host); } public boolean isMaster(ConsoleManager cm, Host host) { diff --git a/src/com/mostc/pftt/util/WindowsSnapshotDownloadUtil.groovy b/src/com/mostc/pftt/util/WindowsSnapshotDownloadUtil.groovy index 83811e8..93cb43b 100644 --- a/src/com/mostc/pftt/util/WindowsSnapshotDownloadUtil.groovy +++ b/src/com/mostc/pftt/util/WindowsSnapshotDownloadUtil.groovy @@ -35,6 +35,7 @@ final class WindowsSnapshotDownloadUtil { static final URL PHP_7_1_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/php-7.1/") static final URL PHP_7_2_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/php-7.2/") static final URL PHP_7_3_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/php-7.3/") + static final URL PHP_7_4_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/php-7.4/") static final URL STR_SIZE_AND_INT64_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/str_size_and_int64/") static final URL PHP_MASTER_DOWNLOAD = new URL("http://windows.php.net/downloads/snaps/master/") @@ -62,6 +63,8 @@ final class WindowsSnapshotDownloadUtil { static URL getDownloadURL(EBuildBranch branch) { // TODO temp call method on EBuildBranch to simplify adding new branches switch(branch) { + case EBuildBranch.PHP_7_4: + return PHP_7_4_DOWNLOAD; case EBuildBranch.PHP_7_1: return PHP_7_1_DOWNLOAD; case EBuildBranch.PHP_7_0: