Commit Graph

323 Commits

Author SHA1 Message Date
Alexander Karatarakis
71b985dd03 Remove try_load_port() overload 2017-02-17 15:10:43 -08:00
Alexander Karatarakis
ff222fac45 [build_command] Extract function for calculations after Input processing 2017-02-17 15:08:05 -08:00
Alexander Karatarakis
532c4f6a53 Add vcpkg_cmd_arguments::check_no_optional_arguments() 2017-02-17 00:16:52 -08:00
Alexander Karatarakis
e16084cc8d Rename Stopwatch.h/cpp to vcpkg_Chrono.h/cpp 2017-02-16 16:32:36 -08:00
Alexander Karatarakis
a62558fb79 Introduce ElapsedTime class 2017-02-16 16:29:52 -08:00
Alexander Karatarakis
b39b2d298d Remove unused variable from create_remove_plan() 2017-02-15 18:38:40 -08:00
Alexander Karatarakis
ab2cca3dad Add BuildResul_Values and rename NULLVALUE const 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
430739c468 Change parameter from std::string to package_spec 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
6824cc9264 Extract create_user_troubleshooting_message(). CI doesn't call it, interactive commands do 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
6e25bcf7cb Swap parameters of Build::create_error_message() 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
c432b66034 Introduce ci command: builds all packages of a triplet 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
c60c9de6e2 Restore dependency check in build_package() 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
2b90350632 Separate dependency check from build_package() 2017-02-15 18:06:06 -08:00
Alexander Karatarakis
a9a63192dd Function rename 2017-02-14 16:57:34 -08:00
Alexander Karatarakis
a7c5063d4d Add functions to find the Program Files folders on the C++ side. Resolves #606 2017-02-14 16:23:02 -08:00
Alexander Karatarakis
b882f365e9 System::get_environmental_variable() now returns optional<> 2017-02-14 15:35:34 -08:00
Alexander Karatarakis
0d47ce63ed Add System::set_environmental_variable() 2017-02-14 13:26:21 -08:00
Alexander Karatarakis
c11b2c790e Rename wdupenv_str to get_environmental_variable() 2017-02-14 13:21:30 -08:00
Alexander Karatarakis
af583825a7 [Checks] Add check_exit() overload with no message 2017-02-13 14:05:27 -08:00
Alexander Karatarakis
37f45b9d5f Make StatusParagraph::find_installed() const 2017-02-13 14:05:26 -08:00
Alexander Karatarakis
a13b2f0c92 build_package() modified to return the result of the build 2017-02-10 14:00:11 -08:00
Alexander Karatarakis
95650bdd42 PostBuildLint enum revamp 2017-02-10 14:00:11 -08:00
Alexander Karatarakis
7a0404cb83 BuildInfo now holds enum instead of string 2017-02-10 14:00:11 -08:00
Alexander Karatarakis
47a4bff2d1 Add vcpkg_Enums 2017-02-10 14:00:11 -08:00
Alexander Karatarakis
d36a1b7cb0 Remove OutdatedDynamicCrt enum. Replace with vector<struct> 2017-02-07 22:57:37 -08:00
Alexander Karatarakis
f9616c6994 Add new Policy: Empty Package 2017-02-07 17:02:57 -08:00
Alexander Karatarakis
1d34facb84 Split OutdatedDynamicCrt into separate h/cpp 2017-02-01 17:54:49 -08:00
Alexander Karatarakis
0a0a17b7f9 Split BuildType into separate h/cpp 2017-02-01 17:54:48 -08:00
Alexander Karatarakis
4aef2485b9 Split ConfigurationType into separate h/cpp 2017-02-01 17:54:48 -08:00
Alexander Karatarakis
7a04aff33e Split LinkageType into separate h/cpp 2017-02-01 17:54:48 -08:00
Alexander Karatarakis
9086fcebdf Rename files in PostBuildLint namespace 2017-02-01 17:54:48 -08:00
Alexander Karatarakis
c595fac0ff Add BuildPolicies::values() 2017-02-01 11:42:41 -08:00
Alexander Karatarakis
4599997869 Introduce BuildPolicies (not used by the post_build checks yet) 2017-02-01 11:42:41 -08:00
Alexander Karatarakis
bd1a10e5b9 Enhance the opt_bool type 2017-02-01 11:42:41 -08:00
Alexander Karatarakis
2a83c5eda6 [opt_bool] Make members ALL_CAPS 2017-01-31 12:59:20 -08:00
Alexander Karatarakis
4e64dc598a [Dependencies] Specify constructors and fix bug with default remove_plan_action init 2017-01-30 21:52:44 -08:00
Alexander Karatarakis
4252d9436e remove_plan now depends on the spec, instead of StatusParagraph 2017-01-30 21:52:44 -08:00
Alexander Karatarakis
8de71af4bd Introduce "optional" alias 2017-01-30 21:52:44 -08:00
Alexander Karatarakis
836de4b074 Fix remove_plan code 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
b4e9322a11 Rename field 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
e461467aff [Dependencies] User-requested vs autos-elected info is now in a separate enum 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
4d10454167 Add package_spec::display_name() 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
884cd176b0 Renames and formatting 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
661776fe29 Enable recursive remove command 2017-01-30 21:52:43 -08:00
Alexander Karatarakis
e0577978c5 Remove unneeded #include directive 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
0f0698dc18 Introduce Strings::Joiner 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
4059d4a6b9 [package_spec] Make toString() a member function 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
9da07d4540 Add <filesystem> and <chrono> to pch.h 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
6f363339d8 Reorganize pch.h 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
050e4a0f7a Introduce precompiled headers 2017-01-30 21:52:42 -08:00
Alexander Karatarakis
33b46b1fee Create a remove plan. NOT used yet 2017-01-30 21:52:41 -08:00
Alexander Karatarakis
cc81c3de6c [StatusParagraphs] Replace auto with actual type 2017-01-30 21:52:41 -08:00
Alexander Karatarakis
9502d795bb Move & rename remove_plan_type enum 2017-01-30 21:52:41 -08:00
Alexander Karatarakis
2a246f26af Change check_throw() to check_exit() 2017-01-25 19:38:14 -08:00
Alexander Karatarakis
59be40a100 Rename vcpkg.h/cpp to vcpkglib.h/cpp 2017-01-25 19:32:50 -08:00
Alexander Karatarakis
93c3c0648a [VS2017] Enable building with v141 toolset 2017-01-23 19:25:47 -08:00
Alexander Karatarakis
e0e3f6ac21 [VS2017] Add function to get vcvarsall.bat 2017-01-23 16:15:30 -08:00
Alexander Karatarakis
79a0036739 [VS2017] Add function do get dumpbin.exe 2017-01-23 15:15:26 -08:00
Alexander Karatarakis
3a6571a019 Add Strings::split() function 2017-01-23 15:13:12 -08:00
Alexander Karatarakis
6d3ab4579d [vcpkg_paths] Add "scripts" entry 2017-01-23 15:12:52 -08:00
Alexander Karatarakis
cc8851144a Reorganize commands, each in its own namespace
Additionally, functions related to a command can now live
in the same namespace
2017-01-12 22:03:57 -08:00
Alexander Karatarakis
df2a05e854 Introduce Command namespace. Refactoring 2017-01-12 17:43:05 -08:00
Alexander Karatarakis
6a4ec92a90 Place build & build_external commands into separate files 2017-01-12 17:43:04 -08:00
Alexander Karatarakis
e5f60816cb Introduce ImmutableSortedVector 2017-01-05 14:30:52 -08:00
Alexander Karatarakis
708e93d82a Use Nested Namespace Definition 2017-01-05 14:25:50 -08:00
Alexander Karatarakis
6e29b7b8d4 Pass by reference 2017-01-05 14:21:09 -08:00
Alexander Karatarakis
88b5791b0b Use Nested Namespace Definition 2017-01-05 14:14:11 -08:00
Alexander Karatarakis
0b5e2e9e76 Use nested namespace definition 2017-01-05 12:55:28 -08:00
Alexander Karatarakis
835693ce97 Don't return by const value 2016-12-16 20:17:24 -08:00
Alexander Karatarakis
73bf8306b2 Pass by const ref 2016-12-16 20:11:58 -08:00
Alexander Karatarakis
aad0cc4c04 Files::get_contents() -> Files::read_contents() 2016-12-16 19:40:58 -08:00
Alexander Karatarakis
b666e90c32 Pass by ref 2016-12-16 19:38:02 -08:00
Alexander Karatarakis
a5c3fddfe7 Add Strings::trim_all_and_remove_whitespace_strings() 2016-12-16 16:02:19 -08:00
Alexander Karatarakis
e4548a8cf4 Add Files::read_all_lines() and Files::write_all_lines() 2016-12-15 18:19:22 -08:00
Alexander Karatarakis
8f397bb8d1 Add Strings::trim() function 2016-12-15 17:09:14 -08:00
Alexander Karatarakis
e523668cce Change signature to std::string& (from char*) 2016-12-12 15:13:24 -08:00
Alexander Karatarakis
c77be8f221 [vcpkg_System] Add missing const keywords 2016-12-12 15:08:26 -08:00
Alexander Karatarakis
852acbc263 [vcpkg_Input] Use std::string instead of char* 2016-12-12 15:05:49 -08:00
Alexander Karatarakis
b629cd9044 [vcpkg_cmd_arguments] Use std::string instead of char* 2016-12-12 15:03:36 -08:00
Alexander Karatarakis
d02fe9bdae Add System::println(std::string) overloads 2016-12-12 14:58:38 -08:00
Robert Schumacher
1310e9e052 Add SQM User Id to metrics 2016-12-12 14:03:13 -08:00
Alexander Karatarakis
7c2abc755f Introduce function get_installed_files() 2016-12-01 15:36:39 -08:00
Alexander Karatarakis
6eac44c964 Move install_package() and deinstall_package() to the files of the
appropriate commands
2016-12-01 01:49:24 -08:00
Alexander Karatarakis
89aaf195fb Remove unused variable 2016-12-01 01:37:41 -08:00
Alexander Karatarakis
ae379fedea Move print_paths() to Files:: 2016-11-30 14:08:43 -08:00
Alexander Karatarakis
0042316c4b Introduce filesystem_fs.h 2016-11-30 13:38:42 -08:00
Alexander Karatarakis
0b996a002e [Files] Add functions to get all files of a dir recursively or non-recursively 2016-11-29 18:08:00 -08:00
Alexander Karatarakis
74f69ade18 Introduce PostBuildLint namespace 2016-11-29 17:17:45 -08:00
Alexander Karatarakis
af120041b6 Move file functions to vcpkg_Files.h 2016-11-29 17:04:41 -08:00
Alexander Karatarakis
519c542507 Don't return by const value 2016-11-29 11:33:32 -08:00
Robert Schumacher
692d95c865 [vcpkg] Do not return references to locals 2016-11-26 02:51:12 -08:00
Alexander Karatarakis
b88c51bb7e [expected.h] Add missing #include 2016-11-15 17:53:23 -08:00
Alexander Karatarakis
8a72437674 Remove unused #include 2016-11-15 17:43:09 -08:00
Alexander Karatarakis
727e4ed6fa [Graph] Now uses set instead of vector 2016-11-15 12:55:35 -08:00
Alexander Karatarakis
b64b0cbc8a Renames and cleanup 2016-11-15 12:47:43 -08:00
Alexander Karatarakis
2b204e6739 Use custom struct instead of std::pair 2016-11-15 12:40:06 -08:00
Alexander Karatarakis
2584f3e3de Major refactor/rework of dependency resolution 2016-11-15 11:58:13 -08:00
Alexander Karatarakis
d852d3b6f2 Add more blacklisted outdated crts 2016-11-10 16:28:10 -08:00
Alexander Karatarakis
eb7ca47d48 Add checks for outdated crts 2016-11-10 11:40:27 -08:00
Alexander Karatarakis
bf7978dcf9 [post-build-checks] Rework crt linkage checks 2016-11-09 18:44:11 -08:00
Alexander Karatarakis
89447c156d Add checks for crt linkage (currently disabled) 2016-11-09 01:27:49 -08:00
Alexander Karatarakis
6e9d17f73c Introduce BUILD_INFO file. Significant change in the way static/dynamic is
handled
2016-11-08 14:12:49 -08:00
Alexander Karatarakis
eaebe2888a Remove unused #include directive 2016-11-07 17:57:03 -08:00
Alexander Karatarakis
1a1507a603 Move search_file() to commands_own.cpp 2016-11-07 17:56:40 -08:00
Alexander Karatarakis
d799762ea7 Move listfile_path() to vcpkg_paths.h 2016-11-07 17:54:23 -08:00
Alexander Karatarakis
be25fd7331 Remove unused #include 2016-11-07 17:51:23 -08:00
Alexander Karatarakis
d78c1a974f Move shorten_description to vcpkglib_helpers 2016-11-07 17:37:08 -08:00
Alexander Karatarakis
c91d8e41b6 Introduce vcpkg_info.h/cpp 2016-11-07 17:31:41 -08:00
Alexander Karatarakis
7a1bc07142 [Dependencies] Remove unused parameter 2016-11-07 17:09:07 -08:00
Alexander Karatarakis
21f69a44be [Dependencies] Function rename 2016-11-07 17:06:46 -08:00
Alexander Karatarakis
d85e169c05 [Dependencies] Make function static 2016-11-07 17:05:32 -08:00
Alexander Karatarakis
8be5e7c123 Move Dependency-related functions from vcpkg.h to vcpkg_Dependencies.h 2016-11-07 16:38:49 -08:00
Alexander Karatarakis
d65e78f6f5 Move functions that are only used by import out of vcpkg.h/cpp 2016-11-07 16:17:34 -08:00
Alexander Karatarakis
a721db2c1f Refactor: create new Paragraphs.h/cpp 2016-11-07 16:06:36 -08:00
Alexander Karatarakis
e4cab414ae Add new command: portsdiff 2016-11-06 22:39:15 -08:00
Alexander Karatarakis
83ffbf028f [Maps] Add overload for map (existing: unordered_map) 2016-11-06 20:11:50 -08:00
Robert Schumacher
7f336c7467 Enable qualified dependencies. Fix bug in internal 'build' command.
Added capability for CONTROL files to specify qualified dependencies, which are substring searched inside triplet names.

Fixed bug in internal 'build' command where if a package is already built, that built package's dependencies will be used to determine requirements for the build instead of the port directory's CONTROL file.
2016-11-05 01:02:15 -07:00
Alexander Karatarakis
11c9a523f7 [SourceParagraph] Make function static 2016-11-03 18:52:44 -07:00
Alexander Karatarakis
95ef1b95e6 [BinaryParagraph] Refactor implementation 2016-11-03 17:36:47 -07:00
Alexander Karatarakis
90876a3bfe SourceParagraph checks fields at construction time 2016-11-03 17:32:00 -07:00
Alexander Karatarakis
5b60e13466 [SourceParagraph] Consistency rename 2016-11-03 14:37:10 -07:00
Alexander Karatarakis
4665b16ab3 Add checks for fields in CONTROL file. Resolves #228 2016-11-02 20:26:52 -07:00
Alexander Karatarakis
87a78a78dc [Strings] Add join() 2016-11-02 19:34:30 -07:00
Alexander Karatarakis
8a97f05d92 [Maps] Add function extract_keys() 2016-11-02 19:33:11 -07:00
Alexander Karatarakis
c12c3d90be src Formatting 2016-10-20 18:05:52 -07:00
sdcb
2b8bdeb044 Add hash file support. 2016-10-20 13:03:58 +08:00
Alexander Karatarakis
b15a23a268 Add coff_file_reader to extract info/from dll/lib files without dumpbin
Calling dumpbin was very slow in some cases (e.g. boost).
With coff_file_reader we directly examine the binary for the few bits we need.
2016-10-14 16:51:15 -07:00
Alexander Karatarakis
aa35c41aa6 Add MachineType enum 2016-10-14 16:49:44 -07:00
Alexander Karatarakis
6a45620ce2 Fix overload of Checks::exit_with_message 2016-10-14 13:28:44 -07:00
Alexander Karatarakis
1f055ef472 [Stopwatch] start()/stop() return const & 2016-10-10 23:57:43 -07:00
Alexander Karatarakis
38bf4de0fe Rename System::Stopwatch to System::Stopwatch2 2016-10-10 18:46:40 -07:00
Alexander Karatarakis
3ecc67784a Add Stopwatch class 2016-10-10 18:12:26 -07:00
Alexander Karatarakis
a00500bcc1 Add to_printf_arg(double) overload 2016-10-10 15:03:48 -07:00
Alexander Karatarakis
52b7630c86 Add triplet::build_type() 2016-10-05 17:44:02 -07:00
Alexander Karatarakis
0050125443 Rename function case_insensitive_find() to case_insensitive_ascii_find() 2016-10-04 15:23:44 -07:00
Alexander Karatarakis
429e2eca4a BinaryParagraph now contains a package_spec instead of name+triplet 2016-10-04 15:16:07 -07:00
Alexander Karatarakis
7d13495cf9 All-CAPS for enum members 2016-10-04 14:48:39 -07:00
Alexander Karatarakis
bf323e8cc6 [package_spec]User input gets lowercased; other input is checked 2016-10-04 14:47:42 -07:00
Alexander Karatarakis
04539816b5 Add another result when parsing package spec: has_invalid_characters 2016-10-04 14:46:40 -07:00
Alexander Karatarakis
ea751d6630 Add Strings::ascii_to_lowercase() 2016-10-04 14:44:19 -07:00
Alexander Karatarakis
5d58eb29cc [package_spec] Force using the factories that do sanity checks 2016-10-03 17:45:01 -07:00
Alexander Karatarakis
330b411cd2 [triplet] Force using the factory that does sanity checks 2016-10-03 17:20:52 -07:00
Alexander Karatarakis
e507c14229 create & edit commands now only handle package names 2016-09-30 18:21:38 -07:00
Alexander Karatarakis
188eac680b Rename check_all_triplets() to check_triplets() 2016-09-30 17:02:39 -07:00
Alexander Karatarakis
e3455e281b Introduce Input::check_all_triplets() 2016-09-30 16:55:34 -07:00
Alexander Karatarakis
4b0f3d87be Introduce Input::check_triplet() 2016-09-30 16:54:07 -07:00
Alexander Karatarakis
8becbe15a2 Place check_and_get_package_spec in a separate file 2016-09-30 16:49:30 -07:00
Alexander Karatarakis
bcb2be360a Remove parse_all_arguments_as_package_specs() 2016-09-30 16:39:23 -07:00
Alexander Karatarakis
df55e93b18 [vcpkg_paths] Use fs alias in all places within the header 2016-09-30 16:34:55 -07:00
Alexander Karatarakis
3f5275ed9f Add function check_and_get_package_spec() and variant for multiple specs 2016-09-30 16:29:12 -07:00
Alexander Karatarakis
fc1e55173b Rename check_max_args to check_max_arg_count and introduce min/exact variants 2016-09-30 11:29:01 -07:00
Alexander Karatarakis
0fdd57983a Introduce create_example_string() 2016-09-30 11:23:05 -07:00
Alexander Karatarakis
4faf11f206 Add size_t overload to to_printf_arg() 2016-09-30 11:21:51 -07:00
Alexander Karatarakis
8ed88af8c9 Rename wchar_t overload of Strings::format() to wformat() 2016-09-29 19:28:00 -07:00
Alexander Karatarakis
a4ab4fd241 Rename wchar_t overload of format_internal to wformat_internal 2016-09-29 19:25:07 -07:00
Alexander Karatarakis
8e3ee05230 Rename validate_triplet to is_valid_triplet 2016-09-29 15:02:56 -07:00
Alexander Karatarakis
fb1130876f Valiting triplets is now the responsibility of vcpkg_paths 2016-09-29 15:00:40 -07:00
Alexander Karatarakis
687ac42cdd Make member function const 2016-09-27 01:48:51 -07:00
Alexander Karatarakis
a098ecad03 vcpkglib_helpers: Return output instead of accepting it as arg 2016-09-26 21:12:04 -07:00
Alexander Karatarakis
1cd1f6a46b Add Files::has_invalid_chars_for_filesystem() 2016-09-23 17:57:18 -07:00
Alexander Karatarakis
6cc29c1f84 Change vcpkg::parse() to vcpkg::package_spec::from_string() 2016-09-23 16:39:07 -07:00
Alexander Karatarakis
cd30cd4df9 parse_all_arguments_as_package_specs: remove unused parameter 2016-09-23 16:26:27 -07:00
Robert Schumacher
76149ffac5 [vcpkg] Rename vcpkg_ports::find_available_x to be more concise 2016-09-23 14:32:56 -07:00
Robert Schumacher
f4196f1638 [vcpkg] Move find_available_package, find_available_port_file into vcpkg_paths.
`vcpkg_paths` is responsible for binding the concrete filesystem representation to the abstract `package_spec`.
2016-09-23 14:25:17 -07:00
Robert Schumacher
ddd0f88579 Merged alzie:default_triplet for PR #70 2016-09-23 12:19:57 -07:00
Alexander Karatarakis
b2f6a769ea find_unment_dependencies() now works for a single package 2016-09-23 12:06:55 -07:00
Albert Ziegenhagel
430f53af7d Merge branch 'master' into default_triplet
# Conflicts:
#	toolsrc/include/vcpkg_cmd_arguments.h
#	toolsrc/src/commands_installation.cpp
#	toolsrc/src/vcpkg_cmd_arguments.cpp
2016-09-23 09:58:33 +02:00
Albert Ziegenhagel
31935aa0fd Improved error reporting when user provides invalid triplets 2016-09-23 09:44:30 +02:00
Alexander Karatarakis
33a2969b9c Refactor dependency related code to vcpkg::Dependencies 2016-09-22 23:28:50 -07:00
Alexander Karatarakis
addecbfdef Introduce vcpkg_Maps utility namespace 2016-09-22 23:28:14 -07:00
Alexander Karatarakis
c699d5715b Introduce vcpkg::Sets utility namespace 2016-09-22 23:27:46 -07:00
Alexander Karatarakis
54341f745c MOve recursive upwards search to Files 2016-09-21 21:43:59 -07:00
Alexander Karatarakis
ccca198c1b Initial commit 2016-09-18 20:54:03 -07:00