Merge changes I4212ac32,I09d95176
* changes: Buck: Move gwt-dev transitive deps to first order dependency Buck: Trigger pack_war invocation when one of transitive deps changed
This commit is contained in:
@@ -663,6 +663,8 @@ The following tests should be executed, when Buck version is upgraded:
|
|||||||
* buck build release
|
* buck build release
|
||||||
* buck build api_install
|
* buck build api_install
|
||||||
* buck test
|
* buck test
|
||||||
|
* buck build gerrit, change some sources in gerrit-server project,
|
||||||
|
repeat buck build gerrit and verify that gerrit.war was updated
|
||||||
* install and verify new gerrit site
|
* install and verify new gerrit site
|
||||||
* upgrade and verify existing gerrit site
|
* upgrade and verify existing gerrit site
|
||||||
* reindex existing gerrit site
|
* reindex existing gerrit site
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
include_defs('//gerrit-gwtui/gwt.defs')
|
include_defs('//gerrit-gwtui/gwt.defs')
|
||||||
include_defs('//tools/gwt-constants.defs')
|
include_defs('//tools/gwt-constants.defs')
|
||||||
|
|
||||||
DEPS = [
|
DEPS = GWT_TRANSITIVE_DEPS + [
|
||||||
'//gerrit-gwtexpui:CSS',
|
'//gerrit-gwtexpui:CSS',
|
||||||
'//lib:gwtjsonrpc',
|
'//lib:gwtjsonrpc',
|
||||||
'//lib/gwt:dev',
|
'//lib/gwt:dev',
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ java_doc(
|
|||||||
deps = DEPS + [
|
deps = DEPS + [
|
||||||
'//lib:gwtjsonrpc',
|
'//lib:gwtjsonrpc',
|
||||||
'//lib:gwtorm_client',
|
'//lib:gwtorm_client',
|
||||||
'//lib/gwt:dev__jar',
|
'//lib/gwt:dev',
|
||||||
'//gerrit-gwtui-common:client-lib',
|
'//gerrit-gwtui-common:client-lib',
|
||||||
'//gerrit-common:client',
|
'//gerrit-common:client',
|
||||||
'//gerrit-reviewdb:client',
|
'//gerrit-reviewdb:client',
|
||||||
|
|||||||
13
lib/gwt/BUCK
13
lib/gwt/BUCK
@@ -15,15 +15,6 @@ maven_jar(
|
|||||||
id = 'com.google.gwt:gwt-dev:' + VERSION,
|
id = 'com.google.gwt:gwt-dev:' + VERSION,
|
||||||
sha1 = 'c2c3dd5baf648a0bb199047a818be5e560f48982',
|
sha1 = 'c2c3dd5baf648a0bb199047a818be5e560f48982',
|
||||||
license = 'Apache2.0',
|
license = 'Apache2.0',
|
||||||
exported_deps = [
|
|
||||||
':javax-validation',
|
|
||||||
':javax-validation_src',
|
|
||||||
'//lib/ow2:ow2-asm',
|
|
||||||
'//lib/ow2:ow2-asm-analysis',
|
|
||||||
'//lib/ow2:ow2-asm-commons',
|
|
||||||
'//lib/ow2:ow2-asm-tree',
|
|
||||||
'//lib/ow2:ow2-asm-util',
|
|
||||||
],
|
|
||||||
attach_source = False,
|
attach_source = False,
|
||||||
exclude = ['org/eclipse/jetty/*'],
|
exclude = ['org/eclipse/jetty/*'],
|
||||||
)
|
)
|
||||||
@@ -34,7 +25,7 @@ maven_jar(
|
|||||||
bin_sha1 = 'b6bd7f9d78f6fdaa3c37dae18a4bd298915f328e',
|
bin_sha1 = 'b6bd7f9d78f6fdaa3c37dae18a4bd298915f328e',
|
||||||
src_sha1 = '7a561191db2203550fbfa40d534d4997624cd369',
|
src_sha1 = '7a561191db2203550fbfa40d534d4997624cd369',
|
||||||
license = 'Apache2.0',
|
license = 'Apache2.0',
|
||||||
visibility = [],
|
visibility = ['PUBLIC'],
|
||||||
)
|
)
|
||||||
|
|
||||||
maven_jar(
|
maven_jar(
|
||||||
@@ -54,5 +45,5 @@ maven_jar(
|
|||||||
id = 'org.javassist:javassist:3.18.1-GA',
|
id = 'org.javassist:javassist:3.18.1-GA',
|
||||||
sha1 = 'd9a09f7732226af26bf99f19e2cffe0ae219db5b',
|
sha1 = 'd9a09f7732226af26bf99f19e2cffe0ae219db5b',
|
||||||
license = 'Apache2.0',
|
license = 'Apache2.0',
|
||||||
visibility = [],
|
visibility = ['PUBLIC'],
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -42,15 +42,13 @@ def war(
|
|||||||
):
|
):
|
||||||
cmd = ['$(exe //tools:pack_war)', '-o', '$OUT', '--tmp', '$TMP']
|
cmd = ['$(exe //tools:pack_war)', '-o', '$OUT', '--tmp', '$TMP']
|
||||||
for l in libs:
|
for l in libs:
|
||||||
cmd.extend(['--lib', l])
|
cmd.extend(['--lib', '$(classpath %s)' % l])
|
||||||
for l in pgmlibs:
|
for l in pgmlibs:
|
||||||
cmd.extend(['--pgmlib', l])
|
cmd.extend(['--pgmlib', '$(classpath %s)' % l])
|
||||||
|
|
||||||
dep = []
|
|
||||||
if docs:
|
if docs:
|
||||||
cmd.append('$(location %s)' % DOCS_HTML)
|
cmd.append('$(location %s)' % DOCS_HTML)
|
||||||
dep.append(DOCS_LIB)
|
cmd.extend(['--lib', '$(classpath %s)' % DOCS_LIB])
|
||||||
cmd.extend(['--lib', DOCS_LIB])
|
|
||||||
if context:
|
if context:
|
||||||
for t in context:
|
for t in context:
|
||||||
cmd.append('$(location %s)' % t)
|
cmd.append('$(location %s)' % t)
|
||||||
@@ -58,7 +56,6 @@ def war(
|
|||||||
genrule(
|
genrule(
|
||||||
name = name,
|
name = name,
|
||||||
cmd = ' '.join(cmd),
|
cmd = ' '.join(cmd),
|
||||||
deps = libs + pgmlibs + dep,
|
|
||||||
out = name + '.war',
|
out = name + '.war',
|
||||||
visibility = visibility,
|
visibility = visibility,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ def gerrit_plugin(
|
|||||||
gwt_binary(
|
gwt_binary(
|
||||||
name = name + '__gwt_application',
|
name = name + '__gwt_application',
|
||||||
modules = [gwt_module],
|
modules = [gwt_module],
|
||||||
deps = GWT_PLUGIN_DEPS + ['//lib/gwt:dev'],
|
deps = GWT_PLUGIN_DEPS + GWT_TRANSITIVE_DEPS + ['//lib/gwt:dev'],
|
||||||
module_deps = [':%s__gwt_module' % name],
|
module_deps = [':%s__gwt_module' % name],
|
||||||
local_workers = cpu_count(),
|
local_workers = cpu_count(),
|
||||||
strict = True,
|
strict = True,
|
||||||
|
|||||||
@@ -12,3 +12,13 @@ GWT_PLUGIN_DEPS = [
|
|||||||
'//gerrit-plugin-gwtui:gwtui-api-lib',
|
'//gerrit-plugin-gwtui:gwtui-api-lib',
|
||||||
'//lib/gwt:user',
|
'//lib/gwt:user',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
GWT_TRANSITIVE_DEPS = [
|
||||||
|
'//lib/gwt:javax-validation',
|
||||||
|
'//lib/gwt:javax-validation_src',
|
||||||
|
'//lib/ow2:ow2-asm',
|
||||||
|
'//lib/ow2:ow2-asm-analysis',
|
||||||
|
'//lib/ow2:ow2-asm-commons',
|
||||||
|
'//lib/ow2:ow2-asm-tree',
|
||||||
|
'//lib/ow2:ow2-asm-util',
|
||||||
|
]
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
from os import chdir, makedirs, path, symlink
|
from os import chdir, makedirs, path, symlink
|
||||||
from subprocess import check_call, check_output
|
from subprocess import check_call
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
opts = OptionParser()
|
opts = OptionParser()
|
||||||
@@ -30,17 +30,14 @@ war = args.tmp
|
|||||||
root = war[:war.index('buck-out')]
|
root = war[:war.index('buck-out')]
|
||||||
jars = set()
|
jars = set()
|
||||||
|
|
||||||
|
def prune(l):
|
||||||
|
return [j[j.find('buck-out'):] for e in l for j in e.split(':')]
|
||||||
|
|
||||||
def link_jars(libs, directory):
|
def link_jars(libs, directory):
|
||||||
makedirs(directory)
|
makedirs(directory)
|
||||||
while not path.isfile('.buckconfig'):
|
while not path.isfile('.buckconfig'):
|
||||||
chdir('..')
|
chdir('..')
|
||||||
try:
|
for j in libs:
|
||||||
cp = check_output(['buck', 'audit', 'classpath'] + libs)
|
|
||||||
except Exception as e:
|
|
||||||
print('call to buck audit failed: %s' % e, file=sys.stderr)
|
|
||||||
exit(1)
|
|
||||||
for j in cp.strip().splitlines():
|
|
||||||
if j not in jars:
|
if j not in jars:
|
||||||
jars.add(j)
|
jars.add(j)
|
||||||
n = path.basename(j)
|
n = path.basename(j)
|
||||||
@@ -49,9 +46,9 @@ def link_jars(libs, directory):
|
|||||||
symlink(path.join(root, j), path.join(directory, n))
|
symlink(path.join(root, j), path.join(directory, n))
|
||||||
|
|
||||||
if args.lib:
|
if args.lib:
|
||||||
link_jars(args.lib, path.join(war, 'WEB-INF', 'lib'))
|
link_jars(prune(args.lib), path.join(war, 'WEB-INF', 'lib'))
|
||||||
if args.pgmlib:
|
if args.pgmlib:
|
||||||
link_jars(args.pgmlib, path.join(war, 'WEB-INF', 'pgm-lib'))
|
link_jars(prune(args.pgmlib), path.join(war, 'WEB-INF', 'pgm-lib'))
|
||||||
try:
|
try:
|
||||||
for s in ctx:
|
for s in ctx:
|
||||||
check_call(['unzip', '-q', '-d', war, s])
|
check_call(['unzip', '-q', '-d', war, s])
|
||||||
|
|||||||
Reference in New Issue
Block a user