Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update stack-resolvers | Daniel Gröber | 2019-12-28 | 1 | -1/+1 |
| | |||||
* | Update stack-resolvers | Daniel Gröber | 2019-12-27 | 1 | -1/+1 |
| | |||||
* | Add support for symlink farming as a workaround for Stack | Daniel Gröber | 2019-09-29 | 1 | -0/+76 |
| | | | | | | | | We want to be able to have the build tool use exactly the compiler and related executables we choose. Stack doesn't really like that mode of operation and insists on getting everything from PATH itself so this commit adds support for creating a temporary symlink farm to convince Stack to use the executables we want it to use. | ||||
* | ghc-session: Remove "stack not installed by CI scripts" error | Daniel Gröber | 2019-09-29 | 1 | -7/+1 |
| | | | | | We include the correct stack version in the CI images now and since the relevant stack version is now released it is easy to install for devs. | ||||
* | ghc-session: Fix verbosity functions | Daniel Gröber | 2019-09-17 | 1 | -2/+2 |
| | |||||
* | Implement cabal v2 backpack unit workaround | Daniel Gröber | 2019-09-17 | 1 | -3/+2 |
| | | | | See https://github.com/haskell/cabal/issues/6201 for details about the bug | ||||
* | ci: Update version lists | Daniel Gröber | 2019-09-17 | 2 | -1/+3 |
| | |||||
* | Make caching more fine grained | Daniel Gröber | 2019-09-17 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | Previously we only had a cache for the project info and each unit info. However adding support for passing overridden compiler paths to build tools introduces a nasty data dependency: to fully configure 'Program's we (used to) need ProjInfo which needs an already configured 'Programs' in readProjInfo (ugh). After at least four failed attempts at untangling this I arrived at this solution. Simply splitting up the caches into some smaller parts does the trick and as a side product forced me to add an abstraction for the caching logic so as to not reapeat myself even more. Relatedly runQuery is not just a field accessor anymore but actualy does some IO of itself to manage the cache and make already configured 'Program's available to the rest of the library. | ||||
* | ghc-session: Use new project building API | Daniel Gröber | 2019-09-17 | 1 | -19/+4 |
| | | | | | | | | | | | | | | One caveat: psiConfigure used to --only-configure the entire project. In theory we shouldn't even need to do that anymore because we reconfigure just the unit/target we need to before reading unit info. However cabal has a bug or well they might consider it just inconsistent behaviour in that instantiated backpack units' targets are not built by the target mentioned in plan.json so this per-unit reconfigure is currently broken there. The workaround is to just build the entire project before running a query for now. | ||||
* | Add exported interface for running build-tools | Daniel Gröber | 2019-09-17 | 1 | -1/+1 |
| | |||||
* | Introduce Package abstracton | Daniel Gröber | 2019-09-17 | 1 | -2/+2 |
| | | | | | After lamenting the fact that we don't have this in the docs I figured it really ought to be an exposed abstraction. | ||||
* | Make ChSetupEntrypoint carry the Main module file name | Daniel Gröber | 2019-09-17 | 1 | -4/+2 |
| | |||||
* | Remove crusty old helper code | Daniel Gröber | 2019-09-17 | 1 | -13/+13 |
| | | | | | | | | | | | | - Inplace component inlining really always was a nasty cludge, now that we have proper build-system support we can get rid of it. - GHC options subsets aren't really needed, we can split these up after parsing the options using the ghc library. - Dropped GHC 7.10, it seems unsupportable without the inplace component inlining, possibly a Stack/lib:Cabal bug, but it is quite old so time for it to go anyway. This is the second thing commit it was holing up too! | ||||
* | Fix ProjLoc to source directory correspondence | Daniel Gröber | 2019-09-17 | 1 | -1/+1 |
| | | | | | We cannot always assume `takeDirectory cfg_file` will be the project source directory! | ||||
* | Refactor ProjType to be more inductive | Daniel Gröber | 2019-09-17 | 1 | -9/+9 |
| | | | | This allows discriminating Stack vs. Cabal at the type level more easily. | ||||
* | Allow passing override-env to process functions | Daniel Gröber | 2019-09-17 | 1 | -2/+2 |
| | | | | | Unfortunately we need this to pass a custom GHC executable path to stack, since it doesn't have an option to override it on the commandline (yet?). | ||||
* | Merge CompPrograms back into Programs | Daniel Gröber | 2019-09-17 | 2 | -13/+9 |
| | | | | | We need to support passing down the path to ghc to new-build/stack in order to support using a non-default 'ghc' executable. | ||||
* | ghc-session: Print test-spec in test-results | Daniel Gröber | 2019-09-17 | 1 | -10/+22 |
| | |||||
* | ghc-session: Output test specs of tests being run | Daniel Gröber | 2019-09-17 | 1 | -2/+18 |
| | | | | | The strings under the "Going to Run These Tests" heading can be plugged right back into the commandline to run just that test. | ||||
* | ghc-session: Add GHC version match check | Daniel Gröber | 2019-09-17 | 1 | -1/+6 |
| | |||||
* | Split SProjType along build-tool line | Daniel Gröber | 2019-09-17 | 2 | -5/+5 |
| | | | | | | | This makes it much easier to deal with differences between the build tools as we can now have functions that only make sense for Cabal and statically enforce this by passing a 'SCabalProjType pt' as evidence that $pt \in {V1, V2}$. | ||||
* | Support cabal-file not being in pkgdir with cabal-v1 | Daniel Gröber | 2019-09-17 | 1 | -1/+1 |
| | |||||
* | ghc-session: Allow overriding programs on commandline | Daniel Gröber | 2019-09-17 | 1 | -57/+104 |
| | |||||
* | compile-test: Read cabal versions from file | Daniel Gröber | 2019-06-19 | 2 | -49/+72 |
| | | | | | This allows them to be checked for up-to-date'nes in CI like the stack-resolvers. | ||||
* | ghc-session: Improve test output consistency | Daniel Gröber | 2019-06-19 | 1 | -29/+61 |
| | |||||
* | ghc-session: Simplify Cabal version checking | Daniel Gröber | 2019-06-19 | 1 | -12/+12 |
| | |||||
* | ci: Move stack resolver table to a file | Daniel Gröber | 2019-06-19 | 2 | -12/+19 |
| | |||||
* | Add ProjLocV1Dir for easier forward porting | Daniel Gröber | 2019-04-01 | 1 | -1/+1 |
| | |||||
* | Promote 'Ex' to exported API | Daniel Gröber | 2019-03-31 | 1 | -2/+0 |
| | | | | We will need it for the project discovery module later. | ||||
* | Add accessor for ChModuleName newtype | Daniel Gröber | 2019-03-29 | 1 | -3/+0 |
| | |||||
* | Some helper compilation test coverage comments | Daniel Gröber | 2019-02-11 | 2 | -1/+11 |
| | | | | [ci skip] | ||||
* | ghc-session: Get correct builtin Cabal version per proj-type | Daniel Gröber | 2019-02-11 | 1 | -48/+89 |
| | |||||
* | Add log-level to verbosity conditional | Daniel Gröber | 2019-01-30 | 2 | -3/+3 |
| | |||||
* | ghc-session: Run V2 tests first to get faster build times | Daniel Gröber | 2019-01-26 | 1 | -3/+3 |
| | | | | | | We cache the produced helper exe without regard to which proj-type produced it, so this way we avoid building the helper exe (and it's dependencies) with cabal v1-build which doesn't cache across CI builds. | ||||
* | Update stack_resolver_table | Daniel Gröber | 2019-01-26 | 1 | -8/+11 |
| | |||||
* | compile-test: Update Cabal versions and bounds to reflect reality | Daniel Gröber | 2019-01-26 | 1 | -6/+5 |
| | |||||
* | Add support and test coverage for mulit-pkg projects | Daniel Gröber | 2019-01-26 | 29 | -128/+503 |
| | |||||
* | Add example to show off cabal-helper's functionality | Daniel Gröber | 2019-01-22 | 1 | -0/+65 |
| | |||||
* | Comments | Daniel Gröber | 2019-01-22 | 1 | -1/+0 |
| | | | | [ci skip] | ||||
* | compile-test: Don't `cabal update` before tests | Daniel Gröber | 2019-01-22 | 1 | -2/+0 |
| | | | | The CI script does that anyways | ||||
* | compile-test: Only override HOME when it doesn't exist | Daniel Gröber | 2019-01-22 | 1 | -1/+10 |
| | |||||
* | Refactor Compile (for v2-install) | Daniel Gröber | 2019-01-22 | 1 | -44/+44 |
| | |||||
* | compilation-test: Let Cabal constraint fall through to latest GHC ver | Daniel Gröber | 2019-01-22 | 1 | -2/+2 |
| | |||||
* | Sync with Cabal HEAD | Daniel Gröber | 2019-01-22 | 1 | -10/+4 |
| | |||||
* | Add descriptions to the tests | Daniel Gröber | 2019-01-22 | 2 | -0/+10 |
| | |||||
* | ghc-session: Refactor in preparation for Stack tests | Daniel Gröber | 2019-01-22 | 1 | -43/+54 |
| | |||||
* | Allow v2-build projects to not have a cabal.project file | Daniel Gröber | 2019-01-22 | 1 | -4/+0 |
| | |||||
* | Run tests against both old and new build configurations | Alan Zimmerman | 2019-01-22 | 1 | -16/+83 |
| | |||||
* | Split up Compile.hs into multiple modules | Daniel Gröber | 2018-10-27 | 1 | -1/+4 |
| | |||||
* | Add some comments | Daniel Gröber | 2018-10-27 | 1 | -2/+3 |
| |