summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-05-18locks: add configuration and command-line options to enable/disable locks ↵Todd Gamblin10-54/+311
(#7692) - spack.util.lock behaves the same as llnl.util.lock, but Lock._lock and Lock._unlock do nothing. - can be disabled with a control variable. - configuration options can enable/disable locking: - `locks` option in spack configuration controls whether Spack will use filesystem locks or not. - `-l` and `-L` command-line options can force-disable or force-enable locking. - Spack will check for group- and world-writability before disabling locks, and it will not allow a group- or world-writable instance to have locks disabled. - update documentation
2018-05-17make check_for_compiler_existence an instance variableTodd Gamblin3-18/+16
2018-05-17use os.path.join instead of join_path in coreTodd Gamblin34-156/+141
- Spack core has long used llnl.util.filesystem.join_path, but os.path.join is pretty much the same thing, and is more efficient. - Use os.path.join in the core Spack code from now on.
2018-05-17Convert lazy singleton functions to Singleton objectTodd Gamblin61-537/+498
- simplify the singleton pattern across the codebase - reduce lines of code needed for crufty initialization - reduce functions that need to mess with a global - Singletons whose semantics changed: - spack.store.store() -> spack.store - spack.repo.path() -> spack.repo.path - spack.config.config() -> spack.config.config - spack.caches.fetch_cache() -> spack.caches.fetch_cache - spack.caches.misc_cache() -> spack.caches.misc_cache
2018-05-17init: make spack.cmd.all_commands lazyTodd Gamblin5-11/+27
- `spack.cmd.all_commands` does a directory listing on `lib/spack/spack/cmd`, regardless of whether it is needed - make this lazy so that the directory listing won't happen unless it's necessary.
2018-05-17init: only imoprt jsonschema if neededTodd Gamblin1-9/+10
- It turns out that jsonschema is one of the more expensive imports. - move imports of jsonschema into functions to avoid the performance hits for calls that don't need config.
2018-05-17init: initialize spack.store lazilyTodd Gamblin31-176/+215
- spack.store was previously initialized at the spack.store module level, but this means the store has to be initialized on every spack call. - this moves the state in spack.store to a singleton so that the store is only initialized when needed.
2018-05-17init: move spack.repo global variable into its own moduleTodd Gamblin63-233/+257
- spack.repository module is now spack.repo - `spack.repo` is now `spack.repo.path()` and loaded lazily - Added `spack.repo.get()` and `spack.repo.all_package_names()` as convenience functions to simplify the new lazy interface. - updated tests and code
2018-05-17tests: rename builtin_mock to "mock_packages" for clarity.Todd Gamblin33-121/+117
- rename `builtin_mock` and `refresh_builtin_mock` to the more clear `mock_packages` and `mutable_mock_packages`
2018-05-17init: convert spack.debug global variable to config optionTodd Gamblin11-27/+25
2018-05-17init: remove package_testing globalTodd Gamblin9-75/+82
- refactor the way test dependencies are passed to the concretizer - remove global state - update tests
2018-05-17init: remove dependency on spack.versionTodd Gamblin3-16/+8
- no longer require `spack_version` to be a Version (it isn't used that way anyway) - use a simple tuple `spack_version_info` with major, minor, patch versions - generate `spack_version` from the tuple
2018-05-17init: remove binary_cache_retrieved_specs global variableTodd Gamblin2-26/+21
- remove variable from spack/__init__.py - clean up imports and some code structure in binary_distribution.py
2018-05-17init: remove spack.concretizer global variableTodd Gamblin5-82/+104
2018-05-17init: remove build_jobs global variableTodd Gamblin3-15/+4
2018-05-17init: convert spack.dirty global to config optionTodd Gamblin4-34/+12
2018-05-17init: remove template_dirs globalTodd Gamblin6-24/+5
- remove template_dirs global variable from __init__.py - also remove update_template_dirs fixture, which had no effect on test correctness
2018-05-17init: replace global spack.do_checksum with config optionTodd Gamblin13-71/+67
2018-05-17init: replace spack.insecure global with spack.config.getTodd Gamblin10-43/+116
2018-05-17config: simplify configuration API to just get and setTodd Gamblin29-169/+203
- replace `spack.config.get_configuration()` with `spack.config.config()` - replace `get_config`/`update_config` with `get`, `set` - add a path syntax that can be used to refer to specific config options without firt getting the entire configuration dict - update usages of `get_config` and `update_config` to use `get` and `set`
2018-05-17config: create internal config scope for commands to use.Todd Gamblin5-13/+87
2018-05-17init: Move file cache initialization out of __init__.pyTodd Gamblin9-42/+102
2018-05-17config: rework config system into a class instead of globalsTodd Gamblin13-470/+555
- Current configuration code forces the config system to be initialized at module scope, so configs are parsed on every Spack run, essentially before anything else. - We need more control over configuration init order, so move the config scopes into a class and reduce global state in config.py
2018-05-17init: move editor from spack/__init__.py to spack.util.editorTodd Gamblin3-22/+58
2018-05-17init: factor paths out of spack/__init__.py and into spack.paths moduleTodd Gamblin59-286/+357
2018-05-17init: simplify import ordering in __init__.pyTodd Gamblin8-87/+112
2018-05-15Move report writers to separate classesZack Galbreath5-190/+335
2018-05-15Add test case for CDash reportingZack Galbreath1-0/+42
2018-05-15upload reports to CDashZack Galbreath2-6/+35
2018-05-15Generate CDash reports for build/install stepZack Galbreath1-2/+33
2018-05-15CDash report for concretization errorsZack Galbreath2-1/+24
Capture any concretization errors and record them in a CTest Update.xml file.
2018-05-15CDash report for configure stepZack Galbreath2-8/+112
Generate CTest XML file containing configure output
2018-05-15Capture source line number in CTest log parserZack Galbreath1-1/+1
2018-05-15Fix typo in commentZack Galbreath1-1/+1
2018-05-15Add CDash as a valid reporting formatZack Galbreath1-1/+2
2018-05-15Initialize report generator before parsing specsZack Galbreath2-7/+10
This will allow us to generate reports for concretization errors
2018-05-15Allow --overwrite and --log-format to be used togetherZack Galbreath1-36/+35
Restructure the logic of the spack install command to allow these two command-line arguments to be used at the same time.
2018-05-15Format-agnostic data structure for reportsZack Galbreath1-43/+45
Replace the JUnit-specific terms 'testsuite' and 'testcase' with 'spec' and 'package', respectively.
2018-05-08Packages can tune the list of files to be archived at the end of install (#7760)Massimiliano Culpo4-0/+81
Fixes #2781 This PR introduces a new attribute for packages called `archive_files`, which designates files that should be saved from a package build (e.g. the config.log generated during autotools builds). The attribute contains a list of glob expressions; Any file that matches will be archived in the `<prefix>/.spack/archived-files` directory. Errors that occur when archiving files are collected and reported in a file named `<prefix>/.spack/archived-files/errors.txt`. `AutotoolsPackage` and `CMakePackage` provide a sensible default override for this attribute.
2018-05-07Specs add a space before dependencies (#7942)Massimiliano Culpo3-26/+45
fixes #7941 Modified string representation of Specs to add a space before deps Unit-tests have been modified accordingly Added a test for regression on #7941
2018-05-06Support *.TAR.gz extension. (#7973)健美猫1-1/+1
2018-05-05Fix coloring of URLs containing @ symbol (#7799)Adam J. Stewart1-3/+3
* Fix coloring of URLs containing @ symbol * Fix coloring of descriptions containing @ symbol
2018-05-05Set default provider for every virtual package (#7784)Adam J. Stewart1-0/+10
* Set default provider for every virtual package * Add unit test to ensure that every virtual package has a default provider explicitly set
2018-05-01Fix initialization of defaults in yaml schema validation (#7959)scheibelp2-2/+47
Fixes #7924 Spack's yaml schema validator was initializing all instances of unspecified properties with the same object, so that updating the property for one entry was updating it for others (e.g. updating versions for one package would update it for other packages). This updates the schema validator to instantiate defaults with separate object instances and adds a test to confirm this behavior (and also confirms #7924 without this change).
2018-04-28Document how to run unit tests with print statements (#7860)Adam J. Stewart1-0/+7
2018-04-26Allow len(Version) to return number of split components. (#7918)Chris Green2-0/+11
2018-04-26XL Fortran compiler >= 16.0 is synced with C compiler version (#7887)serbanmaerean2-0/+12
* Use reported version of IBM XL Fortran compiler for compiler versions >= 16.0. Starting with the April 2018 release, the IBM XL C and Fortran compilers report the same version, 16.0. Consequently, there is no need to downgrade the Fortran compiler version to match that of the C compiler.
2018-04-26Use GitLab's API endpoint for fetching a git snapshot. (#7881)Sergey Kosukhin2-4/+25
* Use GitLab's API endpoint for fetching a git snapshot. * More GitLab packages use the API. * find_list_url for GitLab's API URLs. * Flake8 * Url for 'hacckernels'. * Check GitLab API regexps before the non-API ones.
2018-04-26config_args does NOT apply to CMakePackage. (#7917)健美猫1-1/+1
2018-04-18Add -d option to diy to specify source path move -j to common args (#5963)Matthew Scott Krafczyk3-4/+20