Commit Graph

448 Commits

Author SHA1 Message Date
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