Skip to content
Snippets Groups Projects
Unverified Commit 1dd68e36 authored by Rodrigo Queiro's avatar Rodrigo Queiro Committed by GitHub
Browse files

Allow running rosjava tests from Bazel (#277)

* Regenerate workspace.bzl

* Allow running rosjava tests from Bazel

I used this while debugging #274 to take advantage of Bazel's
--runs_per_test parameter. It allows running a test many times in
parallel to debug concurrency issues.

I also marked testPublicHost as an ignored test to avoid a complaint
from errorprone.
parent dd14240d
Branches
No related tags found
No related merge requests found
# Do not edit. bazel-deps autogenerates this file from dependencies.yaml. # Do not edit. bazel-deps autogenerates this file from dependencies.yaml.
java_library(
name = "actionlib_msgs",
exports = [
"//external:jar/org/ros/rosjava_messages/actionlib_msgs"
],
visibility = [
"//visibility:public"
]
)
java_library(
name = "geometry_msgs",
exports = [
"//external:jar/org/ros/rosjava_messages/geometry_msgs"
],
visibility = [
"//visibility:public"
]
)
java_library(
name = "nav_msgs",
exports = [
"//external:jar/org/ros/rosjava_messages/nav_msgs"
],
runtime_deps = [
"//3rdparty/jvm/org/ros/rosjava_bootstrap:message_generation",
":actionlib_msgs",
":geometry_msgs",
":std_msgs"
],
visibility = [
"//visibility:public"
]
)
java_library( java_library(
name = "rosgraph_msgs", name = "rosgraph_msgs",
exports = [ exports = [
...@@ -15,6 +57,22 @@ java_library( ...@@ -15,6 +57,22 @@ java_library(
java_library(
name = "rosjava_test_msgs",
exports = [
"//external:jar/org/ros/rosjava_messages/rosjava_test_msgs"
],
runtime_deps = [
"//3rdparty/jvm/org/ros/rosjava_bootstrap:message_generation",
":std_msgs"
],
visibility = [
"//visibility:public"
]
)
java_library( java_library(
name = "std_msgs", name = "std_msgs",
exports = [ exports = [
......
...@@ -12,26 +12,36 @@ def declare_maven(hash): ...@@ -12,26 +12,36 @@ def declare_maven(hash):
actual = hash["actual"] actual = hash["actual"]
) )
def maven_dependencies(callback = declare_maven): def list_dependencies():
callback({"artifact": "com.google.code.findbugs:jsr305:1.3.9", "lang": "java", "sha1": "40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf", "repository": "https://jcenter.bintray.com/", "name": "com_google_code_findbugs_jsr305", "actual": "@com_google_code_findbugs_jsr305//jar", "bind": "jar/com/google/code/findbugs/jsr305"}) return [
callback({"artifact": "com.google.guava:guava:12.0", "lang": "java", "sha1": "5bc66dd95b79db1e437eb08adba124a3e4088dc0", "repository": "https://jcenter.bintray.com/", "name": "com_google_guava_guava", "actual": "@com_google_guava_guava//jar", "bind": "jar/com/google/guava/guava"}) {"artifact": "com.google.code.findbugs:jsr305:1.3.9", "lang": "java", "sha1": "40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf", "repository": "https://jcenter.bintray.com/", "name": "com_google_code_findbugs_jsr305", "actual": "@com_google_code_findbugs_jsr305//jar", "bind": "jar/com/google/code/findbugs/jsr305"},
callback({"artifact": "commons-pool:commons-pool:1.6", "lang": "java", "sha1": "4572d589699f09d866a226a14b7f4323c6d8f040", "repository": "https://jcenter.bintray.com/", "name": "commons_pool_commons_pool", "actual": "@commons_pool_commons_pool//jar", "bind": "jar/commons_pool/commons_pool"}) {"artifact": "com.google.guava:guava:12.0", "lang": "java", "sha1": "5bc66dd95b79db1e437eb08adba124a3e4088dc0", "repository": "https://jcenter.bintray.com/", "name": "com_google_guava_guava", "actual": "@com_google_guava_guava//jar", "bind": "jar/com/google/guava/guava"},
callback({"artifact": "dnsjava:dnsjava:2.1.1", "lang": "java", "sha1": "5708df81cf6dbff545695f0be6380b7bbc85accc", "repository": "https://jcenter.bintray.com/", "name": "dnsjava_dnsjava", "actual": "@dnsjava_dnsjava//jar", "bind": "jar/dnsjava/dnsjava"}) {"artifact": "commons-pool:commons-pool:1.6", "lang": "java", "sha1": "4572d589699f09d866a226a14b7f4323c6d8f040", "repository": "https://jcenter.bintray.com/", "name": "commons_pool_commons_pool", "actual": "@commons_pool_commons_pool//jar", "bind": "jar/commons_pool/commons_pool"},
callback({"artifact": "io.netty:netty:3.5.13.Final", "lang": "java", "sha1": "389edea561995909d5df3e70fb2c49954ac79a54", "repository": "https://jcenter.bintray.com/", "name": "io_netty_netty", "actual": "@io_netty_netty//jar", "bind": "jar/io/netty/netty"}) {"artifact": "dnsjava:dnsjava:2.1.1", "lang": "java", "sha1": "5708df81cf6dbff545695f0be6380b7bbc85accc", "repository": "https://jcenter.bintray.com/", "name": "dnsjava_dnsjava", "actual": "@dnsjava_dnsjava//jar", "bind": "jar/dnsjava/dnsjava"},
{"artifact": "io.netty:netty:3.5.13.Final", "lang": "java", "sha1": "389edea561995909d5df3e70fb2c49954ac79a54", "repository": "https://jcenter.bintray.com/", "name": "io_netty_netty", "actual": "@io_netty_netty//jar", "bind": "jar/io/netty/netty"},
# duplicates in junit:junit fixed to 4.8.2 # duplicates in junit:junit fixed to 4.8.2
# - org.apache.ws.commons:ws-commons-util:1.0.1 wanted version 3.8.1
# - dnsjava:dnsjava:2.1.1 wanted version 3.8.2 # - dnsjava:dnsjava:2.1.1 wanted version 3.8.2
callback({"artifact": "junit:junit:4.8.2", "lang": "java", "sha1": "c94f54227b08100974c36170dcb53329435fe5ad", "repository": "https://jcenter.bintray.com/", "name": "junit_junit", "actual": "@junit_junit//jar", "bind": "jar/junit/junit"}) # - org.apache.ws.commons:ws-commons-util:1.0.1 wanted version 3.8.1
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.codec:1.3.0", "lang": "java", "sha1": "f8690570eb0913d750262bb4223eed30b0d619ed", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_codec", "actual": "@org_apache_commons_com_springsource_org_apache_commons_codec//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_codec"}) {"artifact": "junit:junit:4.8.2", "lang": "java", "sha1": "c94f54227b08100974c36170dcb53329435fe5ad", "repository": "https://jcenter.bintray.com/", "name": "junit_junit", "actual": "@junit_junit//jar", "bind": "jar/junit/junit"},
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.httpclient:3.1.0", "lang": "java", "sha1": "c493a925a091ac3d8f449d9265fe12482dabb2a7", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_httpclient", "actual": "@org_apache_commons_com_springsource_org_apache_commons_httpclient//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_httpclient"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.codec:1.3.0", "lang": "java", "sha1": "a7c156ef67bdc69ae36a9c70adf7b8ca2633132c", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_codec", "actual": "@org_apache_commons_com_springsource_org_apache_commons_codec//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_codec"},
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.io:1.4.0", "lang": "java", "sha1": "51097cd000ec88214ff181c9f059947de1cf4a35", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_io", "actual": "@org_apache_commons_com_springsource_org_apache_commons_io//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_io"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.httpclient:3.1.0", "lang": "java", "sha1": "c493a925a091ac3d8f449d9265fe12482dabb2a7", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_httpclient", "actual": "@org_apache_commons_com_springsource_org_apache_commons_httpclient//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_httpclient"},
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.lang:2.4.0", "lang": "java", "sha1": "686e3713650c8e3a5d98723b4d3e239586bf9822", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_lang", "actual": "@org_apache_commons_com_springsource_org_apache_commons_lang//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_lang"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.io:1.4.0", "lang": "java", "sha1": "51097cd000ec88214ff181c9f059947de1cf4a35", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_io", "actual": "@org_apache_commons_com_springsource_org_apache_commons_io//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_io"},
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.logging:1.1.1", "lang": "java", "sha1": "7657caf2c78e1d79c74d36f2ae128a115f7cc180", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_logging", "actual": "@org_apache_commons_com_springsource_org_apache_commons_logging//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_logging"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.lang:2.4.0", "lang": "java", "sha1": "686e3713650c8e3a5d98723b4d3e239586bf9822", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_lang", "actual": "@org_apache_commons_com_springsource_org_apache_commons_lang//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_lang"},
callback({"artifact": "org.apache.commons:com.springsource.org.apache.commons.net:2.0.0", "lang": "java", "sha1": "03e78766072ff5a5cf3f5431d973c430c94ec612", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_net", "actual": "@org_apache_commons_com_springsource_org_apache_commons_net//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_net"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.logging:1.1.1", "lang": "java", "sha1": "7657caf2c78e1d79c74d36f2ae128a115f7cc180", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_logging", "actual": "@org_apache_commons_com_springsource_org_apache_commons_logging//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_logging"},
callback({"artifact": "org.apache.ws.commons:ws-commons-util:1.0.1", "lang": "java", "sha1": "126e80ff798fece634bc94e61f8be8a8da00be60", "repository": "https://jcenter.bintray.com/", "name": "org_apache_ws_commons_ws_commons_util", "actual": "@org_apache_ws_commons_ws_commons_util//jar", "bind": "jar/org/apache/ws/commons/ws_commons_util"}) {"artifact": "org.apache.commons:com.springsource.org.apache.commons.net:2.0.0", "lang": "java", "sha1": "03e78766072ff5a5cf3f5431d973c430c94ec612", "repository": "https://jcenter.bintray.com/", "name": "org_apache_commons_com_springsource_org_apache_commons_net", "actual": "@org_apache_commons_com_springsource_org_apache_commons_net//jar", "bind": "jar/org/apache/commons/com_springsource_org_apache_commons_net"},
callback({"artifact": "org.mockito:mockito-all:1.8.5", "lang": "java", "sha1": "a927d8ae3b8d22eb745a74f94e59ce3882f2b524", "repository": "https://jcenter.bintray.com/", "name": "org_mockito_mockito_all", "actual": "@org_mockito_mockito_all//jar", "bind": "jar/org/mockito/mockito_all"}) {"artifact": "org.apache.ws.commons:ws-commons-util:1.0.1", "lang": "java", "sha1": "126e80ff798fece634bc94e61f8be8a8da00be60", "repository": "https://jcenter.bintray.com/", "name": "org_apache_ws_commons_ws_commons_util", "actual": "@org_apache_ws_commons_ws_commons_util//jar", "bind": "jar/org/apache/ws/commons/ws_commons_util"},
callback({"artifact": "org.ros.rosjava_bootstrap:gradle_plugins:0.3.0", "lang": "java", "sha1": "9915d897f3b5049e99b268068978a1bca0ae7b5d", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_bootstrap_gradle_plugins", "actual": "@org_ros_rosjava_bootstrap_gradle_plugins//jar", "bind": "jar/org/ros/rosjava_bootstrap/gradle_plugins"}) {"artifact": "org.mockito:mockito-all:1.8.5", "lang": "java", "sha1": "a927d8ae3b8d22eb745a74f94e59ce3882f2b524", "repository": "https://jcenter.bintray.com/", "name": "org_mockito_mockito_all", "actual": "@org_mockito_mockito_all//jar", "bind": "jar/org/mockito/mockito_all"},
callback({"artifact": "org.ros.rosjava_bootstrap:message_generation:0.3.0", "lang": "java", "sha1": "5141e448f0ea6a2d6f539219d4fc9b296ff07ca4", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_bootstrap_message_generation", "actual": "@org_ros_rosjava_bootstrap_message_generation//jar", "bind": "jar/org/ros/rosjava_bootstrap/message_generation"}) {"artifact": "org.ros.rosjava_bootstrap:gradle_plugins:0.3.0", "lang": "java", "sha1": "9915d897f3b5049e99b268068978a1bca0ae7b5d", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_bootstrap_gradle_plugins", "actual": "@org_ros_rosjava_bootstrap_gradle_plugins//jar", "bind": "jar/org/ros/rosjava_bootstrap/gradle_plugins"},
callback({"artifact": "org.ros.rosjava_messages:rosgraph_msgs:1.11.2", "lang": "java", "sha1": "adb731dd5181976b23c217872f61c724a3af70fe", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_rosgraph_msgs", "actual": "@org_ros_rosjava_messages_rosgraph_msgs//jar", "bind": "jar/org/ros/rosjava_messages/rosgraph_msgs"}) {"artifact": "org.ros.rosjava_bootstrap:message_generation:0.3.0", "lang": "java", "sha1": "5141e448f0ea6a2d6f539219d4fc9b296ff07ca4", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_bootstrap_message_generation", "actual": "@org_ros_rosjava_bootstrap_message_generation//jar", "bind": "jar/org/ros/rosjava_bootstrap/message_generation"},
callback({"artifact": "org.ros.rosjava_messages:std_msgs:0.5.11", "lang": "java", "sha1": "a0191f0506dfecfc471eb199a119691717801c0e", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_std_msgs", "actual": "@org_ros_rosjava_messages_std_msgs//jar", "bind": "jar/org/ros/rosjava_messages/std_msgs"}) {"artifact": "org.ros.rosjava_messages:actionlib_msgs:1.12.5", "lang": "java", "sha1": "aa70fb74bb8812b9f49cf95d4b44570ae8b951ee", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_actionlib_msgs", "actual": "@org_ros_rosjava_messages_actionlib_msgs//jar", "bind": "jar/org/ros/rosjava_messages/actionlib_msgs"},
callback({"artifact": "xml-apis:xml-apis:1.0.b2", "lang": "java", "sha1": "3136ca936f64c9d68529f048c2618bd356bf85c9", "repository": "https://jcenter.bintray.com/", "name": "xml_apis_xml_apis", "actual": "@xml_apis_xml_apis//jar", "bind": "jar/xml_apis/xml_apis"}) {"artifact": "org.ros.rosjava_messages:geometry_msgs:1.12.5", "lang": "java", "sha1": "0cced5d3f1b4f55a4248884befce7e898856705d", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_geometry_msgs", "actual": "@org_ros_rosjava_messages_geometry_msgs//jar", "bind": "jar/org/ros/rosjava_messages/geometry_msgs"},
{"artifact": "org.ros.rosjava_messages:nav_msgs:1.12.5", "lang": "java", "sha1": "1af629301e0c1e2c5ae5dc5086127d0943f752fb", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_nav_msgs", "actual": "@org_ros_rosjava_messages_nav_msgs//jar", "bind": "jar/org/ros/rosjava_messages/nav_msgs"},
{"artifact": "org.ros.rosjava_messages:rosgraph_msgs:1.11.2", "lang": "java", "sha1": "adb731dd5181976b23c217872f61c724a3af70fe", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_rosgraph_msgs", "actual": "@org_ros_rosjava_messages_rosgraph_msgs//jar", "bind": "jar/org/ros/rosjava_messages/rosgraph_msgs"},
{"artifact": "org.ros.rosjava_messages:rosjava_test_msgs:0.3.0", "lang": "java", "sha1": "d81caa572200690bdeadf5c257f0d09d77623c1a", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_rosjava_test_msgs", "actual": "@org_ros_rosjava_messages_rosjava_test_msgs//jar", "bind": "jar/org/ros/rosjava_messages/rosjava_test_msgs"},
{"artifact": "org.ros.rosjava_messages:std_msgs:0.5.11", "lang": "java", "sha1": "a0191f0506dfecfc471eb199a119691717801c0e", "repository": "https://github.com/rosjava/rosjava_mvn_repo/raw/master", "name": "org_ros_rosjava_messages_std_msgs", "actual": "@org_ros_rosjava_messages_std_msgs//jar", "bind": "jar/org/ros/rosjava_messages/std_msgs"},
{"artifact": "xml-apis:xml-apis:1.0.b2", "lang": "java", "sha1": "3136ca936f64c9d68529f048c2618bd356bf85c9", "repository": "https://jcenter.bintray.com/", "name": "xml_apis_xml_apis", "actual": "@xml_apis_xml_apis//jar", "bind": "jar/xml_apis/xml_apis"},
]
def maven_dependencies(callback = declare_maven):
for hash in list_dependencies():
callback(hash)
...@@ -4,6 +4,15 @@ Maven dependencies must be added to the workspace with bazel-deps. ...@@ -4,6 +4,15 @@ Maven dependencies must be added to the workspace with bazel-deps.
""" """
def rosjava_repositories(): def rosjava_repositories():
_maybe(native.http_archive,
name = "com_googlesource_gerrit_bazlets",
sha256 = "cdd1a90733cdb71ac4fb86aa6027d3fcad275fe74781175f8437a9c86a0db149",
strip_prefix = "bazlets-4459b9706a6eedb8453a98d4434fb3bc4db84211",
urls = [
"https://github.com/GerritCodeReview/bazlets/archive/4459b9706a6eedb8453a98d4434fb3bc4db84211.tar.gz",
],
)
_maybe(native.http_archive, _maybe(native.http_archive,
name = "com_github_rosjava_rosjava_bootstrap", name = "com_github_rosjava_rosjava_bootstrap",
sha256 = "3c59776a8c6e22232d07f29a686c0e5f401812ec27f59405711657d54a792c08", sha256 = "3c59776a8c6e22232d07f29a686c0e5f401812ec27f59405711657d54a792c08",
......
...@@ -72,9 +72,15 @@ dependencies: ...@@ -72,9 +72,15 @@ dependencies:
lang: java lang: java
version: "1.8.5" version: "1.8.5"
org.ros.rosjava_messages: org.ros.rosjava_messages:
nav_msgs:
lang: java
version: "1.12.5"
rosgraph_msgs: rosgraph_msgs:
lang: java lang: java
version: "1.11.2" version: "1.11.2"
rosjava_test_msgs:
lang: java
version: "0.3.0"
std_msgs: std_msgs:
lang: java lang: java
version: "0.5.11" version: "0.5.11"
...@@ -18,3 +18,36 @@ java_library( ...@@ -18,3 +18,36 @@ java_library(
"@com_github_rosjava_rosjava_bootstrap//message_generation", "@com_github_rosjava_rosjava_bootstrap//message_generation",
], ],
) )
java_library(
name = "test_lib",
srcs = [
"src/test/java/org/ros/Assert.java",
],
deps = [
":rosjava",
"//3rdparty/jvm/junit",
],
)
load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests")
junit_tests(
name = "RosjavaTests",
srcs = glob([
"src/test/java/**/*Test.java",
]),
deps = [
":rosjava",
":test_lib",
"//3rdparty/jvm/com/google/guava",
"//3rdparty/jvm/io/netty",
"//3rdparty/jvm/junit",
"//3rdparty/jvm/org/apache/commons:com_springsource_org_apache_commons_logging",
"//3rdparty/jvm/org/mockito:mockito_all",
"//3rdparty/jvm/org/ros/rosjava_messages:nav_msgs",
"//3rdparty/jvm/org/ros/rosjava_messages:rosjava_test_msgs",
"//3rdparty/jvm/org/ros/rosjava_messages:std_msgs",
"@com_github_rosjava_rosjava_bootstrap//message_generation",
],
)
...@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals; ...@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import java.net.InetAddress; import java.net.InetAddress;
...@@ -47,6 +48,7 @@ public class AddressTest { ...@@ -47,6 +48,7 @@ public class AddressTest {
// TODO(damonkohler): This test fails if the host isn't registered with DNS. // TODO(damonkohler): This test fails if the host isn't registered with DNS.
// These tests need to be changed to inject behavior into the // These tests need to be changed to inject behavior into the
// getAllInetAddressesByName() method. // getAllInetAddressesByName() method.
@Test @Ignore
public void testPublicHost() throws UnknownHostException { public void testPublicHost() throws UnknownHostException {
String host = InetAddress.getLocalHost().getCanonicalHostName(); String host = InetAddress.getLocalHost().getCanonicalHostName();
InetAddress publicHost = InetAddressFactory.newFromHostString(host); InetAddress publicHost = InetAddressFactory.newFromHostString(host);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment