| # 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_3//:sdk", |
| ], |
| ) |
| |
| # Regenerate with something like: |
| # find . -name \*.java | sort | sed -e "s|./\(.*\)| \"\\1\",|" |
| GEN_SRCS_PARSE = [ |
| "fuchsia/developer/plugin/fidl/parser/Parser.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/FidlBitsDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlBitsOrEnumMember.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlBitsOrEnumMemberValue.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/FidlDeclarationModifiers.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlDocAttributeList.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlEnumDeclaration.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/FidlIntegralLiteral.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlLibraryHeader.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlLiteral.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlMemberField.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlNumericLiteral.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlOrdinal.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlOrdinalMemberFieldBody.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlOrdinalMemberField.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/FidlProtocolCompose.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlProtocolDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlProtocolEvent.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlProtocolMember.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlProtocolMethod.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlServiceDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlServiceMember.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlStructDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlTableDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlTypeAliasDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlTypeConstraint.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlTypeConstructor.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlUnionDeclaration.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlUsing.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlUsingList.java", |
| "fuchsia/developer/plugin/fidl/psi/FidlVisitor.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/FidlBitsDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlBitsOrEnumMemberImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlBitsOrEnumMemberValueImpl.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/FidlDeclarationModifiersImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlDocAttributeListImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlEnumDeclarationImpl.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/FidlIntegralLiteralImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlLibraryHeaderImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlLiteralImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlMemberFieldImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlNumericLiteralImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlOrdinalImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlOrdinalMemberFieldBodyImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlOrdinalMemberFieldImpl.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/FidlProtocolComposeImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlProtocolDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlProtocolEventImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlProtocolMemberImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlProtocolMethodImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlServiceDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlServiceMemberImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlStructDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlTableDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlTypeAliasDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlTypeConstraintImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlTypeConstructorImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlUnionDeclarationImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlUsingImpl.java", |
| "fuchsia/developer/plugin/fidl/psi/impl/FidlUsingListImpl.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/B.png", |
| "icons/C.png", |
| "icons/E.png", |
| "icons/F.png", |
| "icons/M.png", |
| "icons/P.png", |
| "icons/S.png", |
| "icons/T.png", |
| "icons/U.png", |
| "icons/X.png", |
| "icons/fuchsia-logo-16x16.png", |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| "@google_bazel_common//third_party/java/guava", |
| "@grammar_kit", |
| "@intellij_ce_2018_3//:annotations", |
| "@intellij_ce_2018_3//:platform-api", |
| "@intellij_ce_2018_3//:util", |
| ], |
| ) |
| |
| filegroup( |
| name = "icons", |
| srcs = ["icons/fuchsia-logo-16x16.png"], |
| visibility = ["//visibility:public"], |
| ) |