From 34534e97068e6c017147214023406bf8bcbe26fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Fri, 4 Nov 2022 11:01:19 -0500 Subject: [PATCH 1/8] Added Scala language supoort and hello world example --- WORKSPACE | 27 +++++++++++++++++++++++++++ scala/BUILD | 7 +++++++ scala/com/hello/Main.scala | 7 +++++++ 3 files changed, 41 insertions(+) create mode 100644 scala/BUILD create mode 100644 scala/com/hello/Main.scala diff --git a/WORKSPACE b/WORKSPACE index c379ca98..a3963161 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,3 +1,5 @@ +workspace(name = "example") + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") @@ -122,3 +124,28 @@ maven_install( load("@maven//:compat.bzl", "compat_repositories") compat_repositories() + + +rules_scala_version = "20220201" + +http_archive( + name = "io_bazel_rules_scala", + sha256 = "77a3b9308a8780fff3f10cdbbe36d55164b85a48123033f5e970fdae262e8eb2", + strip_prefix = "rules_scala-%s" % rules_scala_version, + type = "zip", + url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip" % rules_scala_version, +) + +load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config") + +scala_config() + +load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories") + +scala_repositories() + +load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains") + +scala_register_toolchains() + + diff --git a/scala/BUILD b/scala/BUILD new file mode 100644 index 00000000..9b00035f --- /dev/null +++ b/scala/BUILD @@ -0,0 +1,7 @@ +load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary") + +scala_binary( + name = "scala", + srcs = glob(["com/hello/Main.scala"]), + main_class = "com.hellow.Main", +) \ No newline at end of file diff --git a/scala/com/hello/Main.scala b/scala/com/hello/Main.scala new file mode 100644 index 00000000..6a5486b0 --- /dev/null +++ b/scala/com/hello/Main.scala @@ -0,0 +1,7 @@ +package com.hellow; + +object Main { + def main(args: Array[String]): Unit = { + println("Hello, world!") + } +} \ No newline at end of file From 02978f46c862bf262dec8614a23a04cdd15d48b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Fri, 4 Nov 2022 11:14:40 -0500 Subject: [PATCH 2/8] Small fixes --- scala/BUILD | 4 ++-- scala/com/hello/Main.scala | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scala/BUILD b/scala/BUILD index 9b00035f..3952a7f3 100644 --- a/scala/BUILD +++ b/scala/BUILD @@ -3,5 +3,5 @@ load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary") scala_binary( name = "scala", srcs = glob(["com/hello/Main.scala"]), - main_class = "com.hellow.Main", -) \ No newline at end of file + main_class = "com.hello.Main", +) diff --git a/scala/com/hello/Main.scala b/scala/com/hello/Main.scala index 6a5486b0..173d5bcb 100644 --- a/scala/com/hello/Main.scala +++ b/scala/com/hello/Main.scala @@ -1,7 +1,7 @@ -package com.hellow; +package com.hello; object Main { def main(args: Array[String]): Unit = { println("Hello, world!") } -} \ No newline at end of file +} From 43cc4b41429ff09b1c49d1a283791b9591b34387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Fri, 4 Nov 2022 11:22:30 -0500 Subject: [PATCH 3/8] Updated ubuntu iso version for genrules examples --- WORKSPACE | 8 ++++---- genrules/BUILD | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index a3963161..4460328b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -15,11 +15,11 @@ http_file( ) http_file( - name = "ubuntu_20.04_1.3GB", - sha256 = "28ccdb56450e643bad03bb7bcf7507ce3d8d90e8bf09e38f6bd9ac298a98eaad", + name = "ubuntu_20.05_1.3GB", + sha256 = "5035be37a7e9abbdc09f0d257f3e33416c1a0fb322ba860d42d74aa75c3468d4", urls = [ - "https://mirror.math.princeton.edu/pub/ubuntu-iso/focal/ubuntu-20.04.4-live-server-amd64.iso", - "https://mirror.pit.teraswitch.com/ubuntu-releases/focal/ubuntu-20.04.4-live-server-amd64.iso", + "https://mirror.math.princeton.edu/pub/ubuntu-iso/focal/ubuntu-20.04.5-live-server-amd64.iso", + "https://mirror.pit.teraswitch.com/ubuntu-releases/focal/ubuntu-20.04.5-live-server-amd64.iso", ], ) diff --git a/genrules/BUILD b/genrules/BUILD index 23c5ec26..9d4742df 100644 --- a/genrules/BUILD +++ b/genrules/BUILD @@ -39,8 +39,8 @@ UPPER_BOUND = 10 ) for x in range(1, UPPER_BOUND)] [genrule( - name = "ubuntu_20.04_1.3GB" + str(x), - outs = ["ubuntu_20.04_1.3GB" + str(x) + ".iso"], - cmd = "cp $(location @ubuntu_20.04_1.3GB//file) $@", - tools = ["@ubuntu_20.04_1.3GB//file"], + name = "ubuntu_20.05_1.3GB" + str(x), + outs = ["ubuntu_20.05_1.3GB" + str(x) + ".iso"], + cmd = "cp $(location @ubuntu_20.05_1.3GB//file) $@", + tools = ["@ubuntu_20.05_1.3GB//file"], ) for x in range(1, 2)] From a48cde2e64410e3ab3a5d8cf716bdc72ddf2957b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Mon, 7 Nov 2022 13:52:19 -0500 Subject: [PATCH 4/8] Update WORKSPACE Co-authored-by: Jay Conrod --- WORKSPACE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WORKSPACE b/WORKSPACE index 4460328b..b95b7952 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -15,7 +15,7 @@ http_file( ) http_file( - name = "ubuntu_20.05_1.3GB", + name = "ubuntu_20.04_1.3GB", sha256 = "5035be37a7e9abbdc09f0d257f3e33416c1a0fb322ba860d42d74aa75c3468d4", urls = [ "https://mirror.math.princeton.edu/pub/ubuntu-iso/focal/ubuntu-20.04.5-live-server-amd64.iso", From 0629bc9068a9e067a06870f6ab83134aa56c5c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Mon, 7 Nov 2022 13:52:31 -0500 Subject: [PATCH 5/8] Update scala/BUILD Co-authored-by: Jay Conrod --- scala/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scala/BUILD b/scala/BUILD index 3952a7f3..4275ea11 100644 --- a/scala/BUILD +++ b/scala/BUILD @@ -2,6 +2,6 @@ load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary") scala_binary( name = "scala", - srcs = glob(["com/hello/Main.scala"]), + srcs = ["Main.scala"], main_class = "com.hello.Main", ) From f5399ac952862a70fb6e711c8d978d74daa78536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Mon, 7 Nov 2022 14:50:24 -0500 Subject: [PATCH 6/8] Re organized scala example with test case (same as java) --- WORKSPACE | 4 +++- scala/BUILD | 7 ------- scala/com/engflow/example/BUILD | 13 +++++++++++++ scala/com/engflow/example/ScalaExample.scala | 16 ++++++++++++++++ scala/com/engflow/example/ScalaExampleTest.scala | 13 +++++++++++++ scala/com/hello/Main.scala | 7 ------- 6 files changed, 45 insertions(+), 15 deletions(-) delete mode 100644 scala/BUILD create mode 100644 scala/com/engflow/example/BUILD create mode 100644 scala/com/engflow/example/ScalaExample.scala create mode 100644 scala/com/engflow/example/ScalaExampleTest.scala delete mode 100644 scala/com/hello/Main.scala diff --git a/WORKSPACE b/WORKSPACE index b95b7952..57423513 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -148,4 +148,6 @@ load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains") scala_register_toolchains() - +load("@io_bazel_rules_scala//testing:scalatest.bzl", "scalatest_repositories", "scalatest_toolchain") +scalatest_repositories() +scalatest_toolchain() diff --git a/scala/BUILD b/scala/BUILD deleted file mode 100644 index 4275ea11..00000000 --- a/scala/BUILD +++ /dev/null @@ -1,7 +0,0 @@ -load("@io_bazel_rules_scala//scala:scala.bzl", "scala_binary") - -scala_binary( - name = "scala", - srcs = ["Main.scala"], - main_class = "com.hello.Main", -) diff --git a/scala/com/engflow/example/BUILD b/scala/com/engflow/example/BUILD new file mode 100644 index 00000000..4da5450a --- /dev/null +++ b/scala/com/engflow/example/BUILD @@ -0,0 +1,13 @@ +load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library", "scala_test") + +scala_library( + name = "exampleScala", + srcs = ["ScalaExample.scala"], + #main_class = "com.engflow.example.ScalaExample", +) + +scala_test( + name = "exampleScalaTest", + srcs = ["ScalaExampleTest.scala"], + deps = [":exampleScala"], +) diff --git a/scala/com/engflow/example/ScalaExample.scala b/scala/com/engflow/example/ScalaExample.scala new file mode 100644 index 00000000..f279f807 --- /dev/null +++ b/scala/com/engflow/example/ScalaExample.scala @@ -0,0 +1,16 @@ +package com.engflow.example; + +object ScalaExample { + def fizzbuzz(i: Int): String = { + if (i % 3 == 0){ + if (i % 5 == 0){ + return "FizzBuzz"; + } + return "Fizz"; + } else if (i % 5 == 0){ + return "Buzz"; + } else { + return Integer.toString(i); + } + } +} diff --git a/scala/com/engflow/example/ScalaExampleTest.scala b/scala/com/engflow/example/ScalaExampleTest.scala new file mode 100644 index 00000000..13d8da43 --- /dev/null +++ b/scala/com/engflow/example/ScalaExampleTest.scala @@ -0,0 +1,13 @@ +package com.engflow.example +import org.scalatest.FunSuite + +class ScalaExampleTest extends FunSuite { + test ("engflow scala tests") { + assert("1" == ScalaExample.fizzbuzz(1)) + assert("2" == ScalaExample.fizzbuzz(2)) + assert("Fizz" == ScalaExample.fizzbuzz(3)) + assert("4" == ScalaExample.fizzbuzz(4)) + assert("Buzz" == ScalaExample.fizzbuzz(5)) + assert("FizzBuzz" == ScalaExample.fizzbuzz(15)) + } +} diff --git a/scala/com/hello/Main.scala b/scala/com/hello/Main.scala deleted file mode 100644 index 173d5bcb..00000000 --- a/scala/com/hello/Main.scala +++ /dev/null @@ -1,7 +0,0 @@ -package com.hello; - -object Main { - def main(args: Array[String]): Unit = { - println("Hello, world!") - } -} From 4dfef5d70c1a5b8256d5e68fc5b3aaf382ecda40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Mon, 7 Nov 2022 14:54:03 -0500 Subject: [PATCH 7/8] Fixed ubuntu name --- genrules/BUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/genrules/BUILD b/genrules/BUILD index 9d4742df..23c5ec26 100644 --- a/genrules/BUILD +++ b/genrules/BUILD @@ -39,8 +39,8 @@ UPPER_BOUND = 10 ) for x in range(1, UPPER_BOUND)] [genrule( - name = "ubuntu_20.05_1.3GB" + str(x), - outs = ["ubuntu_20.05_1.3GB" + str(x) + ".iso"], - cmd = "cp $(location @ubuntu_20.05_1.3GB//file) $@", - tools = ["@ubuntu_20.05_1.3GB//file"], + name = "ubuntu_20.04_1.3GB" + str(x), + outs = ["ubuntu_20.04_1.3GB" + str(x) + ".iso"], + cmd = "cp $(location @ubuntu_20.04_1.3GB//file) $@", + tools = ["@ubuntu_20.04_1.3GB//file"], ) for x in range(1, 2)] From b9158c6e054d825327f26b4513803f08161d8199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Felipe=20Barco=20Santa?= Date: Mon, 7 Nov 2022 15:16:44 -0500 Subject: [PATCH 8/8] rules_scala_version in uppercase --- WORKSPACE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index 57423513..45b3fd9d 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -126,14 +126,14 @@ load("@maven//:compat.bzl", "compat_repositories") compat_repositories() -rules_scala_version = "20220201" +RULES_SCALA_VERSION = "20220201" http_archive( name = "io_bazel_rules_scala", sha256 = "77a3b9308a8780fff3f10cdbbe36d55164b85a48123033f5e970fdae262e8eb2", - strip_prefix = "rules_scala-%s" % rules_scala_version, + strip_prefix = "rules_scala-%s" % RULES_SCALA_VERSION, type = "zip", - url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip" % rules_scala_version, + url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip" % RULES_SCALA_VERSION, ) load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")