diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-03 02:47:31 +0000 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-03 14:17:38 -0400 |
commit | eb21b485fbc3972f66bed7d8af62900712cb3b0b (patch) | |
tree | 92ac88a45f77f033dd58a003df942fa3aa67362a /examples | |
parent | 131954279c0937b499bddc52c15a300b1af7b9bc (diff) | |
download | cbt-eb21b485fbc3972f66bed7d8af62900712cb3b0b.tar.gz cbt-eb21b485fbc3972f66bed7d8af62900712cb3b0b.tar.bz2 cbt-eb21b485fbc3972f66bed7d8af62900712cb3b0b.zip |
Add support for resources (still limited by CBT's classloader visibility)
Diffstat (limited to 'examples')
-rw-r--r-- | examples/resources-example/build/build.scala | 21 | ||||
-rw-r--r-- | examples/resources-example/build/build/build.scala | 20 | ||||
-rw-r--r-- | examples/resources-example/my-resources/foo.text | 1 | ||||
-rw-r--r-- | examples/resources-example/resources/foo.text | 1 | ||||
-rw-r--r-- | examples/resources-example/src/Main.scala | 27 |
5 files changed, 70 insertions, 0 deletions
diff --git a/examples/resources-example/build/build.scala b/examples/resources-example/build/build.scala new file mode 100644 index 0000000..aec5d79 --- /dev/null +++ b/examples/resources-example/build/build.scala @@ -0,0 +1,21 @@ +import cbt._ +class Build(val context: Context) extends BaseBuild{ + /* + override def dependencies = + super.dependencies ++ // don't forget super.dependencies here + Seq( + // source dependency + DirectoryDependency( projectDirectory ++ "/subProject" ) + ) ++ + Resolver( mavenCentral ).bind( + // CBT-style Scala dependencies + ScalaDependency( "com.lihaoyi", "ammonite-ops", "0.5.5" ) + MavenDependency( "com.lihaoyi", "ammonite-ops_2.11", "0.5.5" ) + + // SBT-style dependencies + "com.lihaoyi" %% "ammonite-ops" % "0.5.5" + "com.lihaoyi" % "ammonite-ops_2.11" % "0.5.5" + ) + */ + override def resourceClasspath = super.resourceClasspath ++ ClassPath(Seq(projectDirectory ++ "/my-resources")) +} diff --git a/examples/resources-example/build/build/build.scala b/examples/resources-example/build/build/build.scala new file mode 100644 index 0000000..f700060 --- /dev/null +++ b/examples/resources-example/build/build/build.scala @@ -0,0 +1,20 @@ +import cbt._ +class Build(val context: Context) extends BuildBuild{ + /* + override def dependencies = + super.dependencies ++ // don't forget super.dependencies here + Seq( + // source dependency + DirectoryDependency( projectDirectory ++ "/subProject" ) + ) ++ + Resolver( mavenCentral ).bind( + // CBT-style Scala dependencies + ScalaDependency( "com.lihaoyi", "ammonite-ops", "0.5.5" ) + MavenDependency( "com.lihaoyi", "ammonite-ops_2.11", "0.5.5" ) + + // SBT-style dependencies + "com.lihaoyi" %% "ammonite-ops" % "0.5.5" + "com.lihaoyi" % "ammonite-ops_2.11" % "0.5.5" + ) + */ +} diff --git a/examples/resources-example/my-resources/foo.text b/examples/resources-example/my-resources/foo.text new file mode 100644 index 0000000..f82e417 --- /dev/null +++ b/examples/resources-example/my-resources/foo.text @@ -0,0 +1 @@ +Hello from a resource in my-resources/ (the additional location manually added here in build.scala) diff --git a/examples/resources-example/resources/foo.text b/examples/resources-example/resources/foo.text new file mode 100644 index 0000000..6d7c85a --- /dev/null +++ b/examples/resources-example/resources/foo.text @@ -0,0 +1 @@ +Hello from a resource in resources/ (the default location) diff --git a/examples/resources-example/src/Main.scala b/examples/resources-example/src/Main.scala new file mode 100644 index 0000000..3bc0943 --- /dev/null +++ b/examples/resources-example/src/Main.scala @@ -0,0 +1,27 @@ +import java.nio.file.{Files, Paths} +object Main extends App { + // Be aware that CBT currently isolates classloaders of dependencies + // your dependencies will not see the resources of your project + // This means that e.g. spray will not see a application.conf in your project's + // resources/ directory. See https://github.com/cvogt/cbt/issues/176 + println( + "foo.text in resources contains: " ++ + new String( + Files.readAllBytes( + Paths.get( getClass.getClassLoader.getResource("foo.text").getFile ) + ) + ) + ) + import scala.collection.JavaConverters._ + println( + "foo.text in resources and my-resources:\n" ++ + getClass.getClassLoader.getResources("foo.text").asScala.map( + resource => + new String( + Files.readAllBytes( + Paths.get( resource.getFile ) + ) + ) + ).mkString + ) +} |