| # 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"], |
| ) |