CONSTANT_SRCS = [
  'BuckConstant.java',
]
java_library(
  name = 'constants',
  srcs = CONSTANT_SRCS,
  visibility = [ 'PUBLIC' ],
)


EXCEPTION_SRCS = [
  'ExceptionWithHumanReadableMessage.java',
  'HumanReadableException.java',
]
java_library(
  name = 'exceptions',
  srcs = EXCEPTION_SRCS,
  deps = [
    '//lib:guava',
    '//lib:jsr305',
  ],
  visibility = [ 'PUBLIC' ],
)


IO_SRCS = [
  'Ansi.java',
  'Console.java',
  'CapturingPrintStream.java',
  'DefaultDirectoryTraverser.java',
  'DirectoryTraverser.java',
  'DirectoryTraversal.java',
  'DirtyPrintStreamDecorator.java',
  'InputStreamConsumer.java',
  'MoreFiles.java',
  'MorePaths.java',
  'ProcessExecutor.java',
  'ProjectFilesystem.java',
  'Verbosity.java',
]
java_library(
  name = 'io',
  srcs = IO_SRCS,
  deps = [
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/util/environment:environment',
    '//src/com/facebook/buck/zip:stream',
  ],
  visibility = [ 'PUBLIC' ],
)

NETWORK_SRCS = [
  'HttpEndpoint.java',
]
java_library(
  name = 'network',
  srcs = NETWORK_SRCS,
  deps = [
    ':exceptions',
    '//lib:guava',
  ],
  visibility = [ 'PUBLIC' ],
)

java_library(
  name = 'util',
  srcs = glob(
    includes = ['*.java'],
    excludes = CONSTANT_SRCS + EXCEPTION_SRCS + IO_SRCS + NETWORK_SRCS),
  deps = [
    ':constants',
    ':exceptions',
    ':io',
    '//lib:guava',
    '//lib:jsr305',
    '//src/com/facebook/buck/zip:stream',
  ],
  visibility = [
    'PUBLIC',
  ],
)

sh_test(
  name = 'one_project_filesystem_test',
  test = 'one_project_filesystem_test.sh',
)
