aboutsummaryrefslogtreecommitdiff
path: root/stage1
Commit message (Collapse)AuthorAgeFilesLines
* add important commentChristopher Vogt2016-04-281-2/+4
|
* Allow substituting POM variables inside of strings, not only entire elementsChristopher Vogt2016-04-081-7/+11
|
* cross building and automatic snaphot idsChristopher Vogt2016-04-071-1/+10
| | | | | Adds support for cross building for multiple scala versions And for automatically appending -SNAPSHOT to the id, when publishing a snapshot.
* Fix stage2 classloader not being stored in transient cacheChristopher Vogt2016-04-072-2/+14
| | | | | and thus being re-created on second and subsequent runs. Also use classloader from cache for Builds rather than new one, which should properly make Build dependencies work.
* Temporarily cache classloaders for potentially changing filesChristopher Vogt2016-04-062-24/+26
| | | | to avoid creating classloaders for the same files more than once, which leads to conflicts.
* Pass ClassLoaderCache from stage1 to stage2 instead of wrongly creating ↵Christopher Vogt2016-04-061-2/+4
| | | | another one. This should improve behavior of transient cache.
* caching return values parameterized methods seems just wrongChristopher Vogt2016-04-061-14/+3
|
* Correctly interact with build in cwd instead of loading it's managed build ↵Christopher Vogt2016-04-061-1/+1
| | | | in case of a BuildBuild.
* fix time shown by logger broken in f7b84e735e150578324caa0c4289404a033cd9b2Christopher Vogt2016-04-061-1/+1
|
* Finally get rid of JDK 8 dependenciesChristopher Vogt2016-04-043-14/+11
|
* Implement alternative resolversChristopher Vogt2016-04-034-103/+158
| | | | | | | | | | | | This commit also - requires Dependencies to explicitly implement canBeCached - unifies some logic for dependency downloading - moves SBT-like dependency DSL into its own trait - error message showing build directory for exceptions in builds Not splitting this up in favor of faster progress to 1.0. The user facing API can probably be slightly improved using implicits inside of BasicBuild, but we can do that later.
* propagate info if cbt has changed across builds, so they can be re-compiledChristopher Vogt2016-04-022-6/+6
|
* better error messages in case of messed up groupIds, artifactIds or versionsChristopher Vogt2016-04-021-6/+17
|
* only compile and only produce jars if there are actually files.Christopher Vogt2016-04-021-51/+53
| | | | This seem desirable, but also fixes a test failure for which I have no idea why it didn't fail before but now.
* Properly cache classloader for stage2 and make CbtDependency work correctly.Christopher Vogt2016-04-022-23/+18
| | | | This fixes the issues with crashes loading stage2 introduces in 57de43907e05d4cd3986e2994e0e3bff93e09b4e. Also should be faster when using nailgun.
* Classloaders aren't referentially transparent, so we should not compare them ↵Christopher Vogt2016-04-024-4/+5
| | | | structurally. (didn't cause any problem right now, but could some day)
* Improve cbt's maven resolver to handle variable substitutions for pom xml ↵Christopher Vogt2016-04-021-15/+41
| | | | tag contents
* Makes zinc usage smarter, so we do not need to call it when no files changed ↵Christopher Vogt2016-03-304-34/+46
| | | | | | (and safe up to 0.1s for each call) There still seem to be 2 bugs related to CBT development in the code. One if you simpy save a stage1 file unchanged and re-run cbt, it fails to call Stage2.run reflectively. Also in case of compile errors in stage1, a TrappedExitCode exception is thrown and not caught.
* Typed passing of values from Stage1 to Stage2Christopher Vogt2016-03-301-26/+51
| | | | (thing can still be cleaned up)
* KeyLockedLazyCache was locking on the wrong object. Also added update methodChristopher Vogt2016-03-301-1/+8
|
* replace Scala reflection with Java reflection seems to fix the weird ↵Christopher Vogt2016-03-282-17/+0
| | | | exceptions that happened in the previous commit. Also gets rid of scala.reflect dependency in stage2.
* Early classloading improvementsChristopher Vogt2016-03-284-58/+48
| | | | | | | | | - Changed launcher to already load zinc - use code generation to generate necessary dependencies - changed resolver to linearize dependency DAG in a way that guarantees that every transitive dependee of a node in the DAG is a transitive dependee of that node in the linear sequence - move exit code trapping code into java so it can be used for zinc early There seems to be a bug in this version, where CBT crashes about half of the time with a "object is not an instance of declaring class" Exception during running the task from the build object via reflection.
* merged most bootstrapping logic into launcherChristopher Vogt2016-03-202-2/+2
|
* better toString for Java URLClassLoader. Minor enhancementsChristopher Vogt2016-03-204-4/+5
|
* better handle classloaders for watchservice and reflect. even more speedup.Christopher Vogt2016-03-201-5/+26
|
* get rid of ammonite dependencyChristopher Vogt2016-03-191-3/+0
|
* More speedup by already caching some classloaders in NailgunLauncher. Also ↵Christopher Vogt2016-03-191-7/+0
| | | | fix a few warnings.
* replace two level classloader with hierarchyChristopher Vogt2016-03-195-54/+88
| | | | | | replace two level classloader (one for non-cachable dependencies with a cached parent one for cachable ones) with a hierachy of classloaders corresponding this should eventually allow re-using CBT's classloader between stage1 and stage2 this change breaks the ScalaTest support for now
* add a time keeping facility for debuggingChristopher Vogt2016-03-191-0/+23
|
* avoid repeated filesystem lookups for maven dependenciesChristopher Vogt2016-03-191-1/+2
|
* Add CachingClassLoader to cache loadClass of URLClassLoaderChristopher Vogt2016-03-192-9/+40
|
* move KeyLockedLazyCache to its own fileChristopher Vogt2016-03-192-44/+47
|
* minor refactorings of KeyLockedLazyCacheChristopher Vogt2016-03-191-18/+17
|
* maybe we were caching too muchChristopher Vogt2016-03-191-1/+1
|
* minor enhancements to classloadingChristopher Vogt2016-03-195-19/+37
|
* Refactored ClassLoaderCache to use key locked cache to pave the way for ↵Christopher Vogt2016-03-196-57/+66
| | | | caching classloaders hierarchically without deadlocks
* classloader for maven dependency can now cache it's own jar as wellChristopher Vogt2016-03-191-3/+5
|
* move decision about admin tasks or not from bash into ScalaChristopher Vogt2016-03-191-10/+2
|
* Make trapExitCode pass on previous exit codesChristopher Vogt2016-03-191-4/+4
|
* Separate CheckAliveChristopher Vogt2016-03-192-6/+7
|
* Add support for git dependenciesChristopher Vogt2016-03-183-2/+5
| | | | pair coded with @chavxo
* fixed previously too naive pom inheritance logic to properly handle ↵Christopher Vogt2016-03-172-9/+35
| | | | | | properties and dependencyManagement pom inheritance features pair-coded with @chavxo
* sort transitiveDependencies by exported classpath for hopefully more ↵Christopher Vogt2016-03-121-2/+7
| | | | determinism between dev machines and circle ci
* fix zinc interface dependenciesChristopher Vogt2016-03-121-13/+13
|
* Merge remote-tracking branch 'origin/master' into farmdawg/zinc-exit-codesChristopher Vogt2016-03-124-34/+140
|\ | | | | | | | | | | # Conflicts: # stage1/Stage1Lib.scala # stage1/resolver.scala
| * two separate merges broke this.Christopher Vogt2016-03-121-1/+1
| |
| * Merge pull request #84 from cvogt/dependency-syntaxJan Christopher Vogt2016-03-123-36/+54
| |\ | | | | | | Improved how to express dependencies
| | * Improved how to express dependenciesChristopher Vogt2016-03-123-36/+54
| | | | | | | | | | | | | | | | | | Add - Constructor syntax for cross-scala-version dependencies (as rightfully requested on reddit) and encouraged over SBT's still supported operator syntax - Add support for classifiers other than "sources"
| * | A draft implementation that runs builds concurrently (probably buggy right ↵Christopher Vogt2016-03-122-0/+87
| |/ | | | | | | now). Is CBT "reactive" now ;)?
* | Always reset security manager to what it was during startup. Should be less ↵Christopher Vogt2016-03-121-2/+1
| | | | | | | | fragile with regards to concurrency and user code setting security managers.