blob: 7003689fb637126648c3852cc4c46ba53440aeb6 [file] [log] [blame]
# Description:
# Tulsi, an Xcode project generator for Bazel-bazed projects.
package(default_visibility = ["//:__subpackages__"])
licenses(["notice"]) # Apache 2.0
exports_files(["LICENSE"])
load(
":version.bzl",
"fill_info_plist",
"TULSI_VERSION_MAJOR",
)
load("@build_bazel_rules_apple//apple:versioning.bzl", "apple_bundle_version")
fill_info_plist(
name = "info_plist",
out = "Info.plist",
template = "//src/Tulsi:Info.plist",
)
apple_bundle_version(
name = "AppVersion",
build_label_pattern = "{project}_{date}_[A-Za-z]*{buildnum}",
build_version = "%s.{date}.{buildnum}" % TULSI_VERSION_MAJOR,
capture_groups = {
"project": "[^_]*",
"date": "\d+",
"buildnum": "\d+",
},
fallback_build_label = "tulsi_999999999_build88",
)
genrule(
name = "combine_strings",
srcs = [
"//src/Tulsi:en.lproj/Localizable.strings",
"//src/TulsiGenerator:en.lproj/Localizable.strings",
],
outs = [
"en.lproj/Localizable.strings",
],
cmd = (
"cat $(location //src/Tulsi:en.lproj/Localizable.strings) > $(location en.lproj/Localizable.strings); " +
"echo '\n\n' >> $(location en.lproj/Localizable.strings); " +
"cat $(location //src/TulsiGenerator:en.lproj/Localizable.strings) >> $(location en.lproj/Localizable.strings); "
),
)
filegroup(
name = "strings",
srcs = [
"en.lproj/Localizable.strings",
"//src/TulsiGenerator:en.lproj/Options.strings",
],
)
load("@build_bazel_rules_apple//apple:macos.bzl", "macos_application")
macos_application(
name = "tulsi",
app_icons = ["//src/Tulsi:Icon"],
bundle_id = "com.google.Tulsi",
bundle_name = "Tulsi",
infoplists = [":Info.plist"],
minimum_os_version = "10.13",
strings = [":strings"],
version = ":AppVersion",
deps = [
"//src/Tulsi:tulsi_lib",
],
)
test_suite(
name = "tests",
tests = [
"//src/TulsiGeneratorIntegrationTests",
"//src/TulsiGeneratorTests",
],
)
load("@build_bazel_rules_apple//apple:apple_genrule.bzl", "apple_genrule")
apple_genrule(
name = "tulsi_dmg",
srcs = [
":tulsi.zip",
"//src/tools:generate_xcodeproj.sh",
],
outs = ["Tulsi.dmg"],
cmd = " && ".join([
"unzip -oq $(location :tulsi.zip) -d $(@D)/dmg_root",
"ln -s /Applications $(@D)/dmg_root/Applications",
"mkdir \"$(@D)/dmg_root/Tulsi Additional Files\"",
"cp -f $(location //src/tools:generate_xcodeproj.sh) \"$(@D)/dmg_root/Tulsi Additional Files\"/",
"hdiutil create -srcfolder $(@D)/dmg_root -volname Tulsi $@",
]),
)
filegroup(
name = "for_bazel_tests",
testonly = 1,
srcs = [
"WORKSPACE",
"@build_bazel_rules_apple//:for_bazel_tests",
],
)