blob: 5ecd61defe4283691ff03af57911839fc39c3c8a [file] [log] [blame]
GERRIT = 'http://gerrit-maven.commondatastorage.googleapis.com'
MAVEN_CENTRAL = 'http://repo1.maven.org/maven2'
def define_license(name):
n = 'LICENSE-' + name
genrule(
name = n,
cmd = 'ln -f $SRCS $OUT',
srcs = [n],
out = n + '.txt',
visibility = ['PUBLIC'],
)
def maven_jar(
name,
group, artifact, version,
license,
exclude = [],
exclude_java_sources = False,
deps = [],
sha1 = '',
classifier = None,
repository = MAVEN_CENTRAL,
visibility = ['PUBLIC']):
url = '/'.join([
repository,
group.replace('.', '/'),
artifact,
version,
artifact + '-' + version])
jar = artifact.lower() + '-' + version
if classifier:
url += '-' + classifier
jar += '-' + classifier
downloaded_jar(
name = name,
url = url + '.jar',
jar = jar + '.jar',
license = license,
exclude = exclude,
exclude_java_sources = exclude_java_sources,
deps = deps,
sha1 = sha1,
visibility = visibility,
)
def downloaded_jar(
name,
url,
jar,
license,
exclude = [],
exclude_java_sources = False,
deps = [],
sha1 = '',
visibility = ['PUBLIC']):
cmd = ['${//lib:download_jar}', '-o', '$OUT', '-u', url]
if sha1:
cmd += ['-v', sha1]
if exclude:
cmd += ['-x'] + exclude
if exclude_java_sources:
cmd += ['--exclude_java_sources']
genrule(
name = name + '.download',
cmd = ' '.join(cmd),
srcs = [],
deps = ['//lib:download_jar'],
out = jar,
)
prebuilt_jar(
name = name,
deps = deps + [
':' + name + '.download',
'//lib:LICENSE-' + license,
],
binary_jar = genfile(jar),
visibility = visibility,
)