COMPILE_DEPS = [
    '//lib:CORE_DEPS',
    '//lib:libthrift',
]

# BMV2_COMMIT should be set to the same value as specified in install-p4-tools.sh
BMV2_COMMIT = 'a3f0ebe4c0f10a656f8aa1ad68cb20402a62b0ee'
BMV2_BASEURL = 'https://cdn.rawgit.com/p4lang/behavioral-model/' + BMV2_COMMIT
BMV2_NAMESPACE = 'org.onosproject.bmv2.thriftapi'

THRIFT_EXE_BASEURL = 'https://cdn.rawgit.com/ccascone/mvn-thrift-compiler/1.1_0.9.3/exe/'
THRIFT_EXE_SHA1S = {
    'thrift-linux-x86_64.exe':'9b7b5d6eabc9552b8227e8f63981bc15c0985dd5',
    'thrift-osx-x86_64.exe':'b9215c5141f56fd277b7cf41d9745af847afe498'
}

def prebuilt_thrift_compiler():
    import platform
    os_name = platform.system().lower()
    if os_name == 'darwin':
        os_name = 'osx'
    arch = '%s-%s' % (os_name, platform.machine())
    fname = 'thrift-%s.exe' % arch
    if fname not in THRIFT_EXE_SHA1S:
        raise Exception('Cannot download thrift compiler, architecture %s not supported' % arch)
    remote_file(
        name = 'thrift-binary',
        out = 'thrift.binary',
        url = THRIFT_EXE_BASEURL + fname,
        sha1 = THRIFT_EXE_SHA1S[fname],
    )
    genrule (
        name = 'thrift-exe',
        srcs = [ ':thrift-binary' ],
        bash = 'cp $(location :thrift-binary) $OUT && chmod +x $OUT',
        executable = True,
        out = 'thrift.exe'
    )

prebuilt_thrift_compiler()

# TODO: or export local thrift executable
# export_file(
#       name = 'thrift-exe',
#       src = '/usr/bin/thrift',
#     )

def remote_thrift_def(
    name,
    url,
    sha1):
    # Download *.thrift definition file.
    remote_file(
        name = name + '-rem',
        out = name + '.thrift',
        url = url,
        sha1 = sha1,
    )
    # Add java namespace.
    genrule (
        name = name+'-ns',
        srcs = [':' + name + '-rem'],
        bash = 'cp $(location :' + name + '-rem) $OUT && '
                + 'echo "namespace java ' + BMV2_NAMESPACE + '" | '
                + 'cat - $OUT > temp && mv temp $OUT',
        out = name + '.thrift',
    )
    # Generate Java sources.
    genrule (
        name = name+'-gen',
        srcs = [':' + name + '-ns'],
        # FIXME: is there a better way to get just the output dir of this rule?
        # ...not the full file path in $OUT
        cmd = '$(exe :thrift-exe) -o $SRCDIR/../' + name + '-gen '
                + '--gen java $SRCDIR/' + name + '.thrift',
        out = 'gen-java',
    )
    # Zip them.
    zip_file(
        name = name,
        out = name + '.src.zip',
        srcs = [':' + name + '-gen']
    )


remote_thrift_def(
    name = 'simple_pre_lag',
    url = BMV2_BASEURL + '/thrift_src/simple_pre_lag.thrift',
    sha1 = 'f468ebebc7bb8577f11ca950939f34add5f5634c',
)

osgi_jar(
    # If a source ending with *.src.zip is passed, Buck automatically looks for *.java files inside.
    srcs = [':simple_pre_lag'],
    deps = COMPILE_DEPS,
    do_javadocs = False,
    do_checkstyle = False
)

project_config(
    src_target = ':onos-protocols-bmv2-thrift-api'
)
