diff --git a/WORKSPACE b/WORKSPACE index e69de29b..27bbd089 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -0,0 +1,15 @@ +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") + +http_file( + name = "emacs", + urls = ["https://mirror.its.dal.ca/gnu/emacs/emacs-28.1.tar.gz", + "https://mirrors.kernel.org/gnu/emacs/emacs-28.1.tar.gz"], + sha256 = "1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28" +) + +http_file( + name = "ubuntu_20.04_1.3GB", + 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"], + sha256 = "28ccdb56450e643bad03bb7bcf7507ce3d8d90e8bf09e38f6bd9ac298a98eaad" +) diff --git a/genrules/BUILD b/genrules/BUILD new file mode 100644 index 00000000..70125bb3 --- /dev/null +++ b/genrules/BUILD @@ -0,0 +1,45 @@ +# Copyright 2022 EngFlow Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# The following genrules are able to produce thousands of targets based +# on the user's input. +# This can be used for stress testing your build infrastructure. +# Change the upper bound of the range and enjoy! +UPPER_BOUND = 10 +[genrule( + name = "foo_TXT_4KB_" + str(x), + outs = ["foo_text" + str(x) + ".txt"], + cmd = "echo 'Hello engflow world' > $@", +) for x in range(1,UPPER_BOUND)] + +[genrule( + name = "gnu-manifesto_PDF_76KB" + str(x), + outs = ["gnu-manifesto" + str(x) + ".pdf"], + cmd = "cp $(location gnu-manifesto.pdf) $@", + tools = ["gnu-manifesto.pdf"] +) for x in range(1,UPPER_BOUND)] + +[genrule( + name = "emacs_TARGZ_68MB" + str(x), + outs = ["emacs" + str(x) + ".tar.gz"], + cmd = "cp $(location @emacs//file) $@", + tools = ["@emacs//file"] +) 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"] +) for x in range(1,2)] diff --git a/genrules/gnu-manifesto.pdf b/genrules/gnu-manifesto.pdf new file mode 100644 index 00000000..53a3a0f1 Binary files /dev/null and b/genrules/gnu-manifesto.pdf differ