diff --git a/sbt/src/sbt-test/api/show-circular-structure/build.sbt b/sbt/src/sbt-test/api/show-circular-structure/build.sbt new file mode 100644 index 000000000..03fb631e4 --- /dev/null +++ b/sbt/src/sbt-test/api/show-circular-structure/build.sbt @@ -0,0 +1,12 @@ +logLevel := Level.Debug + +incOptions ~= { _.copy(apiDebug = true) } + +TaskKey[Unit]("show-apis") <<= (compile in Compile, scalaSource in Compile, javaSource in Compile) map { (a: sbt.inc.Analysis, scalaSrc: java.io.File, javaSrc: java.io.File) => + val aApi = a.apis.internalAPI(scalaSrc / "A.scala").api + val jApi = a.apis.internalAPI(javaSrc / "test/J.java").api + import xsbt.api.DefaultShowAPI + import DefaultShowAPI._ + DefaultShowAPI.showSource.show(aApi) + DefaultShowAPI.showSource.show(jApi) +} diff --git a/sbt/src/sbt-test/api/show-circular-structure/pending b/sbt/src/sbt-test/api/show-circular-structure/pending new file mode 100644 index 000000000..60ade5c1c --- /dev/null +++ b/sbt/src/sbt-test/api/show-circular-structure/pending @@ -0,0 +1,4 @@ +# test case for http://github.com/sbt/sbt/issues/676 +> compile +# fails with StackOverflowException +> show-apis diff --git a/sbt/src/sbt-test/api/show-circular-structure/src/main/java/test/J.java b/sbt/src/sbt-test/api/show-circular-structure/src/main/java/test/J.java new file mode 100644 index 000000000..b42dc9250 --- /dev/null +++ b/sbt/src/sbt-test/api/show-circular-structure/src/main/java/test/J.java @@ -0,0 +1,6 @@ +package test; + +public class J { + public static final class J2 extends J { } + public static final class J3 extends J { } +} diff --git a/sbt/src/sbt-test/api/show-circular-structure/src/main/scala/A.scala b/sbt/src/sbt-test/api/show-circular-structure/src/main/scala/A.scala new file mode 100644 index 000000000..1e2dcf690 --- /dev/null +++ b/sbt/src/sbt-test/api/show-circular-structure/src/main/scala/A.scala @@ -0,0 +1,6 @@ +package test + +class A { + class B extends A + class C extends A +}