aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Oscar Boykin <oscar.boykin@gmail.com>2016-02-12 21:16:13 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-02-15 09:21:11 +0000
commitb5d417d263bc1b35bdace54e0161137dce7e8ba5 (patch)
treebcfbca430e7d062af853c099d7aa2296747eb0b9
parentaccfc2c3b84fcb5c06b52ce2e8e64a711d633745 (diff)
Add scala tests to CI
-- Change-Id: If286a9718e036d2bd555baf78600e9208ba5a990 Reviewed-on: https://github.com/bazelbuild/bazel/pull/872 MOS_MIGRATED_REVID=114563576
-rwxr-xr-xcompile.sh1
-rw-r--r--tools/build_defs/scala/scala.bzl38
-rw-r--r--tools/build_defs/scala/test/BUILD2
3 files changed, 25 insertions, 16 deletions
diff --git a/compile.sh b/compile.sh
index bf13174213..3a0869ada5 100755
--- a/compile.sh
+++ b/compile.sh
@@ -154,6 +154,7 @@ if [ $DO_TESTS ]; then
${EXTRA_BAZEL_ARGS} \
--javacopt="-source ${JAVA_VERSION} -target ${JAVA_VERSION}" \
-k --test_output=errors //src/... //third_party/ijar/... //scripts/... \
+ //tools/build_defs/scala/test/... \
|| fail "Tests failed"
fi
diff --git a/tools/build_defs/scala/scala.bzl b/tools/build_defs/scala/scala.bzl
index 39b20e6077..6e2946b959 100644
--- a/tools/build_defs/scala/scala.bzl
+++ b/tools/build_defs/scala/scala.bzl
@@ -118,17 +118,25 @@ cd $0.runfiles
content=content)
def _collect_comp_run_jars(ctx):
- compile_jars = set()
- runtime_jars = set()
+ compile_jars = set() # not transitive
+ runtime_jars = set() # this is transitive
for target in ctx.attr.deps:
- if hasattr(target, "runtime_jar_files"):
- runtime_jars += target.runtime_jar_files
- if hasattr(target, "interface_jar_files"):
- compile_jars += target.interface_jar_files
+ found = False
+ if hasattr(target, "scala"):
+ compile_jars += [target.scala.outputs.ijar]
+ runtime_jars += target.scala.transitive_runtime_deps
+ found = True
if hasattr(target, "java"):
- runtime_jars += target.java.transitive_runtime_deps
- #see JavaSkylarkApiProvider.java, this is just the compile-time deps
+ # see JavaSkylarkApiProvider.java, this is just the compile-time deps
+ # this should be improved in bazel 0.1.5 to get outputs.ijar
+ # compile_jars += [target.java.outputs.ijar]
compile_jars += target.java.transitive_deps
+ runtime_jars += target.java.transitive_runtime_deps
+ found = True
+ if not found:
+ # support http_file pointed at a jar. http_jar uses ijar, which breaks scala macros
+ runtime_jars += target.files
+ compile_jars += target.files
return (compile_jars, runtime_jars)
def _scala_library_impl(ctx):
@@ -136,14 +144,14 @@ def _scala_library_impl(ctx):
_write_manifest(ctx)
_compile(ctx, cjars, True)
- cjars += [ctx.outputs.ijar]
rjars += [ctx.outputs.jar]
+ scalaattr = struct(outputs = struct(ijar=ctx.outputs.ijar, class_jar=ctx.outputs.jar),
+ transitive_runtime_deps = rjars)
runfiles = ctx.runfiles(
files = list(rjars),
collect_data = True)
return struct(
- runtime_jar_files=rjars,
- interface_jar_files=cjars,
+ scala = scalaattr,
runfiles=runfiles)
def _scala_macro_library_impl(ctx):
@@ -152,14 +160,14 @@ def _scala_macro_library_impl(ctx):
_compile(ctx, cjars, False)
rjars += [ctx.outputs.jar]
- # macro code needs to be available at compiletime
- cjars += [ctx.outputs.jar]
+ # macro code needs to be available at compiletime, so set ijar == jar
+ scalaattr = struct(outputs = struct(ijar=ctx.outputs.jar, class_jar=ctx.outputs.jar),
+ transitive_runtime_deps = rjars)
runfiles = ctx.runfiles(
files = list(rjars),
collect_data = True)
return struct(
- runtime_jar_files=rjars,
- interface_jar_files=cjars,
+ scala = scalaattr,
runfiles=runfiles)
# Common code shared by all scala binary implementations.
diff --git a/tools/build_defs/scala/test/BUILD b/tools/build_defs/scala/test/BUILD
index 699bb5a035..cd9ad27bc3 100644
--- a/tools/build_defs/scala/test/BUILD
+++ b/tools/build_defs/scala/test/BUILD
@@ -35,7 +35,7 @@ scala_library(
scala_test(
name = "HelloLibTest",
- size = "medium", # Not a macro, can pass test-specific attributes.
+ size = "small", # Not a macro, can pass test-specific attributes.
srcs = ["HelloLibTest.scala"],
suites = [
"scala.test.ScalaSuite",