diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-08 23:39:40 -0700 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-04-09 13:20:45 -0700 |
commit | db8d967d461fb6323fd83c40ef81e26f2d0fa225 (patch) | |
tree | cad8bb41b7337f38fed00536498e437c7007ebb9 /scalalib/src | |
parent | 41180adbc0d9e67677e9cd5d1dbd25208672d5d5 (diff) | |
download | mill-db8d967d461fb6323fd83c40ef81e26f2d0fa225.tar.gz mill-db8d967d461fb6323fd83c40ef81e26f2d0fa225.tar.bz2 mill-db8d967d461fb6323fd83c40ef81e26f2d0fa225.zip |
Get first `caffeine.test` suite running in `CaffeineTests`
Diffstat (limited to 'scalalib/src')
-rw-r--r-- | scalalib/src/mill/scalalib/Lib.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scalalib/src/mill/scalalib/Lib.scala b/scalalib/src/mill/scalalib/Lib.scala index 07d88891..3e06ea37 100644 --- a/scalalib/src/mill/scalalib/Lib.scala +++ b/scalalib/src/mill/scalalib/Lib.scala @@ -3,6 +3,7 @@ package scalalib import java.io.{File, FileInputStream} import java.lang.annotation.Annotation +import java.lang.reflect.Modifier import java.util.zip.ZipInputStream import javax.tools.ToolProvider @@ -12,7 +13,6 @@ import coursier.{Cache, Dependency, Fetch, Repository, Resolution} import mill.Agg import mill.eval.{PathRef, Result} import mill.modules.Jvm - import mill.util.Ctx import sbt.testing._ @@ -293,14 +293,18 @@ object Lib{ case f: SubclassFingerprint => !cls.isInterface && (f.isModule == cls.getName.endsWith("$")) && - cl.loadClass(f.superclassName()).isAssignableFrom(cls) + cl.loadClass(f.superclassName()).isAssignableFrom(cls) && + cls.getConstructors.count(c => c.getParameterCount == 0 && Modifier.isPublic(c.getModifiers)) == 1 + case f: AnnotatedFingerprint => val annotationCls = cl.loadClass(f.annotationName()).asInstanceOf[Class[Annotation]] (f.isModule == cls.getName.endsWith("$")) && + cls.getConstructors.count(c => c.getParameterCount == 0 && Modifier.isPublic(c.getModifiers)) == 1 && ( cls.isAnnotationPresent(annotationCls) || cls.getDeclaredMethods.exists(_.isAnnotationPresent(annotationCls)) ) + }.map { f => (cls, f) } } } |