forked from twitter-archive/commons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD.tools
113 lines (83 loc) · 3.36 KB
/
BUILD.tools
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# ==================================================================================================
# Copyright 2014 Twitter, Inc.
# --------------------------------------------------------------------------------------------------
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this work except in compliance with the License.
# You may obtain a copy of the License in the LICENSE file, or at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==================================================================================================
def make_lib(org, name, rev, lib_name=None, excludes=None, intransitive=False, jars=None, deps=None):
lib_name = lib_name or name
jar_dep = jar(org=org, name=name, rev=rev, intransitive=intransitive)
jar_library(name=lib_name, jars=[jar_dep] + (jars or []), dependencies=deps or [])
make_lib('com.martiansoftware', 'nailgun-server', '0.9.1')
# AntlrGen
make_lib('org.antlr', 'antlr', '3.4', lib_name='antlr-3.4')
make_lib('org.antlr', 'antlr', '4.2.2', lib_name='antlr-4')
# ScroogeGen
make_lib('com.twitter', name='scrooge-generator_2.9.2', rev='3.16.3', lib_name='scrooge-gen')
# ThriftLinter
make_lib('com.twitter', name='scrooge-linter_2.9.2', rev='3.16.3', lib_name='scrooge-linter')
# IvyResolve
make_lib('xalan', 'xalan', '2.7.1')
# JavaCompile
make_lib('org.pantsbuild', 'jmake', '1.3.8-10')
make_lib('org.pantsbuild.tools.compiler', 'java-compiler', '0.0.1')
# ScalaCompile
make_lib('org.pantsbuild', 'zinc', '1.0.7')
# We just want the single compiler-interface and sbt-interface jars and not their deps on
# scala-lang.
jar_library(
name='compiler-interface',
jars=[
jar('com.typesafe.sbt', 'compiler-interface', '0.13.8', classifier='sources', intransitive=True)
]
)
make_lib('com.typesafe.sbt', 'sbt-interface', '0.13.8', intransitive=True)
target(name='scala-compiler',
dependencies=[
'3rdparty/jvm/org/scala-lang:scala-compiler'
]
)
target(name='scala-library',
dependencies=[
'3rdparty/jvm/org/scala-lang:scala-library'
]
)
# Checkstyle
make_lib('com.puppycrawl.tools', 'checkstyle', '5.7', lib_name='checkstyle',
jars=[
jar(org='com.twitter.common', name='checkstyle', rev='0.0.7')
],
excludes=[
exclude(org='com.google.guava', name='guava')
]
)
# Scalastyle
make_lib('org.scalastyle', 'scalastyle_2.9.3', '0.3.2', lib_name='scalastyle')
# JunitRun
make_lib('org.pantsbuild', 'junit-runner', '0.0.8', lib_name='junit')
make_lib('emma', 'emma', '2.1.5320')
# BenchmarkRun
make_lib('com.google.caliper', 'caliper', '0.5-rc1', lib_name='benchmark-caliper-0.5',
excludes=[
exclude(org='com.google.guava', name='guava')
]
)
make_lib('com.google.code.java-allocation-instrumenter', 'java-allocation-instrumenter', '2.1',
lib_name='benchmark-java-allocation-instrumenter-2.1', intransitive=True)
# ScalaRepl
make_lib('org.scala-lang', 'scala-compiler', '2.10.5', lib_name='scala-repl',
jars=[
jar(org='org.scala-lang', name='jline', rev='2.10.5'),
]
)
# Tool Auto-shading
make_lib('org.pantsbuild.jarjar', 'jarjar', '1.5')