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 + 'exceptions/*.java',
      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',
  },
)
