cbt icon indicating copy to clipboard operation
cbt copied to clipboard

cbt fails if cbt checkout directory not clean

Open dragos opened this issue 8 years ago • 3 comments
trafficstars

I guess I had a pretty old version of cbt lying around, so I did a git pull. At that point I was stuck, since running cbt failed to build, as follows. (it came back to normal after a git clean -fxd):

dragos@aquarius cbt (master) $ cbt
[warn] Pruning sources from previous analysis, due to incompatible CompileSetup.
[info] Compiling 20 Scala sources and 1 Java source to /Users/dragos/workspace/oss/cbt/stage1/target/scala-2.11/classes...
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:50: value hashMap is not a member of cbt.ClassLoaderCache
[error]   val persistentCache = classLoaderCache.hashMap
[error]                                          ^
...
...
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:67: not enough arguments for constructor ClassLoaderCache: (logger: cbt.Logger, permanentKeys: java.util.concurrent.ConcurrentHashMap[String,AnyRef], permanentClassLoaders: java.util.concurrent.ConcurrentHashMap[AnyRef,ClassLoader])cbt.ClassLoaderCache.
[error] Unspecified value parameters permanentKeys, permanentClassLoaders.
[error]     )(context.transientCache, new ClassLoaderCache( context.persistentCache ), logger)
[error]                               ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:136: value containsKey is not a member of cbt.ClassLoaderCache
[error]       classLoaderCache.containsKey( cbtDependencies.compatibilityDependency.classpath.string, cbtDependencies.compatibilityDependency.lastModified ),
[error]                        ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:140: value containsKey is not a member of cbt.ClassLoaderCache
[error]       classLoaderCache.containsKey( cbtDependencies.stage1Dependency.classpath.string, cbtDependencies.stage1Dependency.lastModified ),
[error]                        ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:184: not enough arguments for constructor ClassLoaderCache: (logger: cbt.Logger, permanentKeys: java.util.concurrent.ConcurrentHashMap[String,AnyRef], permanentClassLoaders: java.util.concurrent.ConcurrentHashMap[AnyRef,ClassLoader])cbt.ClassLoaderCache.
[error] Unspecified value parameters permanentKeys, permanentClassLoaders.
[error]     implicit val classLoaderCache = new ClassLoaderCache( persistentCache )
[error]                                     ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:187: could not find implicit value for parameter classLoaderCache: cbt.ClassLoaderCache
[error]     val (stage2sourceFiles, stage2LastModified, classLoader) = buildStage2( buildStage1, cbtHome, cache, cwd, loop )
[error]                                                                           ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:193: type mismatch;
[error]  found   : Any
[error]  required: Long
[error]       stage2LastModified = stage2LastModified,
[error]                            ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:197: type mismatch;
[error]  found   : Any
[error]  required: Seq[java.io.File]
[error]       stage2sourceFiles,
[error]       ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:189: could not find implicit value for parameter classLoaderCache: cbt.ClassLoaderCache
[error]     val stage2Args = new Stage2Args(
[error]                      ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1.scala:204: value loadClass is not a member of Any
[error] possible cause: maybe a semicolon is missing before `value loadClass'?
[error]       .loadClass(
[error]        ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:395: value containsKey is not a member of cbt.ClassLoaderCache
[error]         if( !cache.containsKey( cp, lastModified ) ){
[error]                    ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:396: value put is not a member of cbt.ClassLoaderCache
[error]           cache.put( cp, cl, lastModified )
[error]                 ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:398: value get is not a member of cbt.ClassLoaderCache
[error]         cache.get( cp, lastModified )
[error]               ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:407: value containsKey is not a member of cbt.ClassLoaderCache
[error]     if( !cache.containsKey( cp, lastModified ) ){
[error]                ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:408: value put is not a member of cbt.ClassLoaderCache
[error]       cache.put( cp, cl, lastModified )
[error]             ^
[error] /Users/dragos/workspace/oss/cbt/stage1/Stage1Lib.scala:410: value get is not a member of cbt.ClassLoaderCache
[error]     cache.get( cp, lastModified )
[error]           ^
[error] /Users/dragos/workspace/oss/cbt/stage1/cbt.scala:74: not enough arguments for constructor ClassLoaderCache: (logger: cbt.Logger, permanentKeys: java.util.concurrent.ConcurrentHashMap[String,AnyRef], permanentClassLoaders: java.util.concurrent.ConcurrentHashMap[AnyRef,ClassLoader])cbt.ClassLoaderCache.
[error] Unspecified value parameters permanentKeys, permanentClassLoaders.
[error]     def classLoaderCache: ClassLoaderCache = new ClassLoaderCache( persistentCache )
[error]                                              ^
[error] /Users/dragos/workspace/oss/cbt/stage1/resolver.scala:304: value hashMap is not a member of cbt.ClassLoaderCache
[error]     Option( classLoaderCache.hashMap.get("hash:"+path) ).map(_.asInstanceOf[String]).getOrElse{
[error]                              ^
[error] /Users/dragos/workspace/oss/cbt/stage1/resolver.scala:309: value hashMap is not a member of cbt.ClassLoaderCache
[error]       classLoaderCache.hashMap.put("hash:"+path, result)
[error]                        ^
[error] /Users/dragos/workspace/oss/cbt/stage1/resolver.scala:369: value hashMap is not a member of cbt.ClassLoaderCache
[error]           cbtLastModified, mavenCache ++ basePath(true) ++ ".pom.dependencies", classLoaderCache.hashMap
[error]                                                                                                  ^
[error] 20 errors found
[error] Compile failed at Apr 21, 2017 4:31:57 PM [3.564s]

dragos avatar Apr 21 '17 14:04 dragos

Any idea what could be causing this? Is this something cbt could easily fix or it that something that's better fixed in zinc?

cvogt avatar Apr 24 '17 06:04 cvogt

I'm not so familiar with Zinc, but it looks like the incremental compiler was confused. What made it worse was that I couldn't run cbt clean, I had to resort on git clean.

dragos avatar Apr 24 '17 09:04 dragos

I think this is something we'll have to monitor going forward. You are not the first one who ran into this problem and it's not that obvious. Maybe there is some smart way to avoid this after upgrades.

cvogt avatar Apr 24 '17 16:04 cvogt