Adding script to set up sonar-project.properties
Change-Id: I6820092d57ffe9b47aef14712c522878f6f67b45
diff --git a/bucklets/onos.bucklet b/bucklets/onos.bucklet
index 8636a2a..f0730ea 100644
--- a/bucklets/onos.bucklet
+++ b/bucklets/onos.bucklet
@@ -91,6 +91,31 @@
visibility = visibility,
)
+def sonar(
+ name,
+ test = False
+ ):
+
+ cmd = '; '.join([ 'rm -f $OUT',
+ 'printf "%(src_base)s = " >> $OUT',
+ '%(srcs)s >> $OUT',
+ 'echo "%(binary_base)s = %(classes)s" >> $OUT',
+ 'printf "%(lib_base)s = " >> $OUT',
+ '%(libraries)s >> $OUT'
+ ]) % {
+ 'srcs' : "echo $(srcs :%s) | sed 's/ /,/g'" % name,
+ 'classes' : ("$(bin_dir :%s#non-osgi)" if not test else "$(bin_dir :%s)") % name,
+ 'libraries' : "echo $(classpath :%s) | sed 's/:/,/g'" % name,
+ 'src_base' : 'sonar.sources' if not test else 'sonar.tests',
+ 'binary_base' : 'sonar.java.binaries' if not test else 'sonar.java.test.binaries',
+ 'lib_base' : 'sonar.java.libraries' if not test else 'sonar.java.test.libraries'
+ }
+ # FIXME do we need to specify dep here or with the expander cover it?
+ genrule(
+ name = name + "-sonar",
+ cmd = cmd,
+ out = 'sonar-project.properties'
+ )
def osgi_jar(
name = None,
@@ -206,6 +231,9 @@
out = 'install.log',
visibility = visibility,
)
+ sonar(
+ name = name,
+ )
def osgi_jar_with_tests(
name = None,
@@ -223,14 +251,6 @@
if name is None:
name = _get_name()
- osgi_jar(name = name,
- deps = deps,
- group_id = group_id,
- version = version,
- visibility = visibility,
- tests = [':' + name + '-tests'],
- **kwargs)
-
if test_resources and not test_resources_root:
test_resources_root = TEST_RESOURCES_ROOT
if test_resources_root and not test_resources:
@@ -245,23 +265,44 @@
mvn_coords = group_id + ':' + name + ':jar:tests:' + version
- java_test(
- name = name + '-tests',
- srcs = test_srcs,
- deps = deps +
- test_deps +
- [':' + name + '#non-osgi'],
- resources = test_resources,
- resources_root = test_resources_root,
- maven_coords = mvn_coords,
- visibility = visibility,
- )
+ if test_srcs:
+ java_test(
+ name = name + '-tests',
+ srcs = test_srcs,
+ deps = deps +
+ test_deps +
+ [':' + name + '#non-osgi'],
+ resources = test_resources,
+ resources_root = test_resources_root,
+ maven_coords = mvn_coords,
+ visibility = visibility,
+ )
- checkstyle(
- name = name + '-tests',
- srcs = test_srcs,
- jar_target = ':' + name + '-tests',
- )
+ checkstyle(
+ name = name + '-tests',
+ srcs = test_srcs,
+ jar_target = ':' + name + '-tests',
+ )
+
+ sonar(
+ name = name + '-tests',
+ test = True
+ )
+
+ osgi_jar(name = name,
+ deps = deps,
+ group_id = group_id,
+ version = version,
+ visibility = visibility,
+ tests = [':' + name + '-tests'],
+ **kwargs)
+ else:
+ osgi_jar(name = name,
+ deps = deps,
+ group_id = group_id,
+ version = version,
+ visibility = visibility,
+ **kwargs)
def tar_file(
name,