blob: d324d464c7dbbc11dbcf2944536044eed5acb054 [file] [log] [blame]
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
GEN_SRCS_LEX = [
"fuchsia/developer/plugin/fidl/fidl/FidlLexer.java",
]
genrule(
name = "fidl_lex_gen",
srcs = ["FidlLexer.flex"],
outs = GEN_SRCS_LEX,
cmd = "$(location //third_party/jflex:jflex_bin) -d $(@D) $<",
tools = ["//third_party/jflex:jflex_bin"],
)
java_binary(
name = "grammar_kit_bin",
main_class = "org.intellij.grammar.Main",
runtime_deps = [
"@grammar_kit",
"@intellij_ce_2018_2//:sdk",
],
)
GEN_SRCS_PARSE = [
"fuchsia/developer/plugin/fidl/parser/Parser.java",
"fuchsia/developer/plugin/fidl/psi/FidlArrayType.java",
"fuchsia/developer/plugin/fidl/psi/FidlAttribute.java",
"fuchsia/developer/plugin/fidl/psi/FidlAttributeList.java",
"fuchsia/developer/plugin/fidl/psi/FidlAttributes.java",
"fuchsia/developer/plugin/fidl/psi/FidlBracketAttributeList.java",
"fuchsia/developer/plugin/fidl/psi/FidlCompoundIdentifier.java",
"fuchsia/developer/plugin/fidl/psi/FidlConstant.java",
"fuchsia/developer/plugin/fidl/psi/FidlConstDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlDeclarationList.java",
"fuchsia/developer/plugin/fidl/psi/FidlDocAttributeList.java",
"fuchsia/developer/plugin/fidl/psi/FidlEnumDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlEnumMember.java",
"fuchsia/developer/plugin/fidl/psi/FidlEnumMemberValue.java",
"fuchsia/developer/plugin/fidl/psi/FidlHandleSubtype.java",
"fuchsia/developer/plugin/fidl/psi/FidlHandleType.java",
"fuchsia/developer/plugin/fidl/psi/FidlIdentifierToken.java",
"fuchsia/developer/plugin/fidl/psi/FidlIdentifierType.java",
"fuchsia/developer/plugin/fidl/psi/FidlIntegerType.java",
"fuchsia/developer/plugin/fidl/psi/FidlInterfaceDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlInterfaceMethod.java",
"fuchsia/developer/plugin/fidl/psi/FidlInterfaceParameters.java",
"fuchsia/developer/plugin/fidl/psi/FidlLibraryHeader.java",
"fuchsia/developer/plugin/fidl/psi/FidlLiteral.java",
"fuchsia/developer/plugin/fidl/psi/FidlOrdinal.java",
"fuchsia/developer/plugin/fidl/psi/FidlParameter.java",
"fuchsia/developer/plugin/fidl/psi/FidlParameterList.java",
"fuchsia/developer/plugin/fidl/psi/FidlParameters.java",
"fuchsia/developer/plugin/fidl/psi/FidlPopulatedTableField.java",
"fuchsia/developer/plugin/fidl/psi/FidlPrimitiveType.java",
"fuchsia/developer/plugin/fidl/psi/FidlRequestType.java",
"fuchsia/developer/plugin/fidl/psi/FidlReservedTableField.java",
"fuchsia/developer/plugin/fidl/psi/FidlStringType.java",
"fuchsia/developer/plugin/fidl/psi/FidlStructDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlStructField.java",
"fuchsia/developer/plugin/fidl/psi/FidlSuperInterfaceList.java",
"fuchsia/developer/plugin/fidl/psi/FidlTableDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlTableField.java",
"fuchsia/developer/plugin/fidl/psi/FidlType.java",
"fuchsia/developer/plugin/fidl/psi/FidlUnionDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlUnionField.java",
"fuchsia/developer/plugin/fidl/psi/FidlUsingDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlUsing.java",
"fuchsia/developer/plugin/fidl/psi/FidlUsingList.java",
"fuchsia/developer/plugin/fidl/psi/FidlVectorType.java",
"fuchsia/developer/plugin/fidl/psi/FidlVisitor.java",
"fuchsia/developer/plugin/fidl/psi/FidlXunionDeclaration.java",
"fuchsia/developer/plugin/fidl/psi/FidlXunionField.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlArrayTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlAttributeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlAttributeListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlAttributesImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlBracketAttributeListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlCompoundIdentifierImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlConstantImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlConstDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlDeclarationListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlDocAttributeListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlEnumDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlEnumMemberImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlEnumMemberValueImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlHandleSubtypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlHandleTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlIdentifierTokenImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlIdentifierTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlIntegerTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlInterfaceDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlInterfaceMethodImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlInterfaceParametersImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlLibraryHeaderImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlLiteralImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlOrdinalImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlParameterImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlParameterListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlParametersImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlPopulatedTableFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlPrimitiveTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlRequestTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlReservedTableFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlStringTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlStructDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlStructFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlSuperInterfaceListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlTableDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlTableFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlUnionDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlUnionFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlUsingDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlUsingImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlUsingListImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlVectorTypeImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlXunionDeclarationImpl.java",
"fuchsia/developer/plugin/fidl/psi/impl/FidlXunionFieldImpl.java",
"fuchsia/developer/plugin/fidl/psi/Types.java",
]
genrule(
name = "fidl_grammar_gen",
srcs = ["Fidl.bnf"],
outs = GEN_SRCS_PARSE,
cmd = "$(location :grammar_kit_bin) $(@D) $<",
tools = [":grammar_kit_bin"],
)
GEN_SRCS = GEN_SRCS_LEX + GEN_SRCS_PARSE
java_library(
name = "fidl",
srcs = GEN_SRCS + glob(["*.java"]) + glob(["psi/*.java"]),
resources = ["icons/fuchsia-logo-16x16.png"],
visibility = ["//visibility:public"],
deps = [
"@google_bazel_common//third_party/java/guava",
"@intellij_ce_2018_2//:annotations",
"@intellij_ce_2018_2//:platform-api",
"@intellij_ce_2018_2//:util",
],
)
filegroup(
name = "icons",
srcs = ["icons/fuchsia-logo-16x16.png"],
visibility = ["//visibility:public"],
)