45 Commits

Author SHA1 Message Date
Christoph M. Becker
4b1dbb58de Add type hints
Some are not as specific as they should be, and some may even be wrong,
but since these are only type hints (not type declarations) they won't
affect code execution, but rather provide some help to better understand
the code – for developers as well as tooling.
2024-08-25 20:12:43 +02:00
Christoph M. Becker
a047c663b9 Code clean-up (GH-22)
* Declare methods and instance variables in abstract classes

While PHP doesn't require this, it is good style, and makes the code
easier to reason about.

* Declare class variable

While `Config::getSdkNugetFeedUrl()` is not used from within the
project, and probably just was some experimental stuff, the method is
public, so we better keep it for now, but avoid reading an undeclared
class variable.

* Dodge from covariance warnings regarding Iterator for now

* Don't pass unnecessary arguments

These are retrieved from within the called functions, what *might* not
be the best idea, but it's what we have for now.

* Assert that $cb is actually a string before string conversion

In practice, it's either "copy" or "rename".

* Declare missing `Server::getPhp()`

* Remove unreachable code

* Ensure that `$crt` is defined

From looking at the code, it seems so, but let's make sure before
reading an undefined variable.

* Config::getDepsPort() returns an int

While that is changing the signature of a public method, it makes no
sense to return a string, and later to convert to int again.

* The abstract class TrainingCase is an Interfaces\TrainingCase

There shouldn't be the need for even having an interface (an abstract
class should be sufficient), but we keep the interface for now.
2024-08-25 18:03:45 +02:00
Christoph M. Becker
78c9f7b6d7 Fix reading series from cache if fetching fails
`Fetcher::getByUri()` returns a string (and since it is a public method
we don't want to change that for now), but we check for `false`; so we
change that.

We also use `file_exists()` instead of `Cache::isFileCached()` because
the method is actually called `Cache::fileIsCached()` but appears to be
broken due to applying `::getCacheablePath()` again.  Furthermore the
other methods of `Cache` also use `file_exists()` directly.  Since
`Cache::fileIsCached()` is public, we do not remove the otherwise
unused method yet.
2024-08-18 15:34:59 +02:00
Jakub Zelenka
19c8ccbf07 Migrate sdk files to http://downloads.php.net/~windows/php-sdk (#5)
* Migrate sdk files to http://downloads.php.net/~windows/php-sdk

* Add some debugging

* Allow multiline package match
2024-03-27 17:09:19 +05:30
dixyes
3a4163b0fa Initial support for arm64 cross compilation
Closes GH-1.
2022-03-29 12:37:55 +02:00
Christoph M. Becker
050caa59e5 Fix typo 2019-09-06 15:56:56 +02:00
Christoph M. Becker
b8bf87b831 Get info from Config, which may get info from environment
There is no need to implement the detection logic in the PHP class;
instead we can get it from the Config object, where we try to get the
respective information from the environment, if not already set.
2019-05-22 19:18:50 +02:00
Christoph M. Becker
8d1df4af8c Fix known branches detection
If there were vs16 packages listed in the series folder, the first
regex didn't parse these correctly, and if any vc packages were there,
the second regex was never executed.  We fix this by merging the two
regexs into one.
2019-05-19 16:08:14 +02:00
Anatol Belski
76ede8f900 Renames VC => VS
Rename starter scripts for 16
2019-03-31 12:51:55 +02:00
Anatol Belski
1d69f089ca Improve error handling on erroneous branch data 2019-02-21 19:33:12 +01:00
Gemorroj
1b8473489f some minor improvements drop unused imports, unused variables, dirname(__FILE__) -> __DIR__, cs fixes, ...
revert some non-obvious getters, explicit specification of abstract classes

null -> NULL

4 space -> tab
2018-08-07 15:43:01 +02:00
Anatol Belski
87b60bc9d5 Handle rmtools branch guess through a short path 2018-08-01 09:10:32 +02:00
Anatol Belski
4936f1d7ca This works only if dealing with a git checkout 2018-07-31 21:31:31 +02:00
Anatol Belski
27c3431e92 Add fallback for rmtools 2018-07-31 21:05:05 +02:00
Anatol Belski
64b37312f7 Add special handling for master branch name 2018-07-31 19:29:43 +02:00
Anatol Belski
b13a2df162 Improve error handling for dependency path 2018-05-04 11:11:15 +02:00
Anatol Belski
91302e8142 Use SSL explicitly for communitation with windows.php.net 2018-03-12 14:03:00 +01:00
Anatol Belski
b0a93f01c5 Send user agent when fetching 2018-02-20 10:34:30 +01:00
Anatol Belski
b8b32aaa27 Avoid each() 2018-01-10 17:34:19 +01:00
Anatol Belski
741063cdf1 Support branch recognition when working under dev package 2017-09-05 12:38:02 +02:00
Jerry
a97d0bd292 Fix Arch determintion 2017-09-01 15:52:35 +02:00
Anatol Belski
64c2ac973c Fix deps path recognition 2017-08-23 00:19:10 +02:00
Anatol Belski
eae3aab2ae revert the deps path reset part and sync 2017-08-17 18:19:07 +02:00
Anatol Belski
e7e92b35d0 yet more path recognition variant 2017-08-17 16:33:32 +02:00
Anatol Belski
d158c3c032 add possibility to reevaluate the deps path 2017-08-17 16:17:47 +02:00
Anatol Belski
69fb69fd93 no realpath needed 2017-08-17 15:33:38 +02:00
Anatol Belski
aee165fe05 refactor dependency dir recognition 2017-08-17 14:06:01 +02:00
Anatol Belski
24e2464d8c improve branch name guessing 2017-07-10 12:02:17 +02:00
Anatol Belski
f4e3f68ce5 fix current arch setter 2017-06-16 02:34:57 +02:00
Anatol Belski
73eb340687 fix branch name recognition when no cli opt passed
(cherry picked from commit 09e01d62cb74aba6158943e0418c94f09e136248)
2017-06-05 13:45:14 +02:00
Anatol Belski
c8c80a07f7 more refactoring to simplify config 2017-05-22 13:22:06 +02:00
Anatol Belski
65bc0a8552 refactor config stuff 2017-05-22 12:47:42 +02:00
Anatol Belski
af2134b486 improve error check 2017-05-20 17:43:32 +02:00
Anatol Belski
a2debffacc more on return type decls 2017-05-20 14:04:34 +02:00
Anatol Belski
078554f4a6 update namespaces 2017-05-20 12:35:56 +02:00
Anatol Belski
cad50539cf improve crt usability check with multiple choices 2017-03-20 15:38:07 +01:00
Anatol Belski
2849ea89a8 rename var for more clarity 2016-11-16 19:44:02 +01:00
Anatol Belski
efb77f4589 add some vim folds 2016-10-28 14:09:01 +02:00
Anatol Belski
cddbe84fe3 add vim mode configs 2016-10-28 14:03:17 +02:00
Anatol Belski
ac205e153f do necessary followup ns renames 2016-10-27 16:08:29 +02:00
Anatol Belski
b52253461f revamp the whole branch config thing
The series alone deliver the information about the known branches,
no need to maintain an extra file. The only downside is the absense
of mapping between master and latest, howevere that's fine as it's
only master.
2016-10-20 20:40:36 +02:00
Anatol Belski
dd4dd38165 implement cache, allow passing unknown branch and hope for best 2016-10-20 17:57:07 +02:00
Anatol Belski
b12afb3233 basic implementation deps update
- fetch
- unpack
- local replace/put

sanity checks are to go yet, but the basic stuff works.
2016-10-20 01:45:53 +02:00
Anatol Belski
17291e5af3 add some config guessing and minor changes 2016-10-19 19:47:13 +02:00
Anatol Belski
0b2002e4ca basic stuff to fetch the deps 2016-10-19 18:56:18 +02:00