This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- Jan 25, 2022
-
-
Mel Zuser authored
* Pass such scripts with: -x hs script * Disable extension check for scripts * Disable running preprocessors for scripts because they're based on extension * Add test case for script with no extension Resolves #7910
-
- Dec 31, 2021
-
-
Mel Zuser authored
* Add support for script build caching to cabal run Enable caching of script builds by changing the location of the fake package directory from a tmp directory to: <cabal_dir>/scipt-builds/abs/path/to/script/ Resolves: #6354 WIP: #7842 * Add support for scripts to cabal build. Added module Distribution.Client.ScriptUtils for code to deal with scripts that is common between commands. WIP: #7842 * Add script support to cabal clean. This changes the behaviour of cabal clean to accept extra args, which it now interprets as script files. The behaviour of cabal clean is the same when given extra args. When given extra args it instead removes the caches for those scripts and also any orphaned caches (caches for which the script no longer exists) In addition this commit changes the cache to use hashes of paths because this significantly simplifies the implementation of clean, and more importantly it prevents collisions when a script has the name of the subdirectory of a previously cached script. WIP: #7842 * Add script support to cabal repl repl starts in the correct directory and points directly to rather than a dummy, so that reloading works properly. There is a downside to the current approach which is that it uses a different fake-project.cabal file from run and build, so it cannot share the same cache with them. WIP: #7842 WIP: #6149 * Added changelog for pr #7851 * Fix `cabal run script.hs` issue with --builddir Fixes tests: cabal-testsuite/PackageTests/NewBuild/CmdRun/Script/cabal.test.hs cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptLiterate/cabal.test.hs * Fixes for `build script` and `repl script` - Fix build issue introduced in 079c5f0e, where build was being passed the wrong target filter - Fix repl issue where script didn't work in a project context. - Refactor code to share logic between repl and build/run - Ensure temp directories are only created when needed * Bug fixes relating to script support ScriptUtils: - Hash prefix for cache dirs was applied incorrectly. - Overwriting fake-package files causes repeated work in some cases. CmdClean: - Clean distdir for script when --builddir is passed - Always clean orphans because because there is no good way to specify they should be cleaned. This may be bad behaviour in some obscure cases (a cache is temporarily orphaned and an unrelated clean is run), but at worst results in a cache rebuild. * Add tests for improved script support - Basic script support for build/repl/clean which checks for cached project files - Add check for cached project files to basic run script test - No repeated work for build/build, build/run, run/run, and repl/repl - Clean does not remove cache for existing scripts - Clean does remove orphaned script caches * Fix clean bug uncovered by 5fad1214 - clean was trying to read source-builds even if it didn't exist - add test specific to this case with other clean tests * Update documentation for better script support Ready for review: #7851 May close: #7842, #6354, #6149 * Attempt to fix `repl script` on Windows PR #7851 * Attempt to fix remote test failures Test logs showed that the failures where because the tests depended on a module from cabal-install that some ghc versions could not find. Instead of depending on cabal-install, I copied the needed function into Test.Cabal.Prelude (It seemed like an acceptable place for it) PR #7851 * Attempt to fix `repl script` on Windows PR #7851 * Attempt to fix tests on old ghc versions Tests failing on pre-AMP ghcs due to unsanctioned use of (<$>) PR #7851 * Feedback: Update docs and formatting PR #7851 * Feedback: code style changes - remove partial selectors - make a constant for fake-package.cabal PR #7851 * Feedback: make hidden control flow explicit PR #7851 * Feedback: add expected fail script run tests PR #7851 * Fix `repl script` when cwd is deeper than cachedir PR #7851 * Use script in-place for build or run - Set the hs-source-dir to the location of the script for build and run, the same as with repl - This removes the need to copy the script - repl no longer needs a separate cache because all three commands use identical project files - Adds multi-module support to scripts for free (#6787) - Add new build/repl test and run multi-module test PR #7851 * Fix file-locking issue on Windows PR #7851 * Fix script recompilation based on cwd - Pass info about cwd to repl through --repl-options instead of hacking it into the project file. - Improve paths output by makeRelativeCanonical, makeRelativeToDir, and makeRelativeToCwd. - Script multi-module support works, but with warning in repl. - Remove script multi-module mention support in docs. PR #7851 * Make `repl script` respect --repl-no-load * Feedback: minor refactor Move argument truncation from targetStrings out of withScriptContextAndSelectors to runAction PR #7851 * Feedback: refactor and comments for repl options PR #7851 * Don't use hs-source-dirs for scripts. - instead pass absolute path to script in main-is - resolves issue with relative paths on Windows - simplifies code and gives prettier build output - update tests because build output has changed - removes ability to use multi-module scripts (which was never officially endorsed) - remove test for multi-module scripts - add checks for unsupported fields in scripts PR #7851 * Update changelog for PR #7851
-
- Oct 05, 2021
-
-
andreas.abel authored
- Place "Error:" inside wrappers At least for the sake of the testsuite, the "Error:" prefix must be inside the bracket BEGIN...END that is added to the Cabal output during testing. - Heuristic to not put "Error:" when already present This is because backpack outputs errors in an aligned way (Doc) where "Error:" is the introducing line. Removing this breaks the layout. - Remove manual "Error:" prefix where `die` adds it automatically. - Update golden values.
-
- Sep 13, 2020
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
I introduced TestCode which allows to report more status information than bare ExitCode.
-
- Oct 11, 2019
-
-
Ryan Scott authored
-
Ryan Scott authored
This implements lots of plumbing to allow the `--benchmark-option(s)` flags to be used with `v2-bench`, analgous to `v2-test`'s `--test-option(s)` flag. Fixes #6209.
-
- Jul 05, 2019
-
-
Oleg Grenrus authored
-
Oleg Grenrus authored
-
- Jan 03, 2019
-
-
Herbert Valerio Riedel authored
-
- Jan 02, 2019
-
-
Alexis Williams authored
-
Alexis Williams authored
-
- Jan 01, 2019
-
-
Alexis Williams authored
-
- Dec 17, 2018
-
-
Alexis Williams authored
-
Alexis Williams authored
-
- Nov 23, 2018
-
-
Mikhail Glushenkov authored
Fixes #5587.
-
Mikhail Glushenkov authored
-
- Nov 03, 2018
-
-
Daniel Gröber (dxld) authored
-
- Jun 12, 2018
-
-
Alexis Williams authored
-
- Jun 08, 2018
-
-
This commit handles the most common case of issue #5325 by checking that each component that is required as a dependency is buildable in the current environment, where environment refers to the compiler, os, arch, and global flag constraints. The solver records whether each component is buildable in the package's PInfo during index conversion. Then it checks that each required component is buildable in the validation phase, similar to the check for missing components. The buildable check can give false-positives, because it only considers flags that are set by unqualified flag constraints, and it doesn't check whether the intra-package dependencies of a component are buildable. The check is also incomplete because it is performed before any automatic flags are assigned. It is possible for the solver to later choose a value for a flag that makes the package unbuildable.
-
- May 24, 2018
- May 09, 2018
-
-
I disabled one test that still fails on Windows: PackageTests/NewBuild/CustomSetup/RemotePackageWithCustomSetup/build-package-from-repo-with-custom-setup.test.hs
-
This commit uses a temporary directory for the nix store in several of the new-build tests in cabal-testsuite. The directory is given a very short path on Windows in order to avoid issues with long store paths.
-
- Apr 29, 2018
-
-
quasicomputational authored
This test was leaving a 'Main' executable behind. Since we don't ever actually run it, just check that the compilation succeeds, we can drop it anywhere and avoid that.
-
- Mar 14, 2018
-
-
Ryan Scott authored
-
- Mar 13, 2018
-
-
Ryan Scott authored
-
Ryan Scott authored
-
- Feb 26, 2018
-
-
kristenk authored
-
- Jan 24, 2018
-
-
Oleg Grenrus authored
-
- Jan 23, 2018
-
-
Oleg Grenrus authored
A little refactoring in handling UTF8, it's validated as a preprocess step, so consequent steps can simply use lenient streams.
-
- Jan 09, 2018
-
-
Francesco Gazzetta authored
Report possible tests and benchmarks too when erroring because of multiple available targets.
-
- Jan 03, 2018
-
-
Edward Z. Yang authored
Before: In order, the following would be built (use -v for more details): - Cabal-2.1.0.0 (lib) --enable-library-profiling (first run) After: In order, the following would be built (use -v for more details): - Cabal-2.1.0.0 (lib) (first run) Signed-off-by:
Edward Z. Yang <ezyang@fb.com>
-
- Nov 21, 2017
-
-
Duncan Coutts authored
Trivial change, but actually a wording improvement.
-
- Oct 14, 2017
-
-
There is nothing except for syntax support, but this is a first step towards proper support for targets refering to dependencies or to out of project packages. For the moment, when used, it will report: cabal: Cannot build the package foobar, it is not in this project (either directly or indirectly). If you want to add it to the project then edit the cabal.project file. Also update the test output for an integration test.
-
- Aug 24, 2017
-
-
Francesco Gazzetta authored
-
- Aug 23, 2017
-
-
Francesco Gazzetta authored
-
- Aug 06, 2017
-
-
Francesco Gazzetta authored
-
Francesco Gazzetta authored
-
- Jul 24, 2017
-
-
Francesco Gazzetta authored
-
- Jul 21, 2017
-
-
Amir Mohammad Saied authored
-