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:

Reply via email to