xmake.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. package("antlr4")
  2. set_kind("binary")
  3. set_homepage("https://www.antlr.org")
  4. set_description("powerful parser generator for reading, processing, executing, or translating structured text or binary files.")
  5. set_license("BSD-3-Clause")
  6. add_urls("https://www.antlr.org/download/antlr-$(version)-complete.jar")
  7. add_versions("4.13.2", "eae2dfa119a64327444672aff63e9ec35a20180dc5b8090b7a6ab85125df4d76")
  8. add_versions("4.13.1", "bc13a9c57a8dd7d5196888211e5ede657cb64a3ce968608697e4f668251a8487")
  9. if is_plat("linux") then
  10. add_extsources("pacman::antlr4", "apt::antlr4")
  11. elseif is_plat("macosx") then
  12. add_extsources("brew::antlr")
  13. end
  14. set_policy("package.precompiled", false)
  15. add_deps("openjdk")
  16. on_load(function (package)
  17. package:mark_as_pathenv("CLASSPATH")
  18. package:addenv("CLASSPATH", "lib/antlr-complete.jar")
  19. end)
  20. on_install("@windows", "@linux", "@macosx", function (package)
  21. os.vcp(package:originfile(), path.join(package:installdir("lib"), "antlr-complete.jar"))
  22. end)
  23. on_test(function (package)
  24. os.vrun("java -classpath $(env CLASSPATH) org.antlr.v4.Tool")
  25. end)