aboutsummaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* no hashes on bintray for this and mavenCentral depsChristopher Vogt2017-03-081-16/+11
|
* do not print () when evalingChristopher Vogt2017-03-041-1/+1
|
* jar / doc refactorChristopher Vogt2017-02-281-1/+1
| | | | | | - split out manifest and scaladoc logic - refactor lib calls from inheritance layer - only strip project directory prefix from individually specified files
* fix results of Seq of builds not being printedChristopher Vogt2017-02-271-1/+1
|
* turn `test` into a subproject for easy access to test’s tasksChristopher Vogt2017-02-272-1/+2
|
* cross build testChristopher Vogt2017-02-221-0/+5
|
* refactor scalajs to make use of nested builds for scopingChristopher Vogt2017-02-221-2/+2
|
* simplify and add features to reflective task lookup codeChristopher Vogt2017-02-181-5/+5
| | | | | | | | | | | | | Code is much simpler now. Now cbt sub-tasks are separated by . instead of spaces to unify the syntax with method calls Scala. Also the reflective code now works not only on builds but any kind of values, so zero argument members of any types of return values can simply be called. This is also a large step towards detangling the reflective lookup from cbt and turning it into a fully fletched shell to Scala "native" call solution.
* add package to generated Build in build.scala and in-package discoveryChristopher Vogt2017-02-157-6/+16
| | | | | | | | | | | This should allow for build to add other builds to their dependencies and interact with them in a type-safe way. And ever regardless it seems like good practice to never have the same class existing in the same package or the top-level package even if they don’t end up on the same classpath. This might also help make stack traces easier to understand. Also improve error messages for mistakes with the build class, e.g. constructor, super classes, etc.
* add package to generated Main.scala to avoid classpath weirdnessesChristopher Vogt2017-02-151-0/+2
| | | | | caused by multiple root package Main classes from different subproject or test projects ending up on the same classpath
* add typed constants for build directory and file and use them everywhereChristopher Vogt2017-02-151-3/+3
|
* implicitly pass classloader, might make code easierChristopher Vogt2017-02-141-0/+1
| | | | | and prepares for allowing `run` and `runFlat` at Dependency instead of Build level
* multi-project build example using a single build fileChristopher Vogt2017-02-131-0/+1
|
* rename folder of one example as preparation for creating another oneChristopher Vogt2017-02-131-1/+1
| | | | showing how to do the same in a single build
* support for flat classloader and enhanced resources exampleChristopher Vogt2017-02-131-0/+12
|
* upgrade test project cbt versions parts 2 of 2Christopher Vogt2017-02-094-4/+4
|
* upgrade test project cbt versionsChristopher Vogt2017-02-094-4/+4
| | | | | | because this cbt version has become incompatible with the ones references there and would lead to Context related errors part 1 of 2
* idempotent change propagationChristopher Vogt2017-02-091-2/+2
| | | | | | using lastModified instead of a non-idempotent needsUpdate flag this fixes a bug where dependees would not be rebuilt if cbt exited or was killed after dependencies were already rebuilt.
* memoize task results across classes within a single runChristopher Vogt2017-02-091-2/+3
|
* replace flawed concurrent hashmap cache with consistent replacementChristopher Vogt2017-02-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | The concurrent hashmap approach to classloader caching was flawed. Assume you have two concurrently running builds A and B and projects P2 and P3 depending on project P1. And assume a time sequence where A compiles P1, then compiles P2, then P1’s sources change, then B compiles P1, then A compiles P3. At the end P2 and P3 will have different versions of P1 as their parent classloaders. This is inconsistent. The easiest way to work around this is making sure only one thread is changing the classloader cache during it’s entire run. This would mean either no concurrency or what we have done here, which is letting threads work on a copy of the cache and replace the original cache in the end using an atomic operation. This means the thread that finishes last wins, but for caching that’s fine. Worst case some things aren’t cached in a concurrent execution. This change also means that we don’t need concurrent hashmaps for the classloader cache anymore since no two theads will access the same hashmap. We still need a concurrent hashmap for the class caches inside of the classloaders as multiple threads can access the same classloaders.
* Merge separate hashmaps for persistent cache into oneChristopher Vogt2017-02-011-2/+1
| | | | | | | This isn’t type-safe, but re-using that same hashmap for both keys and classloaders allows to reduce the number of members in Context. Also we can re-use the same hashMap for other things as well in the coming commits, e.g. timestamps.
* fix wrong assumption: stderr contains compiler info outputChristopher Vogt2016-11-091-20/+10
| | | | also improve failure output
* Upgrade references cbt versions after binary incompatible Context changeChristopher Vogt2016-11-094-4/+4
| | | | part 2
* Upgrade references cbt versions after binary incompatible Context changeChristopher Vogt2016-11-094-4/+4
|
* Remove version from context, we can now use dynamic overridesChristopher Vogt2016-11-093-3/+2
|
* Add support for dynamic re-configuration.Christopher Vogt2016-11-081-2/+73
| | | | | The exact precedence rule of override code vs original code may still need to be tweaked as we go along.
* upgrade hard-coded git hash dependencies after tests passChristopher Vogt2016-11-084-4/+4
|
* upgrade hard-coded git hash dependenciesChristopher Vogt2016-11-084-4/+4
|
* add context based task result cacheChristopher Vogt2016-11-081-0/+1
|
* Fix bug in tests that could block infinitelyChristopher Vogt2016-11-071-10/+15
|
* Make Eval tests pass and add them to cbt testsChristopher Vogt2016-11-071-0/+6
|
* add tests for cross-cbt-version exit code and err/out directingChristopher Vogt2016-10-144-6/+36
| | | | also adds example for propagating build-time information into run time
* tests for stderr and out behaving correctly for example of docJarChristopher Vogt2016-10-131-0/+8
|
* change git dependencies to be easier manageable when cbt becomes source ↵Christopher Vogt2016-10-034-7/+6
| | | | incompatible
* add sample library to test git dependenciesChristopher Vogt2016-10-032-0/+25
|
* clean up main class discovery mechanism and offer interactive choiceChristopher Vogt2016-10-021-1/+2
| | | | if multiple main classes are found
* another test fix for an artifact that apparently disappeared on sonatypeChristopher Vogt2016-09-281-3/+3
|
* disable test sporadically failing on circleci from circleciChristopher Vogt2016-09-283-8/+11
|
* set circle back to java7 to make sure cbt works thereChristopher Vogt2016-09-281-3/+7
| | | | and disable dotty tests for java7, but run them otherwise, e.g. locally
* prototype dotty doc generation, but that class does not existChristopher Vogt2016-09-281-0/+1
|
* Dotty plugin and example project.Christopher Vogt2016-09-261-0/+2
|
* fix checksum check for downloaded jars by ignoring caseChristopher Vogt2016-09-151-0/+4
|
* make tests check for wart-remover example expected compile failure (not success)Christopher Vogt2016-09-141-1/+7
|
* WartRemover plugin implementation (#167)Mario Pastorelli2016-09-141-0/+2
|
* fix task name appearing in args (#132)Christopher Vogt2016-09-132-0/+8
|
* better error message for missing build.scala and missing class BuildChristopher Vogt2016-09-125-0/+22
|
* work correctly in the presence of empty build foldersChristopher Vogt2016-09-122-0/+5
|
* test for good error message when Build did not extend BaseBuildChristopher Vogt2016-09-122-0/+7
|
* fix tests when nailgun started from different cwdChristopher Vogt2016-09-121-3/+3
|
* Add a bunch of options to try to allow safe usage of cleanChristopher Vogt2016-08-281-4/+17
| | | | | | | try to make tests safer (fixed tests don't have clean yet, nothing has nothing to delete, so current test code would fail)