VERSION = '1.4'
SRC = 'java/com/googlecode/prolog_cafe/'

REPL = [
  SRC + 'builtin/PRED_$write_toString_2.java',
]

IO = [
  SRC + 'builtin/PRED_close_2.java',
  SRC + 'builtin/PRED_flush_output_1.java',
  SRC + 'builtin/PRED_open_4.java',
  SRC + 'builtin/PRED_read_line_2.java',
  SRC + 'builtin/PRED_tab_2.java',
]

genrule(
  name = 'all',
  cmd = ':>all',
  deps = [
    ':cafeteria',
    ':compiler',
    ':runtime',
  ],
  out = '__fake.all__',
)

java_binary(
  name = 'runtime',
  deps = [
    ':builtin',
    ':lang',
  ],
)

java_library(
  name = 'lang',
  srcs = glob([SRC + 'lang/*.java'], excludes = REPL),
)

java_library(
  name = 'builtin',
  srcs = glob([SRC + 'builtin/*.java'], excludes = REPL + IO) + [
    ':builtin_srcs',
    ':system_srcs',
  ],
  deps = [':lang'],
)

pl2j(
  name = 'builtin_srcs',
  src = 'src/builtin/builtins.pl',
  out = 'builtins.src.zip',
)

pl2j(
  name = 'system_srcs',
  src = 'src/builtin/system.pl',
  out = 'system.src.zip',
)

java_library(
  name = 'io',
  srcs = IO + [':io_srcs'],
  deps = [
    ':builtin',
    ':lang',
  ],
)

pl2j(
  name = 'io_srcs',
  src = 'src/builtin/io.pl',
  out = 'io.src.zip',
)

java_library(
  name = 'compiler',
  srcs = glob([SRC + 'compiler/**/*.java']) + [
    ':pl2am_srcs',
    ':am2j_srcs',
  ],
  deps = [
    ':builtin',
    ':io',
    ':lang',
  ],
)

pl2j(
  name = 'pl2am_srcs',
  src = 'src/compiler/pl2am.pl',
  out = 'pl2am.src.zip',
)

pl2j(
  name = 'am2j_srcs',
  src = 'src/compiler/am2j.pl',
  out = 'am2j.src.zip',
)

java_binary(
  name = 'cafeteria',
  main_class = 'com.googlecode.prolog_cafe.repl.PrologMain',
  deps = [':cafeteria_lib'],
)

java_library(
  name = 'cafeteria_lib',
  srcs = glob([SRC + 'repl/*.java']) + REPL + [':cafeteria_srcs'],
  deps = [
    ':builtin',
    ':io',
    ':lang',
  ],
)

pl2j(
  name = 'cafeteria_srcs',
  src = 'src/builtin/cafeteria.pl',
  out = 'cafeteria.src.zip',
)

java_sources(
  name = 'runtime_src',
  srcs = glob([
      SRC + 'builtin/*.java',
      SRC + 'lang/*.java',
    ],
    excludes = REPL + IO
  ) + [
    'src/builtin/builtins.pl',
    'src/builtin/system.pl',
  ],
)

java_sources(
  name = 'io_src',
  srcs = IO + ['src/builtin/io.pl'],
)

java_sources(
  name = 'compiler_src',
  srcs = glob([SRC + 'compiler/**/*.java']) + [
    'src/compiler/pl2am.pl',
    'src/compiler/am2j.pl',
  ],
)

java_sources(
  name = 'cafeteria_src',
  srcs = glob([SRC + 'repl/*.java']) + REPL + [
    'src/builtin/cafeteria.pl',
  ],
)

maven_package(
  group = 'com.googlecode.prolog-cafe',
  version = VERSION,
  repository = 'gerrit-maven-repository',
  url = 'gs://gerrit-maven/',
  jar = {
    'prolog-cafeteria': ':cafeteria_lib',
    'prolog-compiler': ':compiler',
    'prolog-io': ':io',
    'prolog-runtime': ':runtime',
  },
  src = {
    'prolog-cafeteria': ':cafeteria_src',
    'prolog-compiler': ':compiler_src',
    'prolog-io': ':io_src',
    'prolog-runtime': ':runtime_src',
  },
)
