From 5519e892e22c7f6fd8da068ff7ab876ee3161faf Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Mon, 16 Oct 2017 15:40:50 +0000 Subject: Use new C++ document selection parser Based on Flex/Bison and replaces old Spirit.Classic parser. New parser is pure and does not require any locking, unlike the previous implementation. This also removes parsing of the deprecated searchcolumn feature. Adds build-time dependencies on Flex and Bison. --- document/src/tests/bucketselectortest.cpp | 2 - document/src/tests/documentselectparsertest.cpp | 510 +++++-- .../src/vespa/document/bucket/bucketselector.cpp | 26 - document/src/vespa/document/select/.gitignore | 3 + document/src/vespa/document/select/CMakeLists.txt | 16 +- document/src/vespa/document/select/branch.cpp | 6 +- .../src/vespa/document/select/cloningvisitor.cpp | 12 +- .../src/vespa/document/select/cloningvisitor.h | 1 - document/src/vespa/document/select/constant.cpp | 24 +- document/src/vespa/document/select/constant.h | 9 +- document/src/vespa/document/select/gid_filter.cpp | 1 - .../src/vespa/document/select/grammar/lexer.ll | 182 +++ .../src/vespa/document/select/grammar/parser.yy | 374 +++++ document/src/vespa/document/select/node.h | 3 +- .../src/vespa/document/select/orderingselector.cpp | 1 - document/src/vespa/document/select/parse_utils.cpp | 37 + document/src/vespa/document/select/parse_utils.h | 17 + document/src/vespa/document/select/parser.cpp | 1498 +------------------- document/src/vespa/document/select/parser.h | 45 +- .../document/select/parsing_failed_exception.cpp | 9 + .../document/select/parsing_failed_exception.h | 10 + document/src/vespa/document/select/scanner.h | 21 + .../vespa/document/select/traversingvisitor.cpp | 6 - .../src/vespa/document/select/traversingvisitor.h | 1 - document/src/vespa/document/select/valuenodes.cpp | 128 +- document/src/vespa/document/select/valuenodes.h | 90 +- document/src/vespa/document/select/visitor.h | 3 - 27 files changed, 1238 insertions(+), 1797 deletions(-) create mode 100644 document/src/vespa/document/select/grammar/lexer.ll create mode 100644 document/src/vespa/document/select/grammar/parser.yy create mode 100644 document/src/vespa/document/select/parse_utils.cpp create mode 100644 document/src/vespa/document/select/parse_utils.h create mode 100644 document/src/vespa/document/select/parsing_failed_exception.cpp create mode 100644 document/src/vespa/document/select/parsing_failed_exception.h create mode 100644 document/src/vespa/document/select/scanner.h (limited to 'document') diff --git a/document/src/tests/bucketselectortest.cpp b/document/src/tests/bucketselectortest.cpp index 0f8520745f1..e0857a32dba 100644 --- a/document/src/tests/bucketselectortest.cpp +++ b/document/src/tests/bucketselectortest.cpp @@ -85,8 +85,6 @@ void BucketSelectorTest::testSimple() ASSERT_BUCKET_COUNT("id.bucket == 0x4000000000000258", 1u); // Bucket 600 ASSERT_BUCKET_COUNT("(testdoctype1 and id.bucket=0)", 1u); - ASSERT_BUCKET_COUNT("searchcolumn.3 = 1", 21845u); - // Check that the correct buckets is found ASSERT_BUCKET("id = \"userdoc:ns:123:foobar\"", document::BucketId(58, 123)); diff --git a/document/src/tests/documentselectparsertest.cpp b/document/src/tests/documentselectparsertest.cpp index c5715ae5114..db7b48cdc3a 100644 --- a/document/src/tests/documentselectparsertest.cpp +++ b/document/src/tests/documentselectparsertest.cpp @@ -1,6 +1,5 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - #include #include #include @@ -12,12 +11,16 @@ #include #include #include +#include #include #include #include #include #include #include +#include +#include +#include using namespace document::config_builder; @@ -34,6 +37,15 @@ class DocumentSelectParserTest : public CppUnit::TestFixture { CPPUNIT_TEST(testThatComplexFieldValuesHaveCorrectFieldNames); CPPUNIT_TEST(testBodyFieldDetection); CPPUNIT_TEST(testDocumentUpdates); + CPPUNIT_TEST(test_syntax_error_reporting); + CPPUNIT_TEST(test_operator_precedence); + CPPUNIT_TEST(test_token_used_as_ident_preserves_casing); + CPPUNIT_TEST(test_ambiguous_field_spec_expression_is_handled_correctly); + CPPUNIT_TEST(test_can_build_field_value_from_field_expr_node); + CPPUNIT_TEST(test_can_build_function_call_from_field_expr_node); + CPPUNIT_TEST(test_function_call_on_doctype_throws_exception); + CPPUNIT_TEST(test_parse_utilities_handle_well_formed_input); + CPPUNIT_TEST(test_parse_utilities_handle_malformed_input); CPPUNIT_TEST_SUITE_END(); BucketIdFactory _bucketIdFactory; @@ -51,11 +63,13 @@ class DocumentSelectParserTest : public CppUnit::TestFixture { const std::string& hstr); std::unique_ptr - parseFieldValue(const std::string expression); + parseFieldValue(const std::string& expression); template select::ResultList doParse(const vespalib::stringref& expr, const ContainsType& t); + + std::string parse_to_tree(const std::string& str); public: DocumentSelectParserTest() @@ -88,7 +102,15 @@ public: void testDocumentUpdates2(); void testDocumentUpdates3(); void testDocumentUpdates4(); - void testDocumentUpdates5(); + void test_syntax_error_reporting(); + void test_operator_precedence(); + void test_token_used_as_ident_preserves_casing(); + void test_ambiguous_field_spec_expression_is_handled_correctly(); + void test_can_build_field_value_from_field_expr_node(); + void test_can_build_function_call_from_field_expr_node(); + void test_function_call_on_doctype_throws_exception(); + void test_parse_utilities_handle_well_formed_input(); + void test_parse_utilities_handle_malformed_input(); }; CPPUNIT_TEST_SUITE_REGISTRATION(DocumentSelectParserTest); @@ -111,9 +133,9 @@ void DocumentSelectParserTest::setUp() builder.document(-1673092522, "usergroup", Struct("usergroup.header"), Struct("usergroup.body")); - _repo.reset(new DocumentTypeRepo(builder.config())); + _repo = std::make_unique(builder.config()); - _parser.reset(new select::Parser(*_repo, _bucketIdFactory)); + _parser = std::make_unique(*_repo, _bucketIdFactory); } Document::SP DocumentSelectParserTest::createDoc( @@ -319,11 +341,45 @@ void verifyParse(const std::string& query, const char* expected = 0) { } } +void DocumentSelectParserTest::test_syntax_error_reporting() { + createDocs(); + + verifyFailedParse("testdoctype1.headerval == aaa", "ParsingFailedException: " + "syntax error, unexpected end of input, expecting . at column 30 " + "when parsing selection 'testdoctype1.headerval == aaa'"); + // TODO improve error reporting of broken escape sequences. Current error messages + // are not too helpful since we simply fail to parse the string token altogether. + verifyFailedParse("testdoctype1.headerval == \"tab\\x0notcomplete\"", + "ParsingFailedException: Unexpected character: '\\\"' at column 27 " + "when parsing selection 'testdoctype1.headerval == \"tab\\x0notcomplete\"'"); + verifyFailedParse("testdoctype1.headerval == \"tab\\ysf\"", + "ParsingFailedException: Unexpected character: '\\\"' at column 27 " + "when parsing selection 'testdoctype1.headerval == \"tab\\ysf\"'"); + // Test illegal operator + verifyFailedParse("testdoctype1.headerval <> 12", "ParsingFailedException: syntax error, " + "unexpected > at column 25 when parsing selection 'testdoctype1.headerval <> 12'"); + + // This will trigger a missing doctype error instead of syntax error, as "fal" + // will be reduced into a doctype rule. + verifyFailedParse("fal se", "ParsingFailedException: Document type 'fal' " + "not found at column 1 when parsing selection 'fal se'"); + + verifyFailedParse("mytype", "ParsingFailedException: Document type 'mytype' not found"); + + verifyFailedParse("mytype.foo.bar", "ParsingFailedException: Document type 'mytype' not found"); + + verifyFailedParse("testdoctype1 == 8", "ParsingFailedException: syntax error, unexpected ==, " + "expecting end of input at column 14 when parsing selection 'testdoctype1 == 8'"); + + verifyFailedParse("(1 + 2)", "ParsingFailedException: expected field spec, " + "doctype, bool or comparison at column 1 when parsing selection '(1 + 2)'"); +} + void DocumentSelectParserTest::testParseTerminals() { createDocs(); - // Test number value + // Test number value verifyParse("", "true"); verifyParse("testdoctype1.headerval == 123"); verifyParse("testdoctype1.headerval == +123.53", "testdoctype1.headerval == 123.53"); @@ -332,10 +388,8 @@ void DocumentSelectParserTest::testParseTerminals() "testdoctype1.headerval == 2.34124e+08"); verifyParse("testdoctype1.headerval == -234123.523E-3", "testdoctype1.headerval == -234.124"); - verifyFailedParse("testdoctype1.headerval == aaa", "ParsingFailedException: " - "Unexpected token at position 23 ('== aaa') in query " - "'testdoctype1.headerval == aaa', at fullParse in "); - // Test string value + + // Test string value verifyParse("testdoctype1.headerval == \"test\""); std::unique_ptr node( _parser->parse("testdoctype1.headerval == \"test\"")); @@ -345,64 +399,46 @@ void DocumentSelectParserTest::testParseTerminals() dynamic_cast(compnode.getLeft())); const select::StringValueNode& vnode( dynamic_cast(compnode.getRight())); - /* - CPPUNIT_ASSERT_EQUAL(vespalib::string("testdoctype1"), - fnode.getDocType()->getName()); - */ + CPPUNIT_ASSERT_EQUAL(vespalib::string("headerval"), fnode.getFieldName()); CPPUNIT_ASSERT_EQUAL(vespalib::string("test"), vnode.getValue()); - // Test whitespace + // Test whitespace verifyParse("testdoctype1.headerval == \"te st \""); verifyParse(" \t testdoctype1.headerval\t== \t \"test\"\t", "testdoctype1.headerval == \"test\""); - // Test escaping + // Test escaping verifyParse("testdoctype1.headerval == \"tab\\ttest\""); verifyParse("testdoctype1.headerval == \"tab\\x09test\"", "testdoctype1.headerval == \"tab\\ttest\""); verifyParse("testdoctype1.headerval == \"tab\\x055test\""); - verifyFailedParse("testdoctype1.headerval == \"tab\\x0notcomplete\"", - "ParsingFailedException: Unexpected token at position 23 " - "('== \"tab\\x0') in query 'testdoctype1.headerval == \"tab\\x0notcomplete\"', " - "at fullParse in "); - verifyFailedParse("testdoctype1.headerval == \"tab\\ysf\"", - "ParsingFailedException: Unexpected token at position 23 " - "('== \"tab\\ys') in query 'testdoctype1.headerval == \"tab\\ysf\"', " - "at fullParse in "); node = _parser->parse("testdoctype1.headerval == \"\\tt\\x48 \\n\""); select::Compare& escapednode(dynamic_cast(*node)); const select::StringValueNode& escval( dynamic_cast(escapednode.getRight())); CPPUNIT_ASSERT_EQUAL(vespalib::string("\ttH \n"), escval.getValue()); - // Test illegal operator - verifyFailedParse("testdoctype1.headerval <> 12", "ParsingFailedException: Unexpected" - " token at position 23 ('<> 12') in query 'testdoctype1.headerval <> 12', at"); - // Test <= <, > >= + // Test <= <, > >= verifyParse("testdoctype1.headerval >= 123"); verifyParse("testdoctype1.headerval > 123"); verifyParse("testdoctype1.headerval <= 123"); verifyParse("testdoctype1.headerval < 123"); verifyParse("testdoctype1.headerval != 123"); - // Test defined + // Test defined verifyParse("testdoctype1.headerval", "testdoctype1.headerval != null"); - // Test bools - verifyParse("TRUE"); - verifyParse("FALSE"); + // Test bools + verifyParse("TRUE", "true"); + verifyParse("FALSE", "false"); verifyParse("true"); verifyParse("false"); - verifyParse("faLSe"); - verifyFailedParse("fal se", "ParsingFailedException: Unexpected token at " - "position 4 ('se') in query 'fal se', at"); + verifyParse("faLSe", "false"); - // Test document types + // Test document types verifyParse("testdoctype1"); - verifyFailedParse("mytype", "ParsingFailedException: Document type mytype " - "not found"); verifyParse("_test_doctype3_"); verifyParse("_test_doctype3_._only_in_child_ == 0"); - // Test document id with simple parser. + // Test document id with simple parser. verifySimpleParse("id == \"userdoc:ns:mytest\""); verifySimpleParse("id.namespace == \"myspace\""); verifySimpleParse("id.scheme == \"userdoc\""); @@ -411,7 +447,7 @@ void DocumentSelectParserTest::testParseTerminals() verifySimpleParse("id.user == 1234"); verifySimpleParse("id.user == 0x12456ab", "id.user == 19158699"); - // Test document id + // Test document id verifyParse("id == \"userdoc:ns:mytest\""); verifyParse("id.namespace == \"myspace\""); verifyParse("id.scheme == \"userdoc\""); @@ -429,28 +465,23 @@ void DocumentSelectParserTest::testParseTerminals() "id.bucket == -9223372036854775566"); verifyParse("id.gid == \"gid(0xd755743aea262650274d70f0)\""); - // Test search column - verifyParse("searchcolumn.10 == 2"); - - // Test other operators + // Test other operators verifyParse("id.scheme = \"*doc\""); verifyParse("testdoctype1.hstringval =~ \"(john|barry|shrek)\""); - // Verify functions + // Verify functions verifyParse("id.hash() == 124"); verifyParse("id.specific.hash() == 124"); verifyParse("testdoctype1.hstringval.lowercase() == \"chang\""); verifyParse("testdoctype1.hstringval.lowercase().hash() == 124"); - verifyFailedParse("testdoctype1 == 8", "ParsingFailedException: Unexpected token" - " at position 13 ('== 8') in query 'testdoctype1 == 8', at fullParse in "); verifyParse("testdoctype1.hintval > now()"); verifyParse("testdoctype1.hintval > now().abs()"); - // Value grouping + // Value grouping verifyParse("(123) < (200)"); verifyParse("(\"hmm\") < (id.scheme)"); - // Arithmetics + // Arithmetics verifyParse("1 + 2 > 1"); verifyParse("1 - 2 > 1"); verifyParse("1 * 2 > 1"); @@ -459,11 +490,11 @@ void DocumentSelectParserTest::testParseTerminals() verifyParse("(1 + 2) * (4 - 2) == 1"); verifyParse("23 + 643 / 34 % 10 > 34"); - // CJK stuff + // CJK stuff verifyParse("testdoctype1.hstringval = \"\xE4\xB8\xBA\xE4\xBB\x80\"", "testdoctype1.hstringval = \"\\xe4\\xb8\\xba\\xe4\\xbb\\x80\""); - // Strange doctype names + // Strange doctype names verifyParse("notandor"); verifyParse("ornotand"); verifyParse("andornot"); @@ -475,16 +506,16 @@ void DocumentSelectParserTest::testParseBranches() { createDocs(); - verifyParse("TRUE or FALSE aNd FALSE oR TRUE"); - verifyParse("TRUE and FALSE or FALSE and TRUE"); - verifyParse("TRUE or FALSE and FALSE or TRUE"); - verifyParse("(TRUE or FALSE) and (FALSE or TRUE)"); + verifyParse("TRUE or FALSE aNd FALSE oR TRUE", "true or false and false or true"); + verifyParse("TRUE and FALSE or FALSE and TRUE", "true and false or false and true"); + verifyParse("TRUE or FALSE and FALSE or TRUE", "true or false and false or true"); + verifyParse("(TRUE or FALSE) and (FALSE or TRUE)", "(true or false) and (false or true)"); verifyParse("true or (not false) and not true"); - // Test number branching with node branches + // Test number branching with node branches verifyParse("((243) < 300 and (\"FOO\").lowercase() == (\"foo\"))"); - // Strange doctype names + // Strange doctype names verifyParse("notandor and ornotand"); verifyParse("ornotand or andornot"); verifyParse("not andornot"); @@ -554,7 +585,7 @@ void DocumentSelectParserTest::testOperators0() std::cerr << ost.str() << "\n"; } // */ - // Check that comparison operators work. + // Check that comparison operators work. PARSE("", *_doc[0], True); PARSE("30 < 10", *_doc[0], False); PARSE("10 < 30", *_doc[0], True); @@ -593,7 +624,7 @@ void DocumentSelectParserTest::testOperators1() { createDocs(); - // Mix of types should within numbers, but otherwise not match + // Mix of types should within numbers, but otherwise not match PARSE("30 < 10.2", *_doc[0], False); PARSE("10.2 < 30", *_doc[0], True); PARSE("30 < \"foo\"", *_doc[0], Invalid); @@ -606,7 +637,7 @@ void DocumentSelectParserTest::testOperators1() PARSE("14.3 == null", *_doc[0], False); PARSE("null = 0", *_doc[0], False); - // Field values + // Field values PARSE("testdoctype1.headerval = 24", *_doc[0], True); PARSE("testdoctype1.headerval = 24", *_doc[1], False); PARSE("testdoctype1.headerval = 13", *_doc[0], False); @@ -625,11 +656,11 @@ void DocumentSelectParserTest::testOperators1() PARSE("testdoctype1.byteweightedset == 7", *_doc[1], False); PARSE("testdoctype1.byteweightedset == 5", *_doc[1], True); - // Document types + // Document types PARSE("testdoctype1", *_doc[0], True); PARSE("testdoctype2", *_doc[0], False); - // Inherited doctypes + // Inherited doctypes PARSE("testdoctype2", *_doc[4], True); PARSE("testdoctype2", *_doc[3], False); PARSE("testdoctype1", *_doc[4], True); @@ -640,7 +671,7 @@ void DocumentSelectParserTest::testOperators2() { createDocs(); - // Id values + // Id values PARSEI("id == \"doc:myspace:anything\"", *_doc[0], True); PARSEI(" iD== \"doc:myspace:anything\" ", *_doc[0], True); PARSEI("id == \"doc:myspa:nything\"", *_doc[0], False); @@ -702,16 +733,13 @@ void DocumentSelectParserTest::testOperators3() PARSEI("id.user = 1234", *_doc[8], True); PARSEI("id.group == \"1234\"", *_doc[8], True); PARSEI("id.group == \"mygroup\"", *_doc[9], True); - - // Searchcolumn policy - PARSE("searchcolumn.10 == 8", *_doc[0], True); } void DocumentSelectParserTest::testOperators4() { createDocs(); - // Branch operators + // Branch operators PARSEI("true and false", *_doc[0], False); PARSEI("true and true", *_doc[0], True); PARSEI("true or false", *_doc[0], True); @@ -723,7 +751,7 @@ void DocumentSelectParserTest::testOperators4() PARSEI("true and not false or false", *_doc[0], True); PARSEI("((243 < 300) and (\"FOO\".lowercase() == \"foo\"))", *_doc[0], True); - // Invalid branching. testdoctype1.content = 1 is invalid + // Invalid branching. testdoctype1.content = 1 is invalid PARSE("testdoctype1.content = 1 and true", *_doc[0], Invalid); PARSE("testdoctype1.content = 1 or true", *_doc[0], True); PARSE("testdoctype1.content = 1 and false", *_doc[0], False); @@ -738,7 +766,7 @@ void DocumentSelectParserTest::testOperators5() { createDocs(); - // Functions + // Functions PARSE("testdoctype1.hstringval.lowercase() == \"Yet\"", *_doc[3], False); PARSE("testdoctype1.hstringval.lowercase() == \"yet\"", *_doc[3], True); PARSE("testdoctype1.hfloatval.lowercase() == \"yet\"", *_doc[3], Invalid); @@ -754,7 +782,7 @@ void DocumentSelectParserTest::testOperators5() PARSE("now() < 1311862500", *_doc[10], False); PARSE("now() > 1611862500", *_doc[10], False); - // Arithmetics + // Arithmetics PARSEI("id.specific.hash() % 10 = 8", *_doc[0], True); PARSEI("id.specific.hash() % 10 = 2", *_doc[0], False); PARSEI("\"foo\" + \"bar\" = \"foobar\"", *_doc[0], True); @@ -767,14 +795,18 @@ void DocumentSelectParserTest::testOperators6() { createDocs(); - // CJK - // Assuming the characters " \ ? * is not used as part of CJK tokens + // CJK + // Assuming the characters " \ ? * is not used as part of CJK tokens PARSE("testdoctype1.content=\"\xE4\xB8\xBA\xE4\xBB\x80\"", *_doc[3], True); PARSE("testdoctype1.content=\"\xE4\xB7\xBA\xE4\xBB\x80\"", *_doc[3], False); - // Structs and arrays + // Structs and arrays PARSE("testdoctype1.mystruct", *_doc[0], False); PARSE("testdoctype1.mystruct", *_doc[1], True); + PARSE("(testdoctype1.mystruct)", *_doc[0], False); + PARSE("(testdoctype1.mystruct)", *_doc[1], True); + PARSE("(((testdoctype1.mystruct)))", *_doc[0], False); + PARSE("(((testdoctype1.mystruct)))", *_doc[1], True); PARSE("testdoctype1.mystruct", *_doc[2], False); PARSE("testdoctype1.mystruct == testdoctype1.mystruct", *_doc[0], True); PARSE("testdoctype1.mystruct == testdoctype1.mystruct", *_doc[1], True); @@ -812,6 +844,7 @@ void DocumentSelectParserTest::testOperators7() PARSE("testdoctype1.structarray", *_doc[1], True); PARSE("testdoctype1.structarray.key == 15", *_doc[1], True); PARSE("testdoctype1.structarray[1].key == 16", *_doc[1], True); + PARSE("testdoctype1.structarray[1].key", *_doc[1], True); // "key is set?" expr PARSE("testdoctype1.structarray[1].key = 16", *_doc[1], True); PARSE("testdoctype1.structarray.value == \"structval1\"", *_doc[0], False); PARSE("testdoctype1.structarray[4].value == \"structval1\"", *_doc[0], False); @@ -952,7 +985,6 @@ namespace { void visitArithmeticValueNode(const select::ArithmeticValueNode &) override {} void visitFunctionValueNode(const select::FunctionValueNode &) override {} void visitIdValueNode(const select::IdValueNode &) override {} - void visitSearchColumnValueNode(const select::SearchColumnValueNode &) override {} void visitFieldValueNode(const select::FieldValueNode &) override {} void visitFloatValueNode(const select::FloatValueNode &) override {} void visitVariableValueNode(const select::VariableValueNode &) override {} @@ -977,15 +1009,14 @@ void DocumentSelectParserTest::testVisitor() TestVisitor v; root->visit(v); + std::string expected = - "OR(CONSTANT(true), " - "AND(DOCTYPE(testdoctype1), " - "AND(OR(NOT(COMPARE(id.user = 12)), " - "COMPARE(testdoctype1.hstringval = \"ola\")), " - "COMPARE(testdoctype1.headerval != null)" - ")" - ")" - ")"; + "OR(CONSTANT(true), " + "AND(AND(DOCTYPE(testdoctype1), " + "OR(NOT(COMPARE(id.user = 12)), " + "COMPARE(testdoctype1.hstringval = \"ola\"))), " + "COMPARE(testdoctype1.headerval != null)))"; + CPPUNIT_ASSERT_EQUAL(expected, v.getVisitString()); } @@ -1093,13 +1124,15 @@ void DocumentSelectParserTest::testDocumentUpdates0() PARSEI("\"\" =~ \"\"", *_update[0], True); PARSEI("30 = 10", *_update[0], False); PARSEI("30 = 30", *_update[0], True); + PARSEI("(30 = 10)", *_update[0], False); + PARSEI("(30 = 30)", *_update[0], True); } void DocumentSelectParserTest::testDocumentUpdates1() { createDocs(); - // Mix of types should within numbers, but otherwise not match + // Mix of types should within numbers, but otherwise not match PARSEI("30 < 10.2", *_update[0], False); PARSEI("10.2 < 30", *_update[0], True); PARSEI("30 < \"foo\"", *_update[0], Invalid); @@ -1112,17 +1145,18 @@ void DocumentSelectParserTest::testDocumentUpdates1() PARSEI("14.3 == null", *_update[0], False); PARSEI("null = 0", *_update[0], False); - // Field values + // Field values PARSE("testdoctype1.headerval = 24", *_update[0], Invalid); PARSE("testdoctype1.hfloatval = 2.0", *_update[0], Invalid); PARSE("testdoctype1.content = \"bar\"", *_update[0], Invalid); PARSE("testdoctype1.hstringval == testdoctype1.content", *_update[0], Invalid); - // Document types + // Document types PARSE("testdoctype1", *_update[0], True); + PARSE("(testdoctype1)", *_update[0], True); PARSE("testdoctype2", *_update[0], False); - // Inherited doctypes + // Inherited doctypes PARSE("testdoctype2", *_update[4], True); PARSE("testdoctype2", *_update[3], False); PARSE("testdoctype1", *_update[4], True); @@ -1133,7 +1167,7 @@ void DocumentSelectParserTest::testDocumentUpdates2() { createDocs(); - // Id values + // Id values PARSEI("id == \"doc:myspace:anything\"", *_update[0], True); PARSEI(" iD== \"doc:myspace:anything\" ", *_update[0], True); PARSEI("id == \"doc:myspa:nything\"", *_update[0], False); @@ -1159,7 +1193,7 @@ void DocumentSelectParserTest::testDocumentUpdates3() { createDocs(); - // Branch operators + // Branch operators PARSEI("true and false", *_update[0], False); PARSEI("true and true", *_update[0], True); PARSEI("true or false", *_update[0], True); @@ -1171,7 +1205,7 @@ void DocumentSelectParserTest::testDocumentUpdates3() PARSEI("true and not false or false", *_update[0], True); PARSEI("((243 < 300) and (\"FOO\".lowercase() == \"foo\"))", *_update[0], True); - // Invalid branching. testdoctype1.content = 1 is invalid + // Invalid branching. testdoctype1.content = 1 is invalid PARSE("testdoctype1.content = 1 and true", *_update[0], Invalid); PARSE("testdoctype1.content = 1 or true", *_update[0], True); PARSE("testdoctype1.content = 1 and false", *_update[0], False); @@ -1186,7 +1220,7 @@ void DocumentSelectParserTest::testDocumentUpdates4() { createDocs(); - // Functions + // Functions PARSEI("\"bar\".hash() == -2012135647395072713", *_update[0], True); PARSEI("\"bar\".hash().abs() == 2012135647395072713", *_update[0], True); PARSEI("null.hash() == 123", *_update[0], Invalid); @@ -1195,7 +1229,7 @@ void DocumentSelectParserTest::testDocumentUpdates4() PARSEI("\"foo\".hash() == 123", *_update[0], False); PARSEI("(234).hash() == 123", *_update[0], False); - // Arithmetics + // Arithmetics PARSEI("id.specific.hash() % 10 = 8", *_update[0], True); PARSEI("id.specific.hash() % 10 = 2", *_update[0], False); PARSEI("\"foo\" + \"bar\" = \"foobar\"", *_update[0], True); @@ -1221,7 +1255,7 @@ void DocumentSelectParserTest::testUtf8() } std::unique_ptr -DocumentSelectParserTest::parseFieldValue(const std::string expression) { +DocumentSelectParserTest::parseFieldValue(const std::string& expression) { return std::unique_ptr(dynamic_cast( dynamic_cast(*_parser->parse(expression)).getLeft().clone().release())); } @@ -1246,4 +1280,296 @@ void DocumentSelectParserTest::testThatComplexFieldValuesHaveCorrectFieldNames() parseFieldValue("testdoctype1.headerval.meow.meow{test}")->getRealFieldName()); } +namespace { + +class OperatorVisitor : public select::Visitor { +private: + std::ostringstream data; +public: + void visitConstant(const select::Constant& node) override { + data << node; + } + + void + visitInvalidConstant(const select::InvalidConstant& node) override { + (void) node; + assert(false); + } + + void visitDocumentType(const select::DocType& node) override { + data << "(DOCTYPE " << node << ")"; + } + + void visitComparison(const select::Compare& node) override { + data << '(' << node.getOperator() << ' '; + node.getLeft().visit(*this); + data << ' '; + node.getRight().visit(*this); + data << ')'; + } + + void visitAndBranch(const select::And& node) override { + data << "(AND "; + node.getLeft().visit(*this); + data << " "; + node.getRight().visit(*this); + data << ")"; + } + + void visitOrBranch(const select::Or& node) override { + data << "(OR "; + node.getLeft().visit(*this); + data << " "; + node.getRight().visit(*this); + data << ")"; + } + + void visitNotBranch(const select::Not& node) override { + data << "(NOT "; + node.getChild().visit(*this); + data << ")"; + } + + void visitArithmeticValueNode(const select::ArithmeticValueNode& node) override { + data << '(' << node.getOperatorName() << ' '; + node.getLeft().visit(*this); + data << ' '; + node.getRight().visit(*this); + data << ')'; + } + void visitFunctionValueNode(const select::FunctionValueNode& node) override { + data << '(' << node.getFunctionName() << ' '; + node.getChild().visit(*this); + data << ')'; + } + void visitIdValueNode(const select::IdValueNode& node) override { + data << "(ID " << node.toString() << ')'; + } + void visitFieldValueNode(const select::FieldValueNode& node) override { + data << "(FIELD " << node.getDocType() << ' ' << node.getFieldName() << ')'; + } + void visitFloatValueNode(const select::FloatValueNode& node) override { + data << node.getValue(); + } + void visitVariableValueNode(const select::VariableValueNode& node) override { + data << "(VAR " << node.getVariableName() << ')'; + } + void visitIntegerValueNode(const select::IntegerValueNode& node) override { + data << node.getValue(); + } + void visitCurrentTimeValueNode(const select::CurrentTimeValueNode&) override {} + void visitStringValueNode(const select::StringValueNode& str) override { + data << '"' << str.getValue() << '"'; + } + void visitNullValueNode(const select::NullValueNode&) override { + data << "null"; + } + void visitInvalidValueNode(const select::InvalidValueNode&) override { + data << "INVALID!"; + } + + std::string visit_string() { return data.str(); } +}; + +template +std::string node_to_string(const NodeType& node) { + OperatorVisitor v; + node.visit(v); + return v.visit_string(); +} + +} + +std::string DocumentSelectParserTest::parse_to_tree(const std::string& str) { + std::unique_ptr root(_parser->parse(str)); + return node_to_string(*root); +} + +void DocumentSelectParserTest::test_operator_precedence() { + createDocs(); + using namespace std::string_literals; + + CPPUNIT_ASSERT_EQUAL("(AND true false)"s, parse_to_tree("true and false")); + CPPUNIT_ASSERT_EQUAL("(AND (NOT false) true)"s, parse_to_tree("not false and true")); + CPPUNIT_ASSERT_EQUAL("(NOT (AND false true))"s, parse_to_tree("not (false and true)")); + CPPUNIT_ASSERT_EQUAL("(NOT (DOCTYPE testdoctype1))"s, parse_to_tree("not testdoctype1")); + CPPUNIT_ASSERT_EQUAL("(NOT (DOCTYPE (testdoctype1)))"s, parse_to_tree("not (testdoctype1)")); + CPPUNIT_ASSERT_EQUAL("(NOT (DOCTYPE (testdoctype1)))"s, parse_to_tree("(not (testdoctype1))")); + CPPUNIT_ASSERT_EQUAL("(OR (== 1 2) (== 3 4))"s, parse_to_tree("1==2 or 3==4")); + CPPUNIT_ASSERT_EQUAL("(!= (+ (+ 1 2) 3) 0)"s, parse_to_tree("1+2+3 != 0")); + CPPUNIT_ASSERT_EQUAL("(!= (+ (+ 1.1 2.2) 3.3) 4.4)"s, parse_to_tree("1.1+2.2+3.3 != 4.4")); + CPPUNIT_ASSERT_EQUAL("(!= (- (- 1 2) 3) 0)"s, parse_to_tree("1-2-3 != 0")); + CPPUNIT_ASSERT_EQUAL("(!= (+ (+ 1 2) 3) 0)"s, parse_to_tree("1 + 2 + 3 != 0")); + CPPUNIT_ASSERT_EQUAL("(!= (+ 1 (* 2 3)) 0)"s, parse_to_tree("1 + 2 * 3 != 0")); + CPPUNIT_ASSERT_EQUAL("(!= (- (/ (* 1 2) 3) 4) 0)"s, parse_to_tree("1 * 2 / 3 - 4 != 0")); + CPPUNIT_ASSERT_EQUAL("(!= (/ (* 1 2) (- 3 4)) 0)"s, parse_to_tree("1 * 2 / (3 - 4) != 0")); + CPPUNIT_ASSERT_EQUAL("(OR (AND true (NOT (== 1 2))) false)"s, + parse_to_tree("true and not 1 == 2 or false")); + CPPUNIT_ASSERT_EQUAL("(AND (AND (AND (< 1 2) (> 3 4)) (<= 5 6)) (>= 7 8))"s, + parse_to_tree("1 < 2 and 3 > 4 and 5 <= 6 and 7 >= 8")); + CPPUNIT_ASSERT_EQUAL("(OR (AND (AND (< 1 2) (> 3 4)) (<= 5 6)) (>= 7 8))"s, + parse_to_tree("1 < 2 and 3 > 4 and 5 <= 6 or 7 >= 8")); + CPPUNIT_ASSERT_EQUAL("(OR (AND (< 1 2) (> 3 4)) (AND (<= 5 6) (>= 7 8)))"s, + parse_to_tree("1 < 2 and 3 > 4 or 5 <= 6 and 7 >= 8")); + // Unary plus is simply ignored by the parser. + CPPUNIT_ASSERT_EQUAL("(== 1 -2)"s, parse_to_tree("+1==-2")); + CPPUNIT_ASSERT_EQUAL("(== 1.23 -2.56)"s, parse_to_tree("+1.23==-2.56")); + CPPUNIT_ASSERT_EQUAL("(== (+ 1 2) (- 3 -4))"s, parse_to_tree("1 + +2==3 - -4")); + CPPUNIT_ASSERT_EQUAL("(== (+ 1 2) (- 3 -4))"s, parse_to_tree("1++2==3--4")); + + // Due to the way parentheses are handled by the AST, ((foo)) always gets + // reduced down to (foo). + CPPUNIT_ASSERT_EQUAL("(DOCTYPE (testdoctype1))"s, parse_to_tree("(((testdoctype1)))")); + CPPUNIT_ASSERT_EQUAL("(AND (DOCTYPE (testdoctype1)) (DOCTYPE (testdoctype2)))"s, + parse_to_tree("((((testdoctype1))) and ((testdoctype2)))")); + + CPPUNIT_ASSERT_EQUAL("(== (ID id) \"foo\")"s, parse_to_tree("id == 'foo'")); + CPPUNIT_ASSERT_EQUAL("(== (ID id.group) \"foo\")"s, parse_to_tree("id.group == 'foo'")); + // id_spec function apply + CPPUNIT_ASSERT_EQUAL("(== (hash (ID id)) 12345)"s, parse_to_tree("id.hash() == 12345")); + // Combination of id_spec function apply and arith_expr function apply + CPPUNIT_ASSERT_EQUAL("(== (abs (hash (ID id))) 12345)"s, parse_to_tree("id.hash().abs() == 12345")); +} + +void DocumentSelectParserTest::test_token_used_as_ident_preserves_casing() { + createDocs(); + using namespace std::string_literals; + + // TYPE, SCHEME, ORDER etc are tokens that may also be used as identifiers + // without introducing parsing ambiguities. In this context their original + // casing should be preserved. + CPPUNIT_ASSERT_EQUAL("(== (VAR Type) 123)"s, parse_to_tree("$Type == 123")); + CPPUNIT_ASSERT_EQUAL("(== (VAR giD) 123)"s, parse_to_tree("$giD == 123")); + CPPUNIT_ASSERT_EQUAL("(== (VAR ORDER) 123)"s, parse_to_tree("$ORDER == 123")); +} + +void DocumentSelectParserTest::test_ambiguous_field_spec_expression_is_handled_correctly() { + createDocs(); + using namespace std::string_literals; + // In earlier revisions of LR(1)-grammar, this triggered a reduce/reduce conflict between + // logical_expr and arith_expr for the sequence '(' field_spec ')', which failed to + // parse in an expected manner. Test that we don't get regressions here. + CPPUNIT_ASSERT_EQUAL("(!= (FIELD testdoctype1 foo) null)"s, parse_to_tree("(testdoctype1.foo)")); + CPPUNIT_ASSERT_EQUAL("(AND (!= (FIELD testdoctype1 foo) null) (!= (FIELD testdoctype1 bar) null))"s, + parse_to_tree("(testdoctype1.foo) AND (testdoctype1.bar)")); +} + +void DocumentSelectParserTest::test_can_build_field_value_from_field_expr_node() { + using select::FieldExprNode; + { + // Simple field expression + auto lhs = std::make_unique("mydoctype"); + auto root = std::make_unique(std::move(lhs), "foo"); + auto fv = root->convert_to_field_value(); + CPPUNIT_ASSERT_EQUAL(vespalib::string("mydoctype"), fv->getDocType()); + CPPUNIT_ASSERT_EQUAL(vespalib::string("foo"), fv->getFieldName()); + } + { + // Nested field expression + auto lhs1 = std::make_unique("mydoctype"); + auto lhs2 = std::make_unique(std::move(lhs1), "foo"); + auto root = std::make_unique(std::move(lhs2), "bar"); + auto fv = root->convert_to_field_value(); + CPPUNIT_ASSERT_EQUAL(vespalib::string("mydoctype"), fv->getDocType()); + CPPUNIT_ASSERT_EQUAL(vespalib::string("foo.bar"), fv->getFieldName()); + } +} + +void DocumentSelectParserTest::test_can_build_function_call_from_field_expr_node() { + using select::FieldExprNode; + { + // doctype.foo.lowercase() + // Note that calling lowercase() directly on the doctype is not supported + // (see test_function_call_on_doctype_throws_exception) + auto lhs1 = std::make_unique("mydoctype"); + auto lhs2 = std::make_unique(std::move(lhs1), "foo"); + auto root = std::make_unique(std::move(lhs2), "lowercase"); + auto func = root->convert_to_function_call(); + CPPUNIT_ASSERT_EQUAL(vespalib::string("lowercase"), func->getFunctionName()); + // TODO vespalib::string? + CPPUNIT_ASSERT_EQUAL(std::string("(FIELD mydoctype foo)"), node_to_string(func->getChild())); + } +} + +void DocumentSelectParserTest::test_function_call_on_doctype_throws_exception() { + using select::FieldExprNode; + auto lhs = std::make_unique("mydoctype"); + auto root = std::make_unique(std::move(lhs), "lowercase"); + try { + root->convert_to_function_call(); + } catch (const vespalib::IllegalArgumentException& e) { + CPPUNIT_ASSERT_EQUAL(vespalib::string("Cannot call function 'lowercase' directly on document type"), + e.getMessage()); + } +} + +namespace { + +void check_parse_i64(vespalib::stringref str, bool expect_ok, int64_t expected_output) { + int64_t out = 0; + bool ok = select::util::parse_i64(str.data(), str.size(), out); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parsing did not returned expected success status for i64 input " + str, expect_ok, ok); + if (expect_ok) { + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parse output not as expected for i64 input " + str, expected_output, out); + } +} + +void check_parse_hex_i64(vespalib::stringref str, bool expect_ok, int64_t expected_output) { + int64_t out = 0; + bool ok = select::util::parse_hex_i64(str.data(), str.size(), out); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parsing did not returned expected success status for hex i64 input " + str, expect_ok, ok); + if (expect_ok) { + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parse output not as expected for hex i64 input " + str, expected_output, out); + } +} + +void check_parse_double(vespalib::stringref str, bool expect_ok, double expected_output) { + double out = 0; + bool ok = select::util::parse_double(str.data(), str.size(), out); + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parsing did not returned expected success status for hex i64 input " + str, expect_ok, ok); + if (expect_ok) { + CPPUNIT_ASSERT_EQUAL_MESSAGE("Parse output not as expected for double input " + str, expected_output, out); + } +} + +} + +void DocumentSelectParserTest::test_parse_utilities_handle_well_formed_input() { + check_parse_i64("0", true, 0); + check_parse_i64("1", true, 1); + check_parse_i64("9223372036854775807", true, INT64_MAX); + + // Note: 0x prefix is _not_ included + check_parse_hex_i64("0", true, 0); + check_parse_hex_i64("1", true, 1); + check_parse_hex_i64("f", true, 15); + check_parse_hex_i64("F", true, 15); + check_parse_hex_i64("ffffffff", true, UINT32_MAX); + check_parse_hex_i64("7FFFFFFFFFFFFFFF", true, INT64_MAX); + // We actually parse as u64 internally, then convert + check_parse_hex_i64("ffffffffffffffff", true, -1); + + check_parse_double("1.0", true, 1.0); + check_parse_double("1.", true, 1.0); + check_parse_double("1.79769e+308", true, 1.79769e+308); // DBL_MAX +} + +void DocumentSelectParserTest::test_parse_utilities_handle_malformed_input() { + check_parse_i64("9223372036854775808", false, 0); // INT64_MAX + 1 + check_parse_i64("18446744073709551615", false, 0); // UINT64_MAX + check_parse_i64("", false, 0); + check_parse_i64("bjarne", false, 0); + check_parse_i64("1x", false, 0); + + check_parse_hex_i64("", false, 0); + check_parse_hex_i64("g", false, 0); + check_parse_hex_i64("0x1", false, 0); + check_parse_hex_i64("ffffffffffffffff1", false, 0); + + check_parse_double("1.x", false, 0.0); + // TODO double outside representable range returns Inf, but we probably would + // like this to trigger a parse failure? + check_parse_double("1.79769e+309", true, std::numeric_limits::infinity()); +} + } // document diff --git a/document/src/vespa/document/bucket/bucketselector.cpp b/document/src/vespa/document/bucket/bucketselector.cpp index 5ded691269a..ceb231a483c 100644 --- a/document/src/vespa/document/bucket/bucketselector.cpp +++ b/document/src/vespa/document/bucket/bucketselector.cpp @@ -137,27 +137,6 @@ using namespace document::select; } } - void compare(const select::SearchColumnValueNode& node, - const select::ValueNode& valnode, - const select::Operator& op) { - if (op == FunctionOperator::EQ || op == document::select::GlobOperator::GLOB) { - int bucketCount = 1 << 16; - const IntegerValueNode* val( - dynamic_cast(&valnode)); - - int64_t rval = val->getValue(); - - for (int i = 0; i < bucketCount; i++) { - int64_t column = node.getValue(BucketId(16, i)); - if (column == rval) { - _buckets.push_back(BucketId(16, i)); - } - } - - _unknown = false; - } - } - void visitComparison(const document::select::Compare& node) override { if (node.getOperator() != document::select::FunctionOperator::EQ && node.getOperator() != document::select::GlobOperator::GLOB) @@ -166,12 +145,8 @@ using namespace document::select; } const IdValueNode* lid(dynamic_cast( &node.getLeft())); - const SearchColumnValueNode* sc(dynamic_cast( - &node.getLeft())); if (lid) { compare(*lid, node.getRight(), node.getOperator()); - } else if (sc) { - compare(*sc, node.getRight(), node.getOperator()); } else { const IdValueNode* rid(dynamic_cast( &node.getRight())); @@ -187,7 +162,6 @@ using namespace document::select; void visitArithmeticValueNode(const ArithmeticValueNode &) override {} void visitFunctionValueNode(const FunctionValueNode &) override {} void visitIdValueNode(const IdValueNode &) override {} - void visitSearchColumnValueNode(const SearchColumnValueNode &) override {} void visitFieldValueNode(const FieldValueNode &) override {} void visitFloatValueNode(const FloatValueNode &) override {} void visitVariableValueNode(const VariableValueNode &) override {} diff --git a/document/src/vespa/document/select/.gitignore b/document/src/vespa/document/select/.gitignore index 5f004816692..919eb5c7ca9 100644 --- a/document/src/vespa/document/select/.gitignore +++ b/document/src/vespa/document/select/.gitignore @@ -2,3 +2,6 @@ Makefile .depend* .*.swp *.So +*.hxx +*.cxx +*.hh diff --git a/document/src/vespa/document/select/CMakeLists.txt b/document/src/vespa/document/select/CMakeLists.txt index 0e94fa0f530..eba5ddde40c 100644 --- a/document/src/vespa/document/select/CMakeLists.txt +++ b/document/src/vespa/document/select/CMakeLists.txt @@ -1,4 +1,14 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +find_package(BISON REQUIRED) +find_package(FLEX REQUIRED) + +BISON_TARGET(DocSelParser grammar/parser.yy ${CMAKE_CURRENT_BINARY_DIR}/parser.cxx) +FLEX_TARGET(DocSelLexer grammar/lexer.ll ${CMAKE_CURRENT_BINARY_DIR}/lexer.cxx) + +ADD_FLEX_BISON_DEPENDENCY(DocSelLexer DocSelParser) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + vespa_add_library(document_select OBJECT SOURCES bodyfielddetector.cpp @@ -13,7 +23,6 @@ vespa_add_library(document_select OBJECT operator.cpp orderingselector.cpp orderingspecification.cpp - parser.cpp result.cpp resultset.cpp resultlist.cpp @@ -22,6 +31,11 @@ vespa_add_library(document_select OBJECT value.cpp valuenode.cpp valuenodes.cpp + parser.cpp + parse_utils.cpp + parsing_failed_exception.cpp + ${BISON_DocSelParser_OUTPUTS} + ${FLEX_DocSelLexer_OUTPUTS} AFTER document_documentconfig ) diff --git a/document/src/vespa/document/select/branch.cpp b/document/src/vespa/document/select/branch.cpp index 7f6ad252471..5b28fad0df8 100644 --- a/document/src/vespa/document/select/branch.cpp +++ b/document/src/vespa/document/select/branch.cpp @@ -9,7 +9,7 @@ namespace document { namespace select { And::And(std::unique_ptr left, std::unique_ptr right, const char* name) - : Branch(name ? name : "AND"), + : Branch(name ? name : "and"), _left(std::move(left)), _right(std::move(right)) { @@ -55,7 +55,7 @@ And::trace(const Context& context, std::ostream& out) const } Or::Or(std::unique_ptr left, std::unique_ptr right, const char* name) - : Branch(name ? name : "OR"), + : Branch(name ? name : "or"), _left(std::move(left)), _right(std::move(right)) { @@ -101,7 +101,7 @@ Or::trace(const Context& context, std::ostream& out) const } Not::Not(std::unique_ptr child, const char* name) - : Branch(name ? name : "NOT"), + : Branch(name ? name : "not"), _child(std::move(child)) { assert(_child.get()); diff --git a/document/src/vespa/document/select/cloningvisitor.cpp b/document/src/vespa/document/select/cloningvisitor.cpp index 4011cbdeea1..d695e3ec83d 100644 --- a/document/src/vespa/document/select/cloningvisitor.cpp +++ b/document/src/vespa/document/select/cloningvisitor.cpp @@ -162,7 +162,7 @@ CloningVisitor::visitConstant(const Constant &expr) _priority = ConstPriority; bool val = expr.getConstantValue(); _resultSet.add(val ? Result::True : Result::False); - _node.reset(new Constant(val ? "true" : "false")); + _node.reset(new Constant(val)); } @@ -198,16 +198,6 @@ CloningVisitor::visitIdValueNode(const IdValueNode &expr) } -void -CloningVisitor::visitSearchColumnValueNode(const SearchColumnValueNode &expr) -{ - _constVal = false; - ++_fieldNodes; // needs document id, thus needs document - _valueNode = expr.clone(); - _priority = SearchColPriority; -} - - void CloningVisitor::visitFieldValueNode(const FieldValueNode &expr) { diff --git a/document/src/vespa/document/select/cloningvisitor.h b/document/src/vespa/document/select/cloningvisitor.h index ff74af1201d..2c5f94c20a4 100644 --- a/document/src/vespa/document/select/cloningvisitor.h +++ b/document/src/vespa/document/select/cloningvisitor.h @@ -60,7 +60,6 @@ public: void visitInvalidConstant(const InvalidConstant &expr) override; void visitDocumentType(const DocType &expr) override; void visitIdValueNode(const IdValueNode &expr) override; - void visitSearchColumnValueNode(const SearchColumnValueNode &expr) override; void visitFieldValueNode(const FieldValueNode &expr) override; void visitFloatValueNode(const FloatValueNode &expr) override; void visitVariableValueNode(const VariableValueNode &expr) override; diff --git a/document/src/vespa/document/select/constant.cpp b/document/src/vespa/document/select/constant.cpp index 02821180337..8d1445f40a0 100644 --- a/document/src/vespa/document/select/constant.cpp +++ b/document/src/vespa/document/select/constant.cpp @@ -7,28 +7,10 @@ namespace document::select { -Constant::Constant(const vespalib::stringref & value) - : Node(value), - _value(false) +Constant::Constant(bool value) + : Node(value ? "true" : "false"), // TODO remove required name from Node + _value(value) { - if (value.size() == 4 && - (value[0] & 0xdf) == 'T' && - (value[1] & 0xdf) == 'R' && - (value[2] & 0xdf) == 'U' && - (value[3] & 0xdf) == 'E') - { - _value = true; - } else if (value.size() == 5 && - (value[0] & 0xdf) == 'F' && - (value[1] & 0xdf) == 'A' && - (value[2] & 0xdf) == 'L' && - (value[3] & 0xdf) == 'S' && - (value[4] & 0xdf) == 'E') - { - _value = false; - } else { - assert(false); - } } ResultList diff --git a/document/src/vespa/document/select/constant.h b/document/src/vespa/document/select/constant.h index 08be5c95ec7..46a98ed7eaa 100644 --- a/document/src/vespa/document/select/constant.h +++ b/document/src/vespa/document/select/constant.h @@ -5,9 +5,8 @@ * * @brief Class describing a constant in the select tree. * - * @author H�kon Humberset + * @author Håkon Humberset * @date 2005-06-07 - * @version $Id$ */ #pragma once @@ -23,7 +22,7 @@ private: bool _value; public: - explicit Constant(const vespalib::stringref & value); + explicit Constant(bool value); ResultList contains(const Context&) const override { return ResultList(Result::get(_value)); @@ -32,8 +31,8 @@ public: ResultList trace(const Context&, std::ostream& trace) const override; void print(std::ostream& out, bool verbose, const std::string& indent) const override; void visit(Visitor& v) const override; - bool getConstantValue() const { return _value; } - Node::UP clone() const override { return wrapParens(new Constant(_name)); } + bool getConstantValue() const noexcept { return _value; } + Node::UP clone() const override { return wrapParens(new Constant(_value)); } }; diff --git a/document/src/vespa/document/select/gid_filter.cpp b/document/src/vespa/document/select/gid_filter.cpp index ce3045564ba..71a57a0886a 100644 --- a/document/src/vespa/document/select/gid_filter.cpp +++ b/document/src/vespa/document/select/gid_filter.cpp @@ -22,7 +22,6 @@ struct NoOpVisitor : Visitor { void visitArithmeticValueNode(const ArithmeticValueNode&) override {} void visitFunctionValueNode(const FunctionValueNode&) override {} void visitIdValueNode(const IdValueNode&) override {} - void visitSearchColumnValueNode(const SearchColumnValueNode&) override {} void visitFieldValueNode(const FieldValueNode&) override {} void visitFloatValueNode(const FloatValueNode&) override {} void visitVariableValueNode(const VariableValueNode&) override {} diff --git a/document/src/vespa/document/select/grammar/lexer.ll b/document/src/vespa/document/select/grammar/lexer.ll new file mode 100644 index 00000000000..8cd5638c122 --- /dev/null +++ b/document/src/vespa/document/select/grammar/lexer.ll @@ -0,0 +1,182 @@ + /* Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. */ + + /* We use the .*xx-suffix to denote a build-time generated file */ +%option outfile="lexer.cxx" +%option header-file="lexer.hxx" + +%option c++ + /* Uncomment to enable debug tracing of parsing */ + /* %option debug */ +%option 8bit warn nodefault +%option noyywrap nounput +%option yyclass="document::select::DocSelScanner" + + /* Used to track source locations, see https://github.com/bingmann/flex-bison-cpp-example/blob/master/src/scanner.ll */ +%{ +#define YY_USER_ACTION yyloc->columns(yyleng); +%} + +%{ + +#include "parser.hxx" +#include +#include +#include +#include +#include +#include + +#undef YY_DECL +#define YY_DECL int document::select::DocSelScanner::yylex( \ + document::select::DocSelParser::semantic_type* yylval, \ + document::select::DocSelParser::location_type* yyloc) + +using token = document::select::DocSelParser::token; +using string = vespalib::string; + +// Inspired by https://coldfix.eu/2015/05/16/bison-c++11/ + +#define YIELD_TOKEN(name, field_name, value) \ + yylval->field_name = value; \ + return token::T_##name; + +#define INT_TOKEN(name, value) YIELD_TOKEN(name, i64_val, value) +#define STRING_TOKEN(name) YIELD_TOKEN(name, string_val, new string(yytext, yyleng)) +#define CONST_STR_TOKEN(name, value) YIELD_TOKEN(name, const_str_val, value) +#define TAGGED_TOKEN INT_TOKEN + +#define NAMED_TOKEN(name) return token::T_##name; + +%} + + /* Lexer fragments, used as part of token patterns */ + +SIGN [+-] +DECIMAL [0-9]+ +HEXDIGIT [0-9a-fA-F] +HEX 0[xX]{HEXDIGIT}{1,16} +OCTAL 0[0-7]* +EXPONENT [eE][+-]?[0-9]+ +IDCHARS [a-zA-Z_][a-zA-Z_0-9_]* +WS [ \f\r\t] + + /* It is weird that you can't do \' inside "" and vice versa, but that's the StringUtil::unescape logic today... */ +DQ_STRING \"(\\([\\tnfr"]|x{HEXDIGIT}{2})|[^"\\])*\" +SQ_STRING \'(\\([\\tnfr']|x{HEXDIGIT}{2})|[^'\\])*\' + +%% + + /* Code to take place at the beginning of yylex() */ +%{ + // TODO move to YY_USER_ACTION instead? + yyloc->step(); +%} + + /* TODO support length suffixes? supported in JavaCC grammar, but not in legacy Spirit grammar... */ +{HEX} { + // TODO replace with std::from_string() once compiler support is there + if (!util::parse_hex_i64(yytext + 2, yyleng - 2, yylval->i64_val)) { // Skip 0[xX] prefix + throw_parser_syntax_error(*yyloc, "Not a valid 64-bit hex integer: " + std::string(yytext, yyleng)); + } + return token::T_INTEGER; +} + + /* Sign is handled explicitly in the parser to avoid lexing ambiguities for expressions such as "1 -2" */ +{DECIMAL} { + if (!util::parse_i64(yytext, yyleng, yylval->i64_val)) { + throw_parser_syntax_error(*yyloc, "Not a valid signed 64-bit integer: " + std::string(yytext, yyleng)); + } + return token::T_INTEGER; +} + + /* + * We use a strict definition of floats when lexing, i.e. we require a dot + * in order to remove ambiguities with the base 10 integer token. + */ +[0-9]+(\.[0-9]*){EXPONENT}?[fFdD]? { + if (!util::parse_double(yytext, yyleng, yylval->double_val)) { + throw_parser_syntax_error(*yyloc, "Not a valid floating point number: " + std::string(yytext, yyleng)); + } + return token::T_FLOAT; +} + +({DQ_STRING}|{SQ_STRING}) { + // Always slice off start and end quote chars + yylval->string_val = new string(yytext + 1, yyleng - 2); + return token::T_STRING; +} + + /* FIXME this is a syntactic hack to "flatten" fieldpath map and array lookups into a single token + rather than match these structurally in the parser itself. This is due to the way fieldpaths + are handled in the legacy AST (i.e. as strings, not structures), and this must be changed first + before we can fix this. */ + /* Field path expressions do not support any other escapes than double quote char */ + /* TODO {WS} does not include newline, do we need to support that here? */ +\{{WS}*($?{IDCHARS}|{DECIMAL}|\"([^\\\"]|\\\")*\"){WS}*\} STRING_TOKEN(FP_MAP_LOOKUP) +\[{WS}*(${IDCHARS}|{DECIMAL}){WS}*\] STRING_TOKEN(FP_ARRAY_LOOKUP) + + /* Primary tokens are case insensitive */ +(?i:"id") NAMED_TOKEN(ID) +(?i:"null") NAMED_TOKEN(NULL) +(?i:"true") NAMED_TOKEN(TRUE) +(?i:"false") NAMED_TOKEN(FALSE) +(?i:"and") NAMED_TOKEN(AND) +(?i:"or") NAMED_TOKEN(OR) +(?i:"not") NAMED_TOKEN(NOT) + + /* We expose the verbatim input as the token value, as these may also be used for identifiers... */ +(?i:"user") STRING_TOKEN(USER) +(?i:"group") STRING_TOKEN(GROUP) +(?i:"scheme") STRING_TOKEN(SCHEME) +(?i:"namespace") STRING_TOKEN(NAMESPACE) +(?i:"specific") STRING_TOKEN(SPECIFIC) +(?i:"bucket") STRING_TOKEN(BUCKET) +(?i:"gid") STRING_TOKEN(GID) +(?i:"type") STRING_TOKEN(TYPE) +(?i:"order") STRING_TOKEN(ORDER) + +"now\(\)" NAMED_TOKEN(NOW_FUNC) /* This _is_ case-sensitive in the legacy parser */ + + /* Binary operators */ + /* TODO INT_TOKEN with code directly from selection operator node? Or direct operator object ptr? */ +"=" NAMED_TOKEN(GLOB) +"=~" NAMED_TOKEN(REGEX) +"==" NAMED_TOKEN(EQ) +"!=" NAMED_TOKEN(NE) +">=" NAMED_TOKEN(GE) +"<=" NAMED_TOKEN(LE) +">" NAMED_TOKEN(GT) +"<" NAMED_TOKEN(LT) + +"$" NAMED_TOKEN(DOLLAR) +"." NAMED_TOKEN(DOT) +"(" NAMED_TOKEN(LPAREN) +")" NAMED_TOKEN(RPAREN) +"," NAMED_TOKEN(COMMA) +"+" NAMED_TOKEN(PLUS) +"-" NAMED_TOKEN(MINUS) +"*" NAMED_TOKEN(MULTIPLY) +"/" NAMED_TOKEN(DIVIDE) +"%" NAMED_TOKEN(MODULO) + +{IDCHARS} STRING_TOKEN(IDENTIFIER) + +\n { + yyloc->lines(yyleng); + yyloc->step(); + return yytext[0]; +} + +{WS} { + yyloc->step(); +} + + /* + * Everything that hasn't already matched is an error. Throw exception immediately with the exact + * char to avoid getting auto-generated error messages with "unexpected $undefined" due to the + * resulting token not matching any existing, explicitly named tokens. + */ +. { throw_parser_syntax_error(*yyloc, "Unexpected character: '" + StringUtil::escape(vespalib::string(yytext, 1)) + "'"); } + +%% + diff --git a/document/src/vespa/document/select/grammar/parser.yy b/document/src/vespa/document/select/grammar/parser.yy new file mode 100644 index 00000000000..baf987355c9 --- /dev/null +++ b/document/src/vespa/document/select/grammar/parser.yy @@ -0,0 +1,374 @@ + /* Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. */ + +%output "parser.cxx" +%defines "parser.hxx" + + /* Skeleton implementation included as part of the generated source. Note: _not_ covered by the GPL. */ +%skeleton "lalr1.cc" + +%require "3.0" + + /* Uncomment to enable debugging of lexer invocations */ + /*%debug*/ + +%locations + +%define parse.error verbose +%define parse.assert + +%define api.token.prefix {T_} +%define api.namespace {document::select} +%define parser_class_name {DocSelParser} + + /* + * Due to current Bison variant support not being move-enabled (and our AST ptrs being move-only), + * we have to use good old POD unions for our rule results. Note that we have to use %destructor + * for all ptrs to ensure cleanup. + */ +%union { + int64_t i64_val; + double double_val; + const char* const_str_val; + vespalib::string* string_val; + Constant* constant_node; + ValueNode* value_node; + FieldExprNode* field_expr_node; + Node* abstract_node; +} + +%token END 0 "end of input" +%token NULL +%token TRUE +%token FALSE +%token AND +%token OR +%token NOT + + /* Specify aliases for several tokens for ease of use and better error reporting */ +%token GLOB "=" +%token REGEX "=~" +%token EQ "==" +%token NE "!=" +%token GE ">=" +%token LE "<=" +%token GT ">" +%token LT "<" +%token ID +%token NOW_FUNC + + /* + * Tokens that we only mention by alias in the grammar rules, but which we define + * explicitly to improve error reporting + */ +%token DOLLAR "$" +%token DOT "." +%token LPAREN "(" +%token RPAREN ")" +%token COMMA "," +%token PLUS "+" +%token MINUS "-" +%token MULTIPLY "*" +%token DIVIDE "/" +%token MODULO "%" + +%token IDENTIFIER +%token STRING +%token FP_MAP_LOOKUP FP_ARRAY_LOOKUP +%token FLOAT +%token INTEGER +%token USER GROUP SCHEME NAMESPACE SPECIFIC BUCKET GID TYPE ORDER + +%type ident mangled_ident +%type bool_ + /* TODO 'leaf' is a bad name for something that isn't a leaf... */ +%type expression comparison logical_expr leaf doc_type +%type id_arg +%type number null_ value string arith_expr id_spec variable +%type field_spec + +%destructor { delete $$; } IDENTIFIER STRING FP_MAP_LOOKUP FP_ARRAY_LOOKUP +%destructor { delete $$; } USER GROUP SCHEME NAMESPACE SPECIFIC BUCKET GID TYPE ORDER +%destructor { delete $$; } null_ bool_ number string doc_type ident id_arg id_spec +%destructor { delete $$; } variable mangled_ident field_spec value arith_expr +%destructor { delete $$; } comparison leaf logical_expr expression + +%start entry + +%parse-param {DocSelScanner& scanner} +%parse-param {const BucketIdFactory& bucket_id_factory} +%parse-param {const DocumentTypeRepo& doc_type_repo} +%parse-param {std::unique_ptr& recv_expr} + + /* Generated parser header file verbatim */ +%code requires { + +#include "location.hh" +#include +#include +#include +#include +#include +#include + +namespace document { +class BucketIdFactory; +class DocumentTypeRepo; +} + +namespace document::select { +class DocSelScanner; +class Node; +class Constant; +class ValueNode; +} + +} + +%code { + +// Bison has some chunky destructors that trigger inlining warnings. Disable warning +// for this translation unit, since we can't really do much about the code it generates. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Winline" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using string = vespalib::string; + +// Wrap grabbing pointers from sub-rules in a way that nulls out the +// stored attribute from the Bison stack. Otherwise, exception cleanup +// in the parser code will attempt to double-delete the pointee. +// Yes, it's not beautiful, but that's life when you're dealing with raw pointers. +template +std::unique_ptr steal(T*& ptr) noexcept { + std::unique_ptr owned(ptr); + ptr = nullptr; + return owned; +} + +// yylex tokenization must defer to scanner instance given to parser +#undef yylex +#define yylex scanner.yylex + +} + +%code provides { + +// This cute little indirection is to get around the syntax_error constructor +// being defined as inline and therefore not being available outside the +// auto-generated parser source file. +[[noreturn]] void throw_parser_syntax_error(const document::select::DocSelParser::location_type& loc, + const std::string& msg); + +} + + +%left OR +%left AND +%left EQ NE LT GT LE GE GLOB REGEX +%left PLUS MINUS +%left MULTIPLY DIVIDE +%left MODULO /* Matches legacy parser recursive descent precedence */ +%precedence NEG +%right UNOT +%left NON_DOT +%precedence DOT /* Used to give higher precedence to id.foo vs id expressions. Re: "dangling else" problem */ + +%% + +null_ + : NULL { $$ = new NullValueNode(); } + ; + +bool_ + : TRUE { $$ = new Constant(true); } + | FALSE { $$ = new Constant(false); } + ; + +number + : INTEGER { $$ = new IntegerValueNode($1, false); } + | FLOAT { $$ = new FloatValueNode($1); } + ; + +string + : STRING { { + try { + $$ = new StringValueNode(StringUtil::unescape(*steal($1))); + } catch (const vespalib::IllegalArgumentException& exc) { + throw syntax_error(@$, exc.getMessage()); + } + } } + ; + +doc_type + : ident { + if (doc_type_repo.getDocumentType(*$1) == nullptr) { + throw syntax_error(@$, vespalib::make_string("Document type '%s' not found", $1->c_str())); + } + $$ = new DocType(*steal($1)); + } + ; + +ident + : IDENTIFIER { $$ = $1; } + | SCHEME { $$ = $1; } + | TYPE { $$ = $1; } + | NAMESPACE { $$ = $1; } + | SPECIFIC { $$ = $1; } + | BUCKET { $$ = $1; } + | GID { $$ = $1; } + | ORDER { $$ = $1; } + ; + +id_arg + : USER { $$ = $1; } + | GROUP { $$ = $1; } + | SCHEME { $$ = $1; } + | NAMESPACE { $$ = $1; } + | SPECIFIC { $$ = $1; } + | BUCKET { $$ = $1; } + | GID { $$ = $1; } + | TYPE { $$ = $1; } + ; + +id_spec + : ID %prec NON_DOT { $$ = new IdValueNode(bucket_id_factory, "id", ""); } /* Prefer shifting instead of reducing */ + | ID "." id_arg { $$ = new IdValueNode(bucket_id_factory, "id", *steal($3)); } + | ID "." IDENTIFIER "(" ")" { $$ = new FunctionValueNode(*steal($3), std::make_unique(bucket_id_factory, "id", "")); } + | ID "." ORDER "(" INTEGER "," INTEGER ")" { $$ = new IdValueNode(bucket_id_factory, "id", *steal($3), $5, $7); } + ; + +variable + : "$" ident { $$ = new VariableValueNode(*steal($2)); } + ; + + /* FIXME this is a horrible leftover of post-parsed fieldpath processing */ + /* At least we verify structural integrity at initial parse-time now... */ + /* Post-parsing should be replaced with an actual parse-time built AST! */ +mangled_ident + : ident { $$ = $1; } + | mangled_ident FP_MAP_LOOKUP { $1->append(*steal($2)); $$ = $1; } + | mangled_ident FP_ARRAY_LOOKUP { $1->append(*steal($2)); $$ = $1; } + ; + +field_spec + : ident "." mangled_ident { + if (doc_type_repo.getDocumentType(*$1) == nullptr) { + throw syntax_error(@$, vespalib::make_string("Document type '%s' not found", $1->c_str())); + } + $$ = new FieldExprNode(std::make_unique(*steal($1)), *steal($3)); + } + | field_spec "." mangled_ident { $$ = new FieldExprNode(steal($1), *steal($3)); } + ; + +value + : null_ { $$ = $1; } + | string { $$ = $1; } + | id_spec { $$ = $1; } + | variable { $$ = $1; } + | NOW_FUNC { $$ = new CurrentTimeValueNode(); } + ; + +arith_expr + : value { $$ = $1; } + | number { $$ = $1; } + /* JavaCC and legacy parsers don't support unary plus/minus for _expressions_, just for numbers. So we have to fudge this a bit. */ + | "-" number %prec NEG { + if (dynamic_cast($2) != nullptr) { + $$ = new IntegerValueNode(- static_cast(*steal($2)).getValue(), false); + } else { + $$ = new FloatValueNode(- dynamic_cast(*steal($2)).getValue()); + } + } + | "+" number %prec NEG { $$ = $2; } + | field_spec { $$ = steal($1)->convert_to_field_value().release(); } + | field_spec "(" ")" { $$ = steal($1)->convert_to_function_call().release(); } + | arith_expr "+" arith_expr { $$ = new ArithmeticValueNode(steal($1), "+", steal($3)); } + | arith_expr "-" arith_expr { $$ = new ArithmeticValueNode(steal($1), "-", steal($3)); } + | arith_expr "*" arith_expr { $$ = new ArithmeticValueNode(steal($1), "*", steal($3)); } + | arith_expr "/" arith_expr { $$ = new ArithmeticValueNode(steal($1), "/", steal($3)); } + | arith_expr "%" arith_expr { $$ = new ArithmeticValueNode(steal($1), "%", steal($3)); } + | "(" arith_expr ")" { $$ = $2; $$->setParentheses(); } + | arith_expr "." IDENTIFIER "(" ")" { $$ = new FunctionValueNode(*steal($3), steal($1)); } /* FIXME shift/reduce conflict */ + ; + +comparison + : arith_expr EQ arith_expr { $$ = new Compare(steal($1), FunctionOperator::EQ, steal($3), bucket_id_factory); } + | arith_expr NE arith_expr { $$ = new Compare(steal($1), FunctionOperator::NE, steal($3), bucket_id_factory); } + | arith_expr GE arith_expr { $$ = new Compare(steal($1), FunctionOperator::GEQ, steal($3), bucket_id_factory); } + | arith_expr LE arith_expr { $$ = new Compare(steal($1), FunctionOperator::LEQ, steal($3), bucket_id_factory); } + | arith_expr GT arith_expr { $$ = new Compare(steal($1), FunctionOperator::GT, steal($3), bucket_id_factory); } + | arith_expr LT arith_expr { $$ = new Compare(steal($1), FunctionOperator::LT, steal($3), bucket_id_factory); } + | arith_expr GLOB arith_expr { $$ = new Compare(steal($1), GlobOperator::GLOB, steal($3), bucket_id_factory); } + | arith_expr REGEX arith_expr { $$ = new Compare(steal($1), RegexOperator::REGEX, steal($3), bucket_id_factory); } + ; + +leaf + : bool_ { $$ = $1; } + | comparison { $$ = $1; } + | doc_type { $$ = $1; } + | arith_expr { /* Actually field_spec, see comment below..! */ + // Grammar-wise, we _do not_ accept arbitrary arith_exprs at this level. But the + // selection grammar as it stands is otherwise ambiguous with LR(1) parsing. + // More specifically, if we used field_spec instead of arith_expr here, the parser + // state machine cannot decide what to do if it has processed the sequence '(' field_spec + // and sees the next token of ')'. Since both logical_expr and arith_expr allows for + // parenthesis expression recursion, the reduce step may produce either of these and + // is therefore technically undefined. By using arith_expr instead for this rule, all + // '(' field_spec ')' sequences result in an arith_expr rule match and the reduce/reduce + // conflict goes away. We can then do a sneaky "run-time" type check to ensure we only + // get the expected node from the rule. + // It's not pretty, but it avoids an undefined grammar (which is much less pretty!). + auto node = steal($1); + if (dynamic_cast(node.get()) == nullptr) { + throw syntax_error(@$, "expected field spec, doctype, bool or comparison"); + } + // Implicit rewrite to non-null comparison node + $$ = new Compare(std::move(node), + FunctionOperator::NE, + std::make_unique(), + bucket_id_factory); + } + ; + +logical_expr + : leaf { $$ = $1; } + | logical_expr AND logical_expr { $$ = new And(steal($1), steal($3)); } + | logical_expr OR logical_expr { $$ = new Or(steal($1), steal($3)); } + | NOT logical_expr %prec UNOT { $$ = new Not(steal($2)); } + | "(" logical_expr ")" { $$ = $2; $$->setParentheses(); } + ; + +expression + : logical_expr { $$ = $1; } + ; + +entry + : expression END { recv_expr = steal($1); } + | END { recv_expr = std::make_unique(true); } + ; + +%% + +void document::select::DocSelParser::error(const location_type& l, const std::string& what) { + throw syntax_error(l, what); +} + +void throw_parser_syntax_error(const document::select::DocSelParser::location_type& loc, const std::string& msg) { + throw document::select::DocSelParser::syntax_error(loc, msg); +} + +#pragma GCC diagnostic pop diff --git a/document/src/vespa/document/select/node.h b/document/src/vespa/document/select/node.h index eab46e824c8..83e2ea3542d 100644 --- a/document/src/vespa/document/select/node.h +++ b/document/src/vespa/document/select/node.h @@ -5,9 +5,8 @@ * * @brief Base class for all nodes in the document selection tree. * - * @author H�kon Humberset + * @author Håkon Humberset * @date 2005-06-07 - * @version $Id$ */ #pragma once diff --git a/document/src/vespa/document/select/orderingselector.cpp b/document/src/vespa/document/select/orderingselector.cpp index bf8e96c0533..836647aab26 100644 --- a/document/src/vespa/document/select/orderingselector.cpp +++ b/document/src/vespa/document/select/orderingselector.cpp @@ -137,7 +137,6 @@ namespace { void visitArithmeticValueNode(const ArithmeticValueNode &) override {} void visitFunctionValueNode(const FunctionValueNode &) override {} void visitIdValueNode(const IdValueNode &) override {} - void visitSearchColumnValueNode(const SearchColumnValueNode &) override {} void visitFieldValueNode(const FieldValueNode &) override {} void visitFloatValueNode(const FloatValueNode &) override {} void visitVariableValueNode(const VariableValueNode &) override {} diff --git a/document/src/vespa/document/select/parse_utils.cpp b/document/src/vespa/document/select/parse_utils.cpp new file mode 100644 index 00000000000..ab4ce2f6d4a --- /dev/null +++ b/document/src/vespa/document/select/parse_utils.cpp @@ -0,0 +1,37 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "parse_utils.h" +#include + +namespace document::select::util { + +namespace qi = boost::spirit::qi; + +// TODO replace use of Spirit.Qi with std::from_string when available. +// Note: these parsers are all pure, reentrant and without locking. +bool parse_hex_i64(const char* str, size_t len, int64_t& out) { + const char* iter = str; + const char* end = str + len; + // Legacy parser parses hex numbers as u64 rather than i64 (then implicitly + // converts), so we do the same thing here to avoid change of semantics. + using u64_hex_parser = qi::uint_parser; + u64_hex_parser u64_hex; + uint64_t tmp = 0; + const bool ok = qi::parse(iter, end, u64_hex, tmp); + out = static_cast(tmp); + return (ok && (iter == end)); +} +bool parse_i64(const char* str, size_t len, int64_t& out) { + const char* iter = str; + const char* end = str + len; + const bool ok = qi::parse(iter, end, qi::long_long, out); + return (ok && (iter == end)); +} +bool parse_double(const char* str, size_t len, double& out) { + const char* iter = str; + const char* end = str + len; + const bool ok = qi::parse(iter, end, qi::double_, out); + return (ok && (iter == end)); +} + +} diff --git a/document/src/vespa/document/select/parse_utils.h b/document/src/vespa/document/select/parse_utils.h new file mode 100644 index 00000000000..38c36dfe94a --- /dev/null +++ b/document/src/vespa/document/select/parse_utils.h @@ -0,0 +1,17 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +#include +#include + +namespace document::select::util { + +// Fast, locale-independent numeric parse helpers for Flex lexing. + +// For all parse_* functions, returns true if parsing is successful. False otherwise. +// Value of `out` is undefined if return value is false. +bool parse_hex_i64(const char* str, size_t len, int64_t& out); +bool parse_i64(const char* str, size_t len, int64_t& out); +bool parse_double(const char* str, size_t len, double& out); + +} \ No newline at end of file diff --git a/document/src/vespa/document/select/parser.cpp b/document/src/vespa/document/select/parser.cpp index ceaf0b0c438..9f015409011 100644 --- a/document/src/vespa/document/select/parser.cpp +++ b/document/src/vespa/document/select/parser.cpp @@ -1,1493 +1,33 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - #include "parser.h" -#include "branch.h" -#include "compare.h" -#include "constant.h" -#include "operator.h" -#include "doctype.h" -#include "valuenode.h" -#include "simpleparser.h" - -#include +#include "scanner.h" #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include -using boost::spirit::classic::tree_node; -using document::DocumentTypeRepo; -using std::unique_ptr; -using std::cerr; -using std::endl; -using std::istringstream; -using std::ostringstream; -using vespalib::IllegalStateException; - -/* - * This cannot be part of a plugin. boost contains constructs causing - * compiler to generate calls to atexit(). - */ - -#define parse_assert(a) - -namespace document { -namespace select { - -VESPA_IMPLEMENT_EXCEPTION(ParsingFailedException, vespalib::Exception); - -Parser::Parser(const DocumentTypeRepo& repo, - const BucketIdFactory& bucketIdFactory) - : _repo(repo), - _bucketIdFactory(bucketIdFactory) -{ -} - -namespace { - -/** - * Defines the grammar for the document selection text format. - */ -struct DocSelectionGrammar - : public boost::spirit::classic::grammar -{ - /** Node identifiers (value 0 should not be used) */ - enum ids { id_nil=1, id_bool, id_number, id_string, - id_doctype, id_fieldname, id_function, id_idarg, id_searchcolumnarg, - id_operator, id_idspec, id_searchcolumnspec, id_fieldspec, id_value, - id_valuefuncadd, id_valuefuncmul, id_valuefuncmod, - id_valuegroup, id_arithmvalue, - id_comparison, id_leaf, id_not, id_and, - id_or, id_group, id_order, id_expression, id_variable }; - - const DocumentTypeRepo &_repo; - const BucketIdFactory& _bucketIdFactory; - - DocSelectionGrammar(const DocumentTypeRepo& repo, - const BucketIdFactory& bucketIdFactory) - : _repo(repo), - _bucketIdFactory(bucketIdFactory) {} - - const BucketIdFactory& getBucketIdFactory() const - { return _bucketIdFactory; } - - /** Grammar base types. To be able to retrieve different grammars. */ - template - struct gram_base { - typedef typename boost::spirit::classic::rule > rule_nil; - typedef typename boost::spirit::classic::rule > rule_bool; - typedef typename boost::spirit::classic::rule > rule_number; - typedef typename boost::spirit::classic::rule > rule_string; - typedef typename boost::spirit::classic::rule > rule_doctype; - typedef typename boost::spirit::classic::rule > rule_fieldname; - typedef typename boost::spirit::classic::rule > rule_function; - typedef typename boost::spirit::classic::rule > rule_idarg; - typedef typename boost::spirit::classic::rule > rule_searchcolumnarg; - typedef typename boost::spirit::classic::rule > rule_operator; - typedef typename boost::spirit::classic::rule > rule_idspec; - typedef typename boost::spirit::classic::rule > rule_searchcolumnspec; - typedef typename boost::spirit::classic::rule > rule_fieldspec; - typedef typename boost::spirit::classic::rule > rule_value; - typedef typename boost::spirit::classic::rule > rule_valuefuncadd; - typedef typename boost::spirit::classic::rule > rule_valuefuncmul; - typedef typename boost::spirit::classic::rule > rule_valuefuncmod; - typedef typename boost::spirit::classic::rule > rule_valuegroup; - typedef typename boost::spirit::classic::rule > rule_arithmvalue; - typedef typename boost::spirit::classic::rule > rule_comparison; - typedef typename boost::spirit::classic::rule > rule_leaf; - typedef typename boost::spirit::classic::rule > rule_not; - typedef typename boost::spirit::classic::rule > rule_and; - typedef typename boost::spirit::classic::rule > rule_or; - typedef typename boost::spirit::classic::rule > rule_group; - typedef typename boost::spirit::classic::rule > rule_order; - typedef typename boost::spirit::classic::rule > rule_expression; - typedef typename boost::spirit::classic::rule > rule_variable; - typedef boost::spirit::classic::grammar_def type; - }; - - template - struct definition : gram_base::type - { - typename gram_base::rule_nil _nil; - typename gram_base::rule_bool _bool; - typename gram_base::rule_number _number; - typename gram_base::rule_string _string; - typename gram_base::rule_doctype _doctype; - typename gram_base::rule_fieldname _fieldname; - typename gram_base::rule_function _function; - typename gram_base::rule_idarg _idarg; - typename gram_base::rule_searchcolumnarg _searchcolumnarg; - typename gram_base::rule_operator _operator; - typename gram_base::rule_idspec _idspec; - typename gram_base::rule_searchcolumnspec _searchcolumnspec; - typename gram_base::rule_fieldspec _fieldspec; - typename gram_base::rule_value _value; - typename gram_base::rule_valuefuncadd _valuefuncadd; - typename gram_base::rule_valuefuncmul _valuefuncmul; - typename gram_base::rule_valuefuncmod _valuefuncmod; - typename gram_base::rule_valuegroup _valuegroup; - typename gram_base::rule_arithmvalue _arithmvalue; - typename gram_base::rule_comparison _comparison; - typename gram_base::rule_leaf _leaf; - typename gram_base::rule_not _not; - typename gram_base::rule_and _and; - typename gram_base::rule_or _or; - typename gram_base::rule_group _group; - typename gram_base::rule_order _order; - typename gram_base::rule_expression _expression; - typename gram_base::rule_variable _variable; +namespace document::select { - definition(const DocSelectionGrammar&) - : _nil(), - _bool(), - _number(), - _string(), - _doctype(), - _fieldname(), - _function(), - _idarg(), - _operator(), - _idspec(), - _searchcolumnspec(), - _fieldspec(), - _value(), - _valuefuncadd(), - _valuefuncmul(), - _valuefuncmod(), - _valuegroup(), - _arithmvalue(), - _comparison(), - _leaf(), - _not(), - _and(), - _or(), - _group(), - _order(), - _expression(), - _variable() - { - using namespace boost::spirit::classic; +std::unique_ptr Parser::parse(const std::string& str) const { + try { + std::istringstream ss(str); + DocSelScanner scanner(&ss); - boost::spirit::classic::uint_parser hexvalue; - - // Initialize primitives - _nil = lexeme_d[ as_lower_d["null"] ]; - _bool = lexeme_d[ as_lower_d["true"] | as_lower_d["false"] ]; - _number = lexeme_d[ str_p("0x") >> hexvalue ] | lexeme_d[ real_p ]; - _string = ( lexeme_d[ - ( no_node_d[ ch_p('"') ] >> - token_node_d[ *( ~chset<>("\\\"\x00-\x1f\x7f-\xff") | - ( '\\' >> ( ch_p('\\') | 't' | 'n' | 'f' | 'r' | '"' | - (ch_p('x') >> xdigit_p >> xdigit_p) ) ) ) ] >> - no_node_d[ ch_p('"') ] ) | - ( no_node_d[ ch_p('\'') ] >> - token_node_d[ *( ~chset<>("\\'\x00-\x1f\x7f-\xff") | - ( '\\' >> ( ch_p('\\') | 't' | 'n' | 'f' | 'r' | '\'' | - (ch_p('x') >> xdigit_p >> xdigit_p) ) ) ) ] >> - no_node_d[ ch_p('\'') ] ) - ] ); - _doctype = lexeme_d[ token_node_d[ chset<>("_A-Za-z") - >> *(chset<>("_A-Za-z0-9")) ]]; - _fieldname = lexeme_d[ token_node_d[chset<>("_A-Za-z") - >> *(chset<>("_A-Za-z0-9{}[]$")) - ]]; - _function = lexeme_d[ token_node_d[ chset<>("A-Za-z") - >> *(chset<>("A-Za-z0-9")) ] - >> no_node_d[ str_p("()") ] ]; - - _order = as_lower_d["order"] - >> no_node_d[ ch_p('(') ] - >> _number - >> no_node_d[ ch_p(',') ] - >> _number - >> no_node_d[ ch_p(')') ]; - - _idarg = (as_lower_d[ "scheme"] | as_lower_d[ "namespace"] | - as_lower_d[ "specific" ] | as_lower_d[ "user" ] | - as_lower_d[ "group" ] | as_lower_d[ "bucket" ] | - as_lower_d[ "gid" ] | as_lower_d["type"] | _order); - - _searchcolumnarg = lexeme_d[ token_node_d[ *(chset<>("_A-Za-z0-9")) ]]; - _operator = (str_p(">=") | ">" | "==" | "=~" | "=" - | "<=" | "<" | "!="); - // Derived - _idspec = as_lower_d["id"] - >> !(no_node_d[ ch_p('.') ] >> _idarg); - _searchcolumnspec = as_lower_d["searchcolumn"] - >> !(no_node_d[ ch_p('.') ] >> _searchcolumnarg); - _fieldspec = _doctype - >> +( no_node_d[ ch_p('.') ] >> (_function | _fieldname)); - _variable = lexeme_d[ token_node_d[chset<>("$") - >> *(chset<>("A-Za-z0-9")) - ]]; - _value = (_valuegroup | _function | _nil | _number | _string - | _idspec | _searchcolumnspec | _fieldspec | _variable) - >> *(no_node_d[ ch_p('.') ] >> _function); - _valuefuncmod = (_valuegroup | _value) - >> +( ch_p('%') - >> (_valuegroup | _value) ); - _valuefuncmul = (_valuefuncmod | _valuegroup | _value) - >> +( (ch_p('*') | ch_p('/')) - >> (_valuefuncmod | _valuegroup | _value)); - _valuefuncadd - = (_valuefuncmul | _valuefuncmod | _valuegroup | _value) - >> +((ch_p('+') | ch_p('-')) - >> (_valuefuncmul | _valuefuncmod | _valuegroup | - _value)); - _valuegroup = no_node_d[ ch_p('(') ] >> _arithmvalue - >> no_node_d[ ch_p(')') ] - >> *(no_node_d[ ch_p('.') ] >> _function); - _arithmvalue = (_valuefuncadd | _valuefuncmul | _valuefuncmod - | _valuegroup | _value); - _comparison = _arithmvalue >> _operator >> _arithmvalue; - _leaf = _bool | _comparison | _fieldspec | _doctype; - - _not = (as_lower_d["not"] >> _group) - | (lexeme_d[ as_lower_d["not"] >> no_node_d[ space_p ] ] >> _leaf); - _and = (_not | _group | _leaf) - >> as_lower_d["and"] >> (_and | _not | _group | _leaf); - _or = (_and | _not | _group | _leaf) - >> as_lower_d["or"] >> (_or | _and | _not | _group | _leaf); - _group = no_node_d[ ch_p('(') ] - >> (_or | _and | _not | _group | _leaf) - >> no_node_d[ ch_p(')') ]; - - _expression = !(_or | _and | _not | _group | _leaf) >> end_p; - - this->start_parsers(_expression, _leaf, _arithmvalue); + std::unique_ptr root; + DocSelParser parser(scanner, _bucket_id_factory, _doc_type_repo, root); + if (parser.parse() != 0) { + throw ParsingFailedException( + vespalib::make_string("Unknown parse failure while parsing selection '%s'", str.c_str()), + VESPA_STRLOC); } - }; - -}; - -template -std::unique_ptr -parseTree(DocSelectionGrammar& grammar, tree_node& root) { - return parseNode(grammar, root); -} - -template -std::unique_ptr -parseNode(DocSelectionGrammar& grammar, tree_node& node) { - switch (node.value.id().to_long()) { - case DocSelectionGrammar::id_or: - return parseOr(grammar, node); - case DocSelectionGrammar::id_and: - return parseAnd(grammar, node); - case DocSelectionGrammar::id_not: - return parseNot(grammar, node); - case DocSelectionGrammar::id_group: - { - std::unique_ptr n(parseNode(grammar, node.children[0])); - n->setParentheses(); - return n; - } - case DocSelectionGrammar::id_leaf: - case DocSelectionGrammar::id_value: - parse_assert(node.children.size() == 1); - return parseNode(grammar, node.children[0]); - case DocSelectionGrammar::id_expression: - if (node.children.size() == 1) { - return parseNode(grammar, node.children[0]); - } - parse_assert(node.children.size() == 0); - return std::unique_ptr(new Constant("true")); - case DocSelectionGrammar::id_bool: - return parseBool(grammar, node); - case DocSelectionGrammar::id_comparison: - return parseComparison(grammar, node); - case DocSelectionGrammar::id_fieldspec: - return parseFieldSpec(grammar, node); - case DocSelectionGrammar::id_doctype: - return parseDocType(grammar, node); - } - vespalib::asciistream ost; - ost << "Received unhandled nodetype " - << node.value.id().to_long() << " in parseNode()\n"; - throw IllegalStateException(ost.str(), VESPA_STRLOC); -} - -template -std::unique_ptr -parseOr(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_or); - parse_assert(node.children.size() == 3); - vespalib::string op(node.children[1].value.begin(), - node.children[1].value.end()); - return std::unique_ptr(new Or( - parseNode(grammar, node.children[0]), - parseNode(grammar, node.children[2]), - op.c_str())); -} - -template -std::unique_ptr -parseAnd(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_and); - parse_assert(node.children.size() == 3); - vespalib::string op(node.children[1].value.begin(), - node.children[1].value.end()); - return std::unique_ptr(new And( - parseNode(grammar, node.children[0]), - parseNode(grammar, node.children[2]), - op.c_str())); -} - -template -std::unique_ptr -parseNot(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_not); - parse_assert(node.children.size() == 2); - vespalib::string op(node.children[0].value.begin(), - node.children[0].value.end()); - return std::unique_ptr(new Not( - parseNode(grammar, node.children[1]), op.c_str())); -} - -template -std::unique_ptr -parseBool(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_bool); - parse_assert(node.children.size() == 1); - parse_assert(node.children[0].value.id().to_long() == grammar.id_bool); - parse_assert(node.children[0].children.size() == 0); - vespalib::string s(node.children[0].value.begin(), node.children[0].value.end()); - return std::unique_ptr(new Constant(s)); -} - -template -std::unique_ptr -parseComparison(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_comparison); - parse_assert(node.children.size() == 3); - parse_assert(node.children[1].children.size() == 1); - vespalib::string op(node.children[1].children[0].value.begin(), - node.children[1].children[0].value.end()); - return std::unique_ptr(new Compare( - parseArithmValue(grammar, node.children[0]), - Operator::get(op), - parseArithmValue(grammar, node.children[2]), - grammar.getBucketIdFactory())); -} - -template -std::unique_ptr -parseFieldSpec(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_fieldspec); - return std::unique_ptr(new Compare( - parseFieldSpecValue(grammar, node), - Operator::get("!="), - std::unique_ptr(new NullValueNode("null")), - grammar.getBucketIdFactory())); -} - -template -std::unique_ptr -parseVariable(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_variable); - vespalib::string varName(node.children[0].value.begin(), - node.children[0].value.end()); - return std::unique_ptr(new VariableValueNode(varName.substr(1))); -} - -template -std::unique_ptr -parseGlobValueFunction(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_function); - vespalib::string varName(node.children[0].value.begin(), - node.children[0].value.end()); - if (varName == "now") { - return std::unique_ptr(new CurrentTimeValueNode); + return root; + } catch (const DocSelParser::syntax_error& err) { + throw ParsingFailedException( + vespalib::make_string("%s at column %u when parsing selection '%s'", + err.what(), err.location.begin.column, str.c_str()), + VESPA_STRLOC); } - throw ParsingFailedException("Unexpected function name '" + varName - + "' found.", VESPA_STRLOC); } -template -std::unique_ptr -parseDocType(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_doctype); - parse_assert(node.children.size() == 1); - parse_assert(node.children[0].value.id().to_long() == grammar.id_doctype); - parse_assert(node.children[0].children.size() == 0); - vespalib::string doctype(node.children[0].value.begin(), - node.children[0].value.end()); - // Verify existance of any version of document - if (!grammar._repo.getDocumentType(doctype)) { - throw ParsingFailedException("Document type " + doctype + " not found", - VESPA_STRLOC); - } - return std::unique_ptr(new DocType(doctype)); -} - -template -std::unique_ptr -addFunctions(DocSelectionGrammar& grammar, tree_node& node, - std::unique_ptr src, uint32_t index) -{ - (void) grammar; - while (index < node.children.size()) { - parse_assert(node.children[index].value.id().to_long() - == grammar.id_function); - vespalib::string func(node.children[index].children[0].value.begin(), - node.children[index].children[0].value.end()); - std::unique_ptr fnode(new FunctionValueNode(func, std::move(src))); - src = std::move(fnode); - ++index; - } - return std::move(src); -} - -template -std::unique_ptr -parseArithmValue(DocSelectionGrammar& grammar, tree_node& node) { - switch (node.value.id().to_long()) { - case DocSelectionGrammar::id_arithmvalue: - parse_assert(node.children.size() == 1); - return parseArithmValue(grammar, node.children[0]); - case DocSelectionGrammar::id_value: - return parseValue(grammar, node); - case DocSelectionGrammar::id_valuegroup: - return parseValueGroup(grammar, node); - case DocSelectionGrammar::id_valuefuncadd: - case DocSelectionGrammar::id_valuefuncmul: - case DocSelectionGrammar::id_valuefuncmod: - return parseValueArithmetics(grammar, node); - } - vespalib::asciistream ost; - ost << "Received unhandled nodetype " - << node.value.id().to_long() - << " in parseArithmValue()\n"; - throw IllegalStateException(ost.str(), VESPA_STRLOC); -} - -template -std::unique_ptr -parseValueArithmetics(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.children.size() >= 3 && node.children.size() % 2 == 1); - std::unique_ptr lhs(parseArithmValue(grammar, node.children[0])); - for (unsigned int i = 1; i < node.children.size(); i += 2) { - vespalib::string op(node.children[i].value.begin(), - node.children[i].value.end()); - std::unique_ptr rhs(parseArithmValue(grammar, - node.children[i + 1])); - std::unique_ptr res( - new ArithmeticValueNode(std::move(lhs), op, std::move(rhs))); - lhs = std::move(res); - } - return lhs; -} - -template -std::unique_ptr -parseValueGroup(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_valuegroup); - parse_assert(node.children.size() >= 1); - std::unique_ptr result( - parseArithmValue(grammar, node.children[0])); - result->setParentheses(); - return addFunctions(grammar, node, std::move(result), 1); -} - -template -std::unique_ptr -parseValue(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_value); - parse_assert(node.children.size() >= 1); - std::unique_ptr result; - switch (node.children[0].value.id().to_long()) { - case DocSelectionGrammar::id_nil: - result = parseNilValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_idspec: - result = parseIdSpecValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_searchcolumnspec: - result = parseSearchColumnSpecValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_fieldspec: - result = parseFieldSpecValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_number: - result = parseNumberValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_string: - result = parseStringValue(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_valuegroup: - result = parseValueGroup(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_variable: - result = parseVariable(grammar, node.children[0]); - break; - case DocSelectionGrammar::id_function: - result = parseGlobValueFunction(grammar, node.children[0]); - break; - default: - vespalib::asciistream ost; - ost << "Received unhandled nodetype " - << node.children[0].value.id().to_long() - << " in parseValue(), from node of type " - << node.value.id().to_long() << "\n"; - throw IllegalStateException(ost.str(), VESPA_STRLOC); - } - return addFunctions(grammar, node, std::move(result), 1); -} - -template -std::unique_ptr -parseNilValue(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_nil); - parse_assert(node.children.size() == 1); - parse_assert(node.children[0].children.size() == 0); - vespalib::string op(node.children[0].value.begin(), - node.children[0].value.end()); - return std::unique_ptr(new NullValueNode(op)); -} - -template -std::unique_ptr -parseIdSpecValue(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_idspec); - parse_assert(node.children.size() >= 1); - parse_assert(node.children[0].children.size() == 0); - vespalib::string id(node.children[0].value.begin(), - node.children[0].value.end()); - if (node.children.size() == 1) { - return std::unique_ptr( - new IdValueNode(grammar.getBucketIdFactory(), id, "")); - } - - vespalib::string type; - - int widthBits = -1; - int divisionBits = -1; - - if (node.children[1].children[0].value.id().to_long() == grammar.id_order) { - tree_node& ordernode(node.children[1].children[0]); - type = vespalib::string(ordernode.children[0].value.begin(), - ordernode.children[0].value.end()); - - vespalib::string val = vespalib::string( - ordernode.children[1].children[0].value.begin(), - ordernode.children[1].children[0].value.end()); - widthBits = atoi(val.c_str()); - - val = vespalib::string(ordernode.children[2].children[0].value.begin(), - ordernode.children[2].children[0].value.end()); - divisionBits = atoi(val.c_str()); - } else { - type = vespalib::string(node.children[1].children[0].value.begin(), - node.children[1].children[0].value.end()); - } - - return std::unique_ptr( - new IdValueNode(grammar.getBucketIdFactory(), id, type, - widthBits, divisionBits)); -} - -template -std::unique_ptr -parseSearchColumnSpecValue(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_searchcolumnspec); - parse_assert(node.children.size() == 2); - parse_assert(node.children[0].children.size() == 0); - parse_assert(node.children[1].value.id().to_long() == grammar.id_searchcolumnarg); - - vespalib::string id(node.children[0].value.begin(), - node.children[0].value.end()); - parse_assert(node.children.size() == 2); - - vespalib::string val = vespalib::string(node.children[1].children[0].value.begin(), - node.children[1].children[0].value.end()); - return std::unique_ptr(new SearchColumnValueNode( - grammar.getBucketIdFactory(), id, atoi(val.c_str()))); -} - -template -std::unique_ptr -parseFieldSpecValue(DocSelectionGrammar& grammar, tree_node& node) { - parse_assert(node.value.id().to_long() == grammar.id_fieldspec); - parse_assert(node.children.size() >= 2); - parse_assert(node.children[0].value.id().to_long() == grammar.id_doctype); - vespalib::string doctype(node.children[0].children[0].value.begin(), - node.children[0].children[0].value.end()); - // Verify that document type exist at any version - if (!grammar._repo.getDocumentType(doctype)) { - throw ParsingFailedException("Document type " + doctype + " not found", - VESPA_STRLOC); - } - std::unique_ptr value; - uint32_t iterator = 2; - - parse_assert(node.children[1].value.id().to_long() == grammar.id_fieldname); - vespalib::string field(node.children[1].children[0].value.begin(), - node.children[1].children[0].value.end()); - while (iterator < node.children.size() - && node.children[iterator].value.id().to_long() == grammar.id_fieldname) - { - field += "." + vespalib::string( - node.children[iterator].children[0].value.begin(), - node.children[iterator].children[0].value.end()); - ++iterator; - } - value.reset(new FieldValueNode(doctype, field)); - - for (; iterator child(std::move(value)); - vespalib::string function(node.children[iterator].children[0].value.begin(), - node.children[iterator].children[0].value.end()); - parse_assert(node.children[iterator].value.id().to_long() == grammar.id_function); - value.reset(new FunctionValueNode(function, std::move(child))); - } - return value; -} - -template -std::unique_ptr -parseNumberValue(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_number); - vespalib::string sval; - int base = 10; - if (node.children.size() == 2) { - base = 16; - sval = vespalib::string(node.children[1].value.begin(), - node.children[1].value.end()); - parse_assert(node.children[0].value.id().to_long() == grammar.id_number); - parse_assert(node.children[1].value.id().to_long() == grammar.id_number); - } else { - parse_assert(node.children.size() == 1); - sval = vespalib::string(node.children[0].value.begin(), - node.children[0].value.end()); - parse_assert(node.children[0].value.id().to_long() == grammar.id_number); - } - if (sval.find('.') != vespalib::string::npos) { - char* endptr; - double val = vespalib::locale::c::strtod(sval.c_str(), &endptr); - if (*endptr == '\0') { - return std::unique_ptr(new FloatValueNode(val)); - } - } else { - char* endptr; - int64_t val; - if (base == 16) { - val = strtoull(sval.c_str(), &endptr, base); - } else { - val = strtoll(sval.c_str(), &endptr, base); - } - if (*endptr == '\0') { - return std::unique_ptr(new IntegerValueNode(val, false)); - } - } - vespalib::string error = "'" + sval + "' is not a valid number."; - throw ParsingFailedException(error, VESPA_STRLOC); -} - -template -std::unique_ptr -parseStringValue(DocSelectionGrammar& grammar, tree_node& node) { - (void) grammar; - parse_assert(node.value.id().to_long() == grammar.id_string); - if (node.children.size() == 0) { - return std::unique_ptr(new StringValueNode("")); - } - parse_assert(node.children.size() == 1); - parse_assert(node.children[0].value.id().to_long() == grammar.id_string); - vespalib::string val(node.children[0].value.begin(), - node.children[0].value.end()); - return std::unique_ptr(new StringValueNode(StringUtil::unescape(val))); -} - -template -void printSpiritTree(std::ostream& out, Tree tree, const vespalib::string& query, - const DocSelectionGrammar& grammar) { - using boost::spirit::classic::parser_id; - - std::map names; - names[parser_id(grammar.id_bool)] = "bool"; - names[parser_id(grammar.id_number)] = "number"; - names[parser_id(grammar.id_string)] = "string"; - names[parser_id(grammar.id_doctype)] = "doctype"; - names[parser_id(grammar.id_fieldname)] = "fieldname"; - names[parser_id(grammar.id_function)] = "function"; - names[parser_id(grammar.id_idarg)] = "idarg"; - names[parser_id(grammar.id_searchcolumnarg)] = "searchcolumnarg"; - names[parser_id(grammar.id_operator)] = "operator"; - names[parser_id(grammar.id_idspec)] = "idspec"; - names[parser_id(grammar.id_searchcolumnspec)] = "searchcolumnspec"; - names[parser_id(grammar.id_fieldspec)] = "fieldspec"; - names[parser_id(grammar.id_value)] = "value"; - names[parser_id(grammar.id_valuefuncadd)] = "valuefuncadd"; - names[parser_id(grammar.id_valuefuncmul)] = "valuefuncmul"; - names[parser_id(grammar.id_valuefuncmod)] = "valuefuncmod"; - names[parser_id(grammar.id_valuegroup)] = "valuegroup"; - names[parser_id(grammar.id_arithmvalue)] = "arithmvalue"; - names[parser_id(grammar.id_comparison)] = "comparison"; - names[parser_id(grammar.id_leaf)] = "leaf"; - names[parser_id(grammar.id_not)] = "not"; - names[parser_id(grammar.id_and)] = "and"; - names[parser_id(grammar.id_or)] = "or"; - names[parser_id(grammar.id_group)] = "group"; - names[parser_id(grammar.id_expression)] = "expression"; - tree_to_xml(out, tree, query.c_str(), names); -} - -template -bool testExpr(const DocumentTypeRepo& repo, - const BucketIdFactory& factory, - const vespalib::string& expression, const Parser& parser, - const vespalib::string& result) -{ - //std::cerr << "Testing expression '" << expression << "'.\n"; - using boost::spirit::classic::space_p; - - DocSelectionGrammar grammar(repo, factory); - boost::spirit::classic::tree_parse_info<> info; - info = pt_parse(expression.c_str(), parser, - space_p); - std::ostringstream ost; - printSpiritTree(ost, info.trees, expression, grammar); - if (!info.full) { - cerr << "Expression '" << expression - << "' wasn't completely parsed\n" - << ost.str() << "\n"; - return false; - } - vespalib::string httpexpr = expression; - vespalib::string::size_type index; - while ((index = httpexpr.find('>')) != vespalib::string::npos) { - httpexpr = httpexpr.substr(0,index) + ">" - + httpexpr.substr(index+1); - } - vespalib::string fullresult = "\n" - "\n" - "\n" + result; - //if (ost.str() != fullresult) { - if (fullresult != ost.str()) { - cerr << "Parsing expression '" << expression << "', expected\n" - << fullresult << "\nbut got\n" << ost.str() << "\n"; - return false; - } - return true; -} - -bool test(const DocumentTypeRepo& repo, - const BucketIdFactory& bucketIdFactory) -{ - //std::cerr << "\n\nTESTING DOCUMENT SELECT PARSER\n\n"; - DocSelectionGrammar grammar(repo, bucketIdFactory); - - using boost::spirit::classic::space_p; - - // Parser two is the arithmvalue.. - // idspec, fieldspec, number & stringval, + - * / % () - testExpr(repo, bucketIdFactory, "3.14", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " 3.14\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "-999", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " -999\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "15e4", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " 15e4\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "3.4e-4", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " 3.4e-4\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "\" Test \"", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " Test \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "id", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " id\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "id.namespace", - grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " id\n" - " \n" - " \n" - " \n" - " namespace\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "id.hash()", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " id\n" - " \n" - " \n" - " \n" - " \n" - " hash\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "id.namespace.hash()", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " id\n" - " \n" - " \n" - " \n" - " namespace\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " hash\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "music.artist", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - " \n" - " artist\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "music.artist.lowercase()", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - " \n" - " artist\n" - " \n" - " \n" - " \n" - " \n" - " lowercase\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "(43)", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 43\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "1 + 2 * 3 - 10 % 2 / 3", grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 1\n" - " \n" - " \n" - " \n" - " \n" - " +\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 2\n" - " \n" - " \n" - " \n" - " \n" - " *\n" - " \n" - " \n" - " \n" - " \n" - " 3\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " -\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 10\n" - " \n" - " \n" - " \n" - " \n" - " %\n" - " \n" - " \n" - " \n" - " \n" - " 2\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " /\n" - " \n" - " \n" - " \n" - " \n" - " 3\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "(43 + 14) / 34", - grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 43\n" - " \n" - " \n" - " \n" - " \n" - " +\n" - " \n" - " \n" - " \n" - " \n" - " 14\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " /\n" - " \n" - " \n" - " \n" - " \n" - " 34\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "34 * (3 - 1) % 4", - grammar.use_parser<2>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 34\n" - " \n" - " \n" - " \n" - " \n" - " *\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 3\n" - " \n" - " \n" - " \n" - " \n" - " -\n" - " \n" - " \n" - " \n" - " \n" - " 1\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " %\n" - " \n" - " \n" - " \n" - " \n" - " 4\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - - // Parser 1 is a leaf. bool, comparison, fieldspec, doctype - testExpr(repo, bucketIdFactory, "true", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " true\n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "false", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " false\n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "music.test", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - " \n" - " test\n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, "music", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "music.artist = \"*john*\"", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - " \n" - " artist\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " =\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " *john*\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "music.length >= 180", grammar.use_parser<1>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " music\n" - " \n" - " \n" - " \n" - " \n" - " length\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " >=\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " 180\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - - // Parser 0 - The whole expression - testExpr(repo, bucketIdFactory, - "true oR nOt false And true", grammar.use_parser<0>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " true\n" - " \n" - " \n" - " \n" - " \n" - " oR\n" - " \n" - " \n" - " \n" - " \n" - " nOt\n" - " \n" - " \n" - " \n" - " \n" - " false\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " And\n" - " \n" - " \n" - " \n" - " \n" - " true\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "(true oR false) aNd true", grammar.use_parser<0>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " true\n" - " \n" - " \n" - " \n" - " \n" - " oR\n" - " \n" - " \n" - " \n" - " \n" - " false\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " aNd\n" - " \n" - " \n" - " \n" - " \n" - " true\n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - testExpr(repo, bucketIdFactory, - "iddoc or not(notand and ornot)", grammar.use_parser<0>(), - "\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " iddoc\n" - " \n" - " \n" - " \n" - " \n" - " or\n" - " \n" - " \n" - " \n" - " not\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " notand\n" - " \n" - " \n" - " \n" - " \n" - " and\n" - " \n" - " \n" - " \n" - " \n" - " ornot\n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - " \n" - "\n"); - return true; -} - -} - -vespalib::Lock Parser::_G_parseLock; - -unique_ptr Parser::parse(const vespalib::stringref & s) -{ - - simple::SelectionParser simple(_bucketIdFactory); - if (simple.parse(s) && simple.getRemaining().empty()) { - Node::UP tmp(simple.getNode()); - assert(tmp.get() != NULL); - return tmp; - } else { - return fullParse(s); - } -} - -unique_ptr Parser::fullParse(const vespalib::stringref & s) -{ - static bool haveTested = test(_repo, _bucketIdFactory); if (haveTested) {} - try{ - vespalib::LockGuard guard(_G_parseLock); - DocSelectionGrammar grammar(_repo, _bucketIdFactory); - boost::spirit::classic::tree_parse_info<> info - = pt_parse(&s[0], &s[0]+s.size(), - grammar.use_parser<0>(), boost::spirit::classic::space_p); - if (!info.full) { - vespalib::string unexpected(info.stop); - unsigned int position = s.size() - unexpected.size(); - if (unexpected.size() > 10) { - unexpected = unexpected.substr(0,10); - } - vespalib::asciistream ost; - ost << "Unexpected token at position " << position << " ('" - << unexpected << "') in query '" << s << "',"; - throw ParsingFailedException(ost.str(), VESPA_STRLOC); - } - parse_assert(info.trees.size() == 1); - //printSpiritTree(std::cerr, info.trees, s, grammar); - return parseTree(grammar, info.trees[0]); - } catch (ParsingFailedException& e) { - throw; - } catch (vespalib::Exception& e) { - throw ParsingFailedException("Parsing failed. See cause exception.", - e, VESPA_STRLOC); - } catch (std::exception& e) { - cerr << "Parser::parse() internal error: " - << e.what() << endl; - throw; // Program will abort when this tries to go out.. - } - return unique_ptr(); } -} // select -} // document diff --git a/document/src/vespa/document/select/parser.h b/document/src/vespa/document/select/parser.h index 4df00d64bf3..35d710298c3 100644 --- a/document/src/vespa/document/select/parser.h +++ b/document/src/vespa/document/select/parser.h @@ -1,37 +1,40 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - #pragma once #include "node.h" +#include "parsing_failed_exception.h" #include -#include -#include - -namespace document { -class DocumentTypeRepo; - -namespace select { - -VESPA_DEFINE_EXCEPTION(ParsingFailedException, vespalib::Exception); - +#include +#include +#include + +namespace document::select { + +/** + * Document selection parser built around Flex/Bison. O(n) on input size + * and non-locking. + * + * Thread safety: same as a std::vector + */ class Parser { + const DocumentTypeRepo&_doc_type_repo; + const BucketIdFactory& _bucket_id_factory; public: - Parser(const DocumentTypeRepo&, const BucketIdFactory& bucketIdFactory); + Parser(const DocumentTypeRepo& repo, const BucketIdFactory& bucket_id_factory) + : _doc_type_repo(repo), + _bucket_id_factory(bucket_id_factory) + {} /** * Returns a newly allocated AST root node representing the selection * if parsing is successful. Otherwise, ParsingFailedException will be * thrown. + * + * Thread safe, assuming referenced DocumentTypeRepo and BucketIdFactory + * instances are immutable. */ - std::unique_ptr parse(const vespalib::stringref& s); - -private: - std::unique_ptr fullParse(const vespalib::stringref& s); - static vespalib::Lock _G_parseLock; - const DocumentTypeRepo& _repo; - const BucketIdFactory& _bucketIdFactory; + std::unique_ptr parse(const std::string& str) const; }; -} // select -} // parser +} diff --git a/document/src/vespa/document/select/parsing_failed_exception.cpp b/document/src/vespa/document/select/parsing_failed_exception.cpp new file mode 100644 index 00000000000..ce02389ed46 --- /dev/null +++ b/document/src/vespa/document/select/parsing_failed_exception.cpp @@ -0,0 +1,9 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#include "parsing_failed_exception.h" +#include + +namespace document::select { + +VESPA_IMPLEMENT_EXCEPTION(ParsingFailedException, vespalib::Exception); + +} \ No newline at end of file diff --git a/document/src/vespa/document/select/parsing_failed_exception.h b/document/src/vespa/document/select/parsing_failed_exception.h new file mode 100644 index 00000000000..54138a492e8 --- /dev/null +++ b/document/src/vespa/document/select/parsing_failed_exception.h @@ -0,0 +1,10 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +#include + +namespace document::select { + +VESPA_DEFINE_EXCEPTION(ParsingFailedException, vespalib::Exception); + +} diff --git a/document/src/vespa/document/select/scanner.h b/document/src/vespa/document/select/scanner.h new file mode 100644 index 00000000000..5aa9ea1c8d3 --- /dev/null +++ b/document/src/vespa/document/select/scanner.h @@ -0,0 +1,21 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +#if !defined(yyFlexLexerOnce) +# include +#endif + +#include "parser.hxx" +#include "location.hh" +#include + +namespace document::select { + +class DocSelScanner final : yyFlexLexer { +public: + explicit DocSelScanner(std::istream* in) : yyFlexLexer(in) {} + ~DocSelScanner() override = default; + int yylex(DocSelParser::semantic_type* yylval, DocSelParser::location_type* yyloc); +}; + +} diff --git a/document/src/vespa/document/select/traversingvisitor.cpp b/document/src/vespa/document/select/traversingvisitor.cpp index b8f34540b29..26de6093ddf 100644 --- a/document/src/vespa/document/select/traversingvisitor.cpp +++ b/document/src/vespa/document/select/traversingvisitor.cpp @@ -72,12 +72,6 @@ TraversingVisitor::visitIdValueNode(const IdValueNode &) } -void -TraversingVisitor::visitSearchColumnValueNode(const SearchColumnValueNode &) -{ -} - - void TraversingVisitor::visitFieldValueNode(const FieldValueNode &) { diff --git a/document/src/vespa/document/select/traversingvisitor.h b/document/src/vespa/document/select/traversingvisitor.h index 43d10cfcaa2..f8b0377b102 100644 --- a/document/src/vespa/document/select/traversingvisitor.h +++ b/document/src/vespa/document/select/traversingvisitor.h @@ -21,7 +21,6 @@ public: void visitInvalidConstant(const InvalidConstant &) override; void visitDocumentType(const DocType &) override; void visitIdValueNode(const IdValueNode &) override; - void visitSearchColumnValueNode(const SearchColumnValueNode &) override; void visitFieldValueNode(const FieldValueNode &) override; void visitFloatValueNode(const FloatValueNode &) override; void visitVariableValueNode(const VariableValueNode &) override; diff --git a/document/src/vespa/document/select/valuenodes.cpp b/document/src/vespa/document/select/valuenodes.cpp index 479896f9124..a0bbde0d21b 100644 --- a/document/src/vespa/document/select/valuenodes.cpp +++ b/document/src/vespa/document/select/valuenodes.cpp @@ -15,7 +15,6 @@ #include #include - #include LOG_SETUP(".document.select.valuenode"); @@ -61,10 +60,7 @@ InvalidValueNode::print(std::ostream& out, bool verbose, if (hadParentheses()) out << ')'; } -NullValueNode::NullValueNode(const vespalib::stringref & name) - : _name(name) -{ } - +NullValueNode::NullValueNode() {} void NullValueNode::visit(Visitor &visitor) const @@ -79,7 +75,7 @@ NullValueNode::print(std::ostream& out, bool verbose, { (void) verbose; (void) indent; if (hadParentheses()) out << '('; - out << _name; + out << "null"; if (hadParentheses()) out << ')'; } @@ -678,88 +674,6 @@ IdValueNode::print(std::ostream& out, bool verbose, if (hadParentheses()) out << ')'; } -SearchColumnValueNode::SearchColumnValueNode( - const BucketIdFactory& bucketIdFactory, - const vespalib::stringref & name, int numColumns) - : _bucketIdFactory(bucketIdFactory), - _id(name), - _numColumns(numColumns), - _distribution(std::make_unique(_numColumns, 16)) -{ -} - -int64_t -SearchColumnValueNode::getValue(const BucketId& id) const -{ - return _distribution->getColumn(id); -} - - -std::unique_ptr -SearchColumnValueNode::getValue(const Context& context) const -{ - if (context._doc != NULL) { - return getValue(context._doc->getId()); - } else if (context._docId != NULL) { - return getValue(*context._docId); - } else { - return getValue(context._docUpdate->getId()); - } -} - - -std::unique_ptr -SearchColumnValueNode::getValue(const DocumentId& id) const -{ - return std::unique_ptr(new IntegerValue( - getValue(_bucketIdFactory.getBucketId(id)), false)); -} - - -std::unique_ptr -SearchColumnValueNode::traceValue(const Context& context, - std::ostream &out) const -{ - if (context._doc != NULL) { - return traceValue(context._doc->getId(), out); - } else if (context._docId != NULL) { - return traceValue(*context._docId, out); - } else { - return traceValue(context._docUpdate->getId(), out); - } -} - - -std::unique_ptr -SearchColumnValueNode::traceValue(const DocumentId& id, - std::ostream& out) const -{ - std::unique_ptr result(new IntegerValue( - getValue(_bucketIdFactory.getBucketId(id)), false)); - out << "Resolved search column of doc \"" << id << "\" to " << *result - << "\n"; - return result; -} - - -void -SearchColumnValueNode::visit(Visitor &visitor) const -{ - visitor.visitSearchColumnValueNode(*this); -} - - -void -SearchColumnValueNode::print(std::ostream& out, bool verbose, - const std::string& indent) const -{ - (void) verbose; (void) indent; - if (hadParentheses()) out << '('; - out << _id; - out << '.' << _numColumns; - if (hadParentheses()) out << ')'; -} - namespace { union HashUnion { unsigned char _key[16]; @@ -1176,5 +1090,43 @@ ArithmeticValueNode::print(std::ostream& out, bool verbose, if (hadParentheses()) out << ')'; } +std::unique_ptr FieldExprNode::convert_to_field_value() const { + const auto& doctype = resolve_doctype(); + // FIXME deprecate manual post-parsing of field expressions in favor of + // actually using the structural parser in the way nature intended. + vespalib::string mangled_expression; + build_mangled_expression(mangled_expression); + return std::make_unique(doctype, mangled_expression); +} + +std::unique_ptr FieldExprNode::convert_to_function_call() const { + // Right hand expr string contains function call, lhs contains field spec on which + // the function is to be invoked. + if ((_left_expr == nullptr) || (_left_expr->_left_expr == nullptr)) { + throw vespalib::IllegalArgumentException( + vespalib::make_string("Cannot call function '%s' directly on document type", _right_expr.c_str())); + } + auto lhs = _left_expr->convert_to_field_value(); + const auto& function_name = _right_expr; + return std::make_unique(function_name, std::move(lhs)); +} + +void FieldExprNode::build_mangled_expression(vespalib::string& dest) const { + // Leftmost node is doctype, which should not be emitted as part of mangled expression. + if (_left_expr && _left_expr->_left_expr) { + _left_expr->build_mangled_expression(dest); + dest.push_back('.'); + } + dest.append(_right_expr); +} + +const vespalib::string& FieldExprNode::resolve_doctype() const { + const auto* leftmost = this; + while (leftmost->_left_expr) { + leftmost = leftmost->_left_expr.get(); + } + return leftmost->_right_expr; +} + } diff --git a/document/src/vespa/document/select/valuenodes.h b/document/src/vespa/document/select/valuenodes.h index 0464159b85f..4257516d227 100644 --- a/document/src/vespa/document/select/valuenodes.h +++ b/document/src/vespa/document/select/valuenodes.h @@ -35,9 +35,8 @@ public: class NullValueNode : public ValueNode { - vespalib::string _name; public: - NullValueNode(const vespalib::stringref & name); + NullValueNode(); std::unique_ptr getValue(const Context&) const override { return std::unique_ptr(new NullValue()); @@ -48,7 +47,7 @@ public: void visit(Visitor& visitor) const override; ValueNode::UP clone() const override { - return wrapParens(new NullValueNode(_name)); + return wrapParens(new NullValueNode()); } }; @@ -56,7 +55,7 @@ class StringValueNode : public ValueNode { vespalib::string _value; public: - StringValueNode(const vespalib::stringref & val); + explicit StringValueNode(const vespalib::stringref & val); const vespalib::string& getValue() const { return _value; } @@ -115,6 +114,7 @@ class VariableValueNode : public ValueNode { vespalib::string _value; public: + // TODO stringref VariableValueNode(const vespalib::string & variableName) : _value(variableName) {} const vespalib::string& getVariableName() const { return _value; } @@ -183,6 +183,59 @@ private: void initFieldPath(const DocumentType&) const; }; +class FunctionValueNode; + +// Only used by the parser to build a partial field expression. Never part of +// an AST tree returned to the caller. +class FieldExprNode final : public ValueNode { + std::unique_ptr _left_expr; + vespalib::string _right_expr; +public: + explicit FieldExprNode(const vespalib::string& doctype) : _left_expr(), _right_expr(doctype) {} + FieldExprNode(std::unique_ptr left_expr, vespalib::stringref right_expr) + : _left_expr(std::move(left_expr)), _right_expr(right_expr) + {} + FieldExprNode(const FieldExprNode &) = delete; + FieldExprNode & operator = (const FieldExprNode &) = delete; + FieldExprNode(FieldExprNode &&) = default; + FieldExprNode & operator = (FieldExprNode &&) = default; + ~FieldExprNode() = default; + + std::unique_ptr convert_to_field_value() const; + std::unique_ptr convert_to_function_call() const; +private: + void build_mangled_expression(vespalib::string& dest) const; + const vespalib::string& resolve_doctype() const; + + // These are not used, can just return dummy values. + std::unique_ptr getValue(const Context& context) const override { + (void) context; + return std::unique_ptr(); + } + std::unique_ptr traceValue(const Context &context, std::ostream& out) const override { + (void) context; + (void) out; + return std::unique_ptr(); + } + void print(std::ostream& out, bool verbose, const std::string& indent) const override { + (void) out; + (void) verbose; + (void) indent; + } + void visit(Visitor& visitor) const override { + (void) visitor; + } + + ValueNode::UP clone() const override { + if (_left_expr) { + return wrapParens(new FieldExprNode(std::unique_ptr( + static_cast(_left_expr->clone().release())), _right_expr)); + } else { + return wrapParens(new FieldExprNode(_right_expr)); + } + } +}; + class IdValueNode : public ValueNode { public: @@ -222,35 +275,6 @@ private: int _divisionBits; }; -class SearchColumnValueNode : public ValueNode -{ -public: - SearchColumnValueNode(const BucketIdFactory& bucketIdFactory, - const vespalib::stringref & name, - int numColumns); - - int getColumns() { return _numColumns; } - - std::unique_ptr getValue(const Context& context) const override; - std::unique_ptr getValue(const DocumentId& id) const; - std::unique_ptr traceValue(const Context& context, std::ostream &out) const override; - std::unique_ptr traceValue(const DocumentId& val, std::ostream& out) const; - - int64_t getValue(const BucketId& bucketId) const; - void print(std::ostream& out, bool verbose, const std::string& indent) const override; - void visit(Visitor& visitor) const override; - - ValueNode::UP clone() const override { - return wrapParens(new SearchColumnValueNode(_bucketIdFactory, _id, _numColumns)); -} - -private: - const BucketIdFactory& _bucketIdFactory; - vespalib::string _id; - int _numColumns; - std::unique_ptr _distribution; -}; - class FunctionValueNode : public ValueNode { public: diff --git a/document/src/vespa/document/select/visitor.h b/document/src/vespa/document/select/visitor.h index c89f0f24a6f..762d47c7c35 100644 --- a/document/src/vespa/document/select/visitor.h +++ b/document/src/vespa/document/select/visitor.h @@ -69,9 +69,6 @@ public: virtual void visitIdValueNode(const IdValueNode &) = 0; - virtual void - visitSearchColumnValueNode(const SearchColumnValueNode &) = 0; - virtual void visitFieldValueNode(const FieldValueNode &) = 0; -- cgit v1.2.3 From 204b3893c22eed78f85f5b40ada3f0690fbcd70e Mon Sep 17 00:00:00 2001 From: gjoranv Date: Tue, 28 Nov 2017 14:37:47 +0100 Subject: Split parent + container-dependency-versions from root pom. - Add missing dependencies so that all provided non-yahoo jars are listed in container-dependency-versions. - Add relativePath for all child poms of parent. --- annotations/pom.xml | 1 + application-deploy-plugin/pom.xml | 1 + application-model/pom.xml | 1 + application-preprocessor/pom.xml | 1 + application/pom.xml | 1 + athenz-identity-provider-service/pom.xml | 1 + bundle-plugin-test/pom.xml | 1 + bundle-plugin/pom.xml | 1 + chain/pom.xml | 1 + clustercontroller-apps/pom.xml | 1 + clustercontroller-apputil/pom.xml | 1 + clustercontroller-core/pom.xml | 1 + clustercontroller-standalone/pom.xml | 1 + clustercontroller-utils/pom.xml | 1 + component/pom.xml | 1 + config-application-package/pom.xml | 1 + config-bundle/pom.xml | 1 + config-class-plugin/pom.xml | 1 + config-lib/pom.xml | 1 + config-model-api/pom.xml | 1 + config-model-fat/pom.xml | 1 + config-model/pom.xml | 1 + config-provisioning/pom.xml | 1 + config-proxy/pom.xml | 1 + config/pom.xml | 1 + configdefinitions/pom.xml | 1 + configgen/pom.xml | 1 + configserver/pom.xml | 1 + container-accesslogging/pom.xml | 1 + container-core/pom.xml | 1 + container-dependencies-enforcer/pom.xml | 1 + container-dependency-versions/pom.xml | 369 ++++++++++++ container-dev/pom.xml | 1 + container-di/pom.xml | 1 + container-disc/pom.xml | 1 + container-jersey2/pom.xml | 1 + container-messagebus/pom.xml | 1 + container-search-and-docproc/pom.xml | 1 + container-search/pom.xml | 1 + container-test-jars/pom.xml | 1 + container-test/pom.xml | 1 + container/pom.xml | 1 + controller-api/pom.xml | 1 + controller-server/pom.xml | 1 + defaults/pom.xml | 7 +- docker-api/pom.xml | 1 + docproc/pom.xml | 1 + docprocs/pom.xml | 1 + document/pom.xml | 1 + documentapi/pom.xml | 1 + documentgen-test/pom.xml | 1 + fileacquirer/pom.xml | 1 + filedistribution/pom.xml | 3 +- filedistribution_test/pom.xml | 1 + filedistributionmanager/pom.xml | 1 + fsa/pom.xml | 1 + indexinglanguage/pom.xml | 1 + jaxrs_client_utils/pom.xml | 1 + jaxrs_utils/pom.xml | 1 + jdisc_core/pom.xml | 1 + jdisc_core_test/pom.xml | 1 + jdisc_http_service/pom.xml | 1 + jdisc_jetty/pom.xml | 1 + jdisc_messagebus_service/pom.xml | 1 + jrt/pom.xml | 1 + linguistics/pom.xml | 1 + logd/pom.xml | 1 + logserver/pom.xml | 1 + maven-plugins/pom.xml | 1 + messagebus-disc/pom.xml | 1 + messagebus/pom.xml | 1 + metrics/pom.xml | 1 + node-admin/pom.xml | 1 + node-maintainer/pom.xml | 1 + node-repository/pom.xml | 1 + orchestrator-restapi/pom.xml | 1 + orchestrator/pom.xml | 1 + parent/pom.xml | 758 +++++++++++++++++++++++++ pom.xml | 942 +------------------------------ predicate-search-core/pom.xml | 1 + predicate-search/pom.xml | 1 + processing/pom.xml | 1 + provided-dependencies/pom.xml | 1 + searchcore/pom.xml | 1 + searchlib/pom.xml | 1 + searchsummary/pom.xml | 1 + service-monitor/pom.xml | 1 + serviceview/pom.xml | 1 + simplemetrics/pom.xml | 1 + socket_test/pom.xml | 1 + standalone-container/pom.xml | 1 + statistics/pom.xml | 1 + storage/pom.xml | 1 + testutil/pom.xml | 1 + vdslib/pom.xml | 1 + vespa-application-maven-plugin/pom.xml | 1 + vespa-documentgen-plugin/pom.xml | 1 + vespa-hadoop/pom.xml | 1 + vespa-http-client/pom.xml | 1 + vespa_feed_perf/pom.xml | 1 + vespa_jersey2/pom.xml | 1 + vespaclient-container-plugin/pom.xml | 1 + vespaclient-core/pom.xml | 1 + vespaclient-java/pom.xml | 1 + vespajlib/pom.xml | 1 + vespalog/pom.xml | 1 + vsm/pom.xml | 1 + yolean/pom.xml | 1 + zkfacade/pom.xml | 1 + 109 files changed, 1241 insertions(+), 942 deletions(-) create mode 100644 container-dependency-versions/pom.xml create mode 100644 parent/pom.xml (limited to 'document') diff --git a/annotations/pom.xml b/annotations/pom.xml index 146eb5e9be2..78f65b6d2b7 100644 --- a/annotations/pom.xml +++ b/annotations/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent annotations jar diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml index 3cae7cf7831..d402257fc7c 100644 --- a/application-deploy-plugin/pom.xml +++ b/application-deploy-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent application-deploy-plugin 6-SNAPSHOT diff --git a/application-model/pom.xml b/application-model/pom.xml index 13a2d3ea49b..5ea1ef7cd3b 100644 --- a/application-model/pom.xml +++ b/application-model/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent application-model container-plugin diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml index 4fa319a881a..22fd1688957 100644 --- a/application-preprocessor/pom.xml +++ b/application-preprocessor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent application-preprocessor jar diff --git a/application/pom.xml b/application/pom.xml index 17e9ece3543..5445d57bf9f 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent application jar diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml index c87589d7be2..82de5511238 100644 --- a/athenz-identity-provider-service/pom.xml +++ b/athenz-identity-provider-service/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml index 8d8bf48cc07..b52f52b9b87 100644 --- a/bundle-plugin-test/pom.xml +++ b/bundle-plugin-test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa bundle-plugin-test diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index 02f0ed2ccf5..d92df4eb78f 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent bundle-plugin 6-SNAPSHOT diff --git a/chain/pom.xml b/chain/pom.xml index a3096d37748..da6cdd37ce4 100755 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent chain jar diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml index 26f466eb208..e882a2ebd79 100644 --- a/clustercontroller-apps/pom.xml +++ b/clustercontroller-apps/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent clustercontroller-apps 6-SNAPSHOT diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml index 68adc82596f..b2657840d7a 100644 --- a/clustercontroller-apputil/pom.xml +++ b/clustercontroller-apputil/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent clustercontroller-apputil 6-SNAPSHOT diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 499dee0d1de..059da070f3e 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent clustercontroller-core 6-SNAPSHOT diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml index f51555a92b6..2c3d77692bc 100644 --- a/clustercontroller-standalone/pom.xml +++ b/clustercontroller-standalone/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent clustercontroller-standalone 6-SNAPSHOT diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml index f151a623ff9..16efc57bf7c 100644 --- a/clustercontroller-utils/pom.xml +++ b/clustercontroller-utils/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent clustercontroller-utils 6-SNAPSHOT diff --git a/component/pom.xml b/component/pom.xml index 92f852e4ba0..b9b0a76839a 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent component container-plugin diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml index 90d4a2d9af6..5881401d940 100644 --- a/config-application-package/pom.xml +++ b/config-application-package/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-application-package container-plugin diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml index 7121756ce68..53c763e0097 100644 --- a/config-bundle/pom.xml +++ b/config-bundle/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-bundle container-plugin diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml index 5b3149a13da..b0345c5fa32 100644 --- a/config-class-plugin/pom.xml +++ b/config-class-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-class-plugin maven-plugin diff --git a/config-lib/pom.xml b/config-lib/pom.xml index 2ed993dd052..aa2a5cbad01 100644 --- a/config-lib/pom.xml +++ b/config-lib/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-lib container-plugin diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml index 6618612df31..dabe702d910 100644 --- a/config-model-api/pom.xml +++ b/config-model-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-model-api 6-SNAPSHOT diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index a4bbba0e6e8..2efed91e73d 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-model-fat bundle diff --git a/config-model/pom.xml b/config-model/pom.xml index 0fdc09e1a61..2f85b559e5f 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-model container-plugin diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml index ebe7d460989..db804606290 100644 --- a/config-provisioning/pom.xml +++ b/config-provisioning/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa config-provisioning diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml index 0aadb1bbb12..ea51d5089ca 100644 --- a/config-proxy/pom.xml +++ b/config-proxy/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config-proxy jar diff --git a/config/pom.xml b/config/pom.xml index f73c5b7bfd8..0f7ab6720c0 100755 --- a/config/pom.xml +++ b/config/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent config container-plugin diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml index 92980a18899..5a754c100fa 100644 --- a/configdefinitions/pom.xml +++ b/configdefinitions/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent configdefinitions container-plugin diff --git a/configgen/pom.xml b/configgen/pom.xml index 6e550ec7321..2175fe6cc87 100644 --- a/configgen/pom.xml +++ b/configgen/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent configgen jar diff --git a/configserver/pom.xml b/configserver/pom.xml index 30d92dc7650..288a52eb9d8 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent configserver container-plugin diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml index 45d7b4a2ed2..0c352818870 100644 --- a/container-accesslogging/pom.xml +++ b/container-accesslogging/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-accesslogging 6-SNAPSHOT diff --git a/container-core/pom.xml b/container-core/pom.xml index c608f35f26c..20e8a11a9fd 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-core 6-SNAPSHOT diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 61495384744..84d6af18141 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-dependencies-enforcer diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml new file mode 100644 index 00000000000..5007e91c916 --- /dev/null +++ b/container-dependency-versions/pom.xml @@ -0,0 +1,369 @@ + + + + 4.0.0 + com.yahoo.vespa + container-dependency-versions + pom + 6-SNAPSHOT + Dependency versions for all Vespa maven projects. + https://github.com/vespa-engine + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + + + aopalliance + aopalliance + 1.0 + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson2.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson2.version} + + + com.google.code.findbugs + annotations + ${findbugs.version} + + + com.google.code.findbugs + jsr305 + ${findbugs.version} + + + com.google.guava + guava + ${guava.version} + + + com.google.inject.extensions + guice-assistedinject + ${guice.version} + + + com.google.inject.extensions + guice-multibindings + ${guice.version} + + + com.google.inject + guice + ${guice.version} + + + com.google.inject + guice + ${guice.version} + no_aop + + + commons-codec + commons-codec + 1.4 + + + commons-daemon + commons-daemon + 1.0.3 + + + + commons-logging + commons-logging + 1.1.1 + + + javax.annotation + javax.annotation-api + ${javax.annotation-api.version} + + + javax.inject + javax.inject + 1 + + + javax.servlet + javax.servlet-api + 3.1.0 + + + javax.validation + validation-api + ${javax.validation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api.version} + + + net.jcip + jcip-annotations + 1.0 + + + net.jpountz.lz4 + lz4 + 1.3.0 + + + org.apache.felix + org.apache.felix.framework + ${felix.version} + + + org.apache.felix + org.apache.felix.log + 1.0.1 + + + org.apache.felix + org.apache.felix.main + ${felix.version} + + + org.apache.httpcomponents + httpclient + 4.3.6 + + + org.apache.httpcomponents + httpcore + 4.3.3 + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.glassfish.hk2.external + aopalliance-repackaged + ${hk2.version} + + + org.glassfish.hk2.external + javax.inject + ${hk2.version} + + + org.glassfish.hk2 + hk2-api + ${hk2.version} + + + org.glassfish.hk2 + hk2-locator + ${hk2.version} + + + org.glassfish.hk2 + hk2-utils + ${hk2.version} + + + org.glassfish.hk2 + osgi-resource-locator + ${hk2.osgi-resource-locator.version} + + + org.glassfish.jersey.bundles.repackaged + jersey-guava + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-client + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-common + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-server + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-entity-filtering + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-proxy-client + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-jaxb + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey2.version} + + + org.javassist + javassist + ${javassist.version} + + + org.json + json + 20090211 + + + org.jvnet.mimepull + mimepull + ${mimepull.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-jdk14 + ${slf4j.version} + + + xml-apis + xml-apis + 1.4.01 + + + + + + 4.2.1 + 1.3.9 + 18.0 + 3.0 + 9.4.6.v20170531 + 1.7.5 + + + + + 2.5.0-b05 + 1.0.1 + 2.8.3 + 3.20.0-GA + 1.2 + 1.1.0.Final + 2.0.1 + 2.23.2 + 1.9.6 + + + diff --git a/container-dev/pom.xml b/container-dev/pom.xml index d02ec233d96..80a109345ac 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -10,6 +10,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-dev 6-SNAPSHOT diff --git a/container-di/pom.xml b/container-di/pom.xml index cf6a9e54daa..caa66193fca 100644 --- a/container-di/pom.xml +++ b/container-di/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-di 6-SNAPSHOT diff --git a/container-disc/pom.xml b/container-disc/pom.xml index ad86b3ffcff..dcdd2898c0b 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-disc 6-SNAPSHOT diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 8f579e49876..2e69d11c2d9 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-jersey2 6-SNAPSHOT diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index 6058063daf3..7b9805ac9f4 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-messagebus 6-SNAPSHOT diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml index fb2794670a2..ea00ee1f98c 100644 --- a/container-search-and-docproc/pom.xml +++ b/container-search-and-docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-search-and-docproc 6-SNAPSHOT diff --git a/container-search/pom.xml b/container-search/pom.xml index f622567acde..8e41a576a27 100644 --- a/container-search/pom.xml +++ b/container-search/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-search jar diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml index dcde18fc8cf..431da458932 100644 --- a/container-test-jars/pom.xml +++ b/container-test-jars/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa.container-test-jars container-test-jars diff --git a/container-test/pom.xml b/container-test/pom.xml index 7aaffed652e..b0ee9417381 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container-test 6-SNAPSHOT diff --git a/container/pom.xml b/container/pom.xml index 4726071db55..e340fed4d59 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent container 6-SNAPSHOT diff --git a/controller-api/pom.xml b/controller-api/pom.xml index 51666da0c03..97a239572f6 100644 --- a/controller-api/pom.xml +++ b/controller-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent controller-api container-plugin diff --git a/controller-server/pom.xml b/controller-server/pom.xml index 0cfcbc40601..16f639489c9 100644 --- a/controller-server/pom.xml +++ b/controller-server/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent controller-server container-plugin diff --git a/defaults/pom.xml b/defaults/pom.xml index 2f3f06780e7..1a184f46396 100644 --- a/defaults/pom.xml +++ b/defaults/pom.xml @@ -5,9 +5,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.yahoo.vespa - parent - 6-SNAPSHOT + com.yahoo.vespa + parent + 6-SNAPSHOT + ../parent com.yahoo.vespa defaults diff --git a/docker-api/pom.xml b/docker-api/pom.xml index fc374a12dd2..20451b2d622 100644 --- a/docker-api/pom.xml +++ b/docker-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent docker-api diff --git a/docproc/pom.xml b/docproc/pom.xml index 09635201e51..3a4f8f0c9c5 100644 --- a/docproc/pom.xml +++ b/docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent docproc jar diff --git a/docprocs/pom.xml b/docprocs/pom.xml index 1b209ec39ee..01b3c343604 100644 --- a/docprocs/pom.xml +++ b/docprocs/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent docprocs container-plugin diff --git a/document/pom.xml b/document/pom.xml index 81b21487314..4dbe44e8439 100644 --- a/document/pom.xml +++ b/document/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent document 6-SNAPSHOT diff --git a/documentapi/pom.xml b/documentapi/pom.xml index c94337e8873..5c0c78304c1 100644 --- a/documentapi/pom.xml +++ b/documentapi/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent documentapi container-plugin diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml index 53b49cf1473..cf47027f13b 100644 --- a/documentgen-test/pom.xml +++ b/documentgen-test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent documentgen-test jar diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml index eb040eddffb..f57d9d1ccc9 100644 --- a/fileacquirer/pom.xml +++ b/fileacquirer/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent fileacquirer 6-SNAPSHOT diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml index 10b77b540e7..1b4fa06919a 100644 --- a/filedistribution/pom.xml +++ b/filedistribution/pom.xml @@ -9,7 +9,8 @@ com.yahoo.vespa parent 6-SNAPSHOT - + ../parent + filedistribution 6-SNAPSHOT diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml index c270eabb6cf..0feb32f7368 100644 --- a/filedistribution_test/pom.xml +++ b/filedistribution_test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent filedistribution_test 6-SNAPSHOT diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml index 9e3ecf95ecb..75785965f11 100644 --- a/filedistributionmanager/pom.xml +++ b/filedistributionmanager/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent filedistributionmanager 6-SNAPSHOT diff --git a/fsa/pom.xml b/fsa/pom.xml index a49845105cf..466637c8ba8 100644 --- a/fsa/pom.xml +++ b/fsa/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent fsa container-plugin diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml index 70cb9f6d8d0..af45256b884 100644 --- a/indexinglanguage/pom.xml +++ b/indexinglanguage/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent indexinglanguage jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index 1c4bdde21a8..b9a97db8cb6 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jaxrs_client_utils 6-SNAPSHOT diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml index 249cbda992b..1aa505f99ed 100644 --- a/jaxrs_utils/pom.xml +++ b/jaxrs_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jaxrs_utils 6-SNAPSHOT diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml index fb8200eb610..85f44ae3188 100644 --- a/jdisc_core/pom.xml +++ b/jdisc_core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jdisc_core 6-SNAPSHOT diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml index 92e7a39fee0..c89c4300500 100644 --- a/jdisc_core_test/pom.xml +++ b/jdisc_core_test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa.jdisc_core parent diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml index d8c0b0bc29c..83e5d540b05 100644 --- a/jdisc_http_service/pom.xml +++ b/jdisc_http_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jdisc_http_service 6-SNAPSHOT diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml index 4e739aae8cc..b88751f1390 100644 --- a/jdisc_jetty/pom.xml +++ b/jdisc_jetty/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jdisc_jetty 6-SNAPSHOT diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml index e9531a73861..f5741ad7ded 100644 --- a/jdisc_messagebus_service/pom.xml +++ b/jdisc_messagebus_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jdisc_messagebus_service 6-SNAPSHOT diff --git a/jrt/pom.xml b/jrt/pom.xml index 0d6be56fdab..b940e6c6cb0 100644 --- a/jrt/pom.xml +++ b/jrt/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jrt container-plugin diff --git a/linguistics/pom.xml b/linguistics/pom.xml index 328742f483a..1dbdb504e2c 100644 --- a/linguistics/pom.xml +++ b/linguistics/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent linguistics container-plugin diff --git a/logd/pom.xml b/logd/pom.xml index e21931efc5a..962ae2f2d43 100644 --- a/logd/pom.xml +++ b/logd/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent logd 6-SNAPSHOT diff --git a/logserver/pom.xml b/logserver/pom.xml index 6acdd8ed1d7..6d714014d22 100644 --- a/logserver/pom.xml +++ b/logserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent logserver jar diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 2f7343e753c..41ff9c23af8 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa bundle-plugins diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml index 46158b0ca60..f2e001166b2 100644 --- a/messagebus-disc/pom.xml +++ b/messagebus-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent messagebus-disc 6-SNAPSHOT diff --git a/messagebus/pom.xml b/messagebus/pom.xml index 7fb44787cdf..2c6b1c4fe46 100644 --- a/messagebus/pom.xml +++ b/messagebus/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent messagebus 6-SNAPSHOT diff --git a/metrics/pom.xml b/metrics/pom.xml index ec64d0d392c..fd7128db021 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent com.yahoo.vespa metrics diff --git a/node-admin/pom.xml b/node-admin/pom.xml index f7691cda3f7..607b71154b9 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent node-admin diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml index d56e12d92c6..4305778878e 100644 --- a/node-maintainer/pom.xml +++ b/node-maintainer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent node-maintainer diff --git a/node-repository/pom.xml b/node-repository/pom.xml index 09b0d3df3d9..714ca9a644c 100644 --- a/node-repository/pom.xml +++ b/node-repository/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent node-repository 6-SNAPSHOT diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml index db823f3fb15..4629b69c01c 100644 --- a/orchestrator-restapi/pom.xml +++ b/orchestrator-restapi/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent orchestrator-restapi 6-SNAPSHOT diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index c50f9ddcb29..b770a767be6 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent orchestrator 6-SNAPSHOT diff --git a/parent/pom.xml b/parent/pom.xml new file mode 100644 index 00000000000..0daf82efe6d --- /dev/null +++ b/parent/pom.xml @@ -0,0 +1,758 @@ + + + + 4.0.0 + parent + pom + 6-SNAPSHOT + parent + Parent artifact for all Vespa maven projects. + https://github.com/vespa-engine + + + com.yahoo.vespa + container-dependency-versions + 6-SNAPSHOT + ../container-dependency-versions + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + Vespa + https://github.com/vespa-engine + + + + + + bintray-vespa-repo + https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 + + + + + + + + false + + bintray-yahoo-maven + bintray + https://yahoo.bintray.com/maven + + + + + scm:git:git@github.com:vespa-engine/vespa.git + scm:git:git@github.com:vespa-engine/vespa.git + git@github.com:vespa-engine/vespa.git + + + + ${project.artifactId} + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + org.apache.maven.archetype + archetype-packaging + 2.0 + + + + + + org.antlr + antlr3-maven-plugin + ${antlr.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + org.apache.felix + maven-bundle-plugin + 2.4.0 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + true + true + false + + -Xlint:all + -Xlint:-serial + -Xlint:-try + -Xlint:-processing + -Xlint:-varargs + -Werror + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + org.apache.maven.plugins + maven-install-plugin + 2.5.2 + + true + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + + -Xdoclint:${doclint} -Xdoclint:-missing + + 2.10.4 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + + true + + + + mojo-descriptor + + descriptor + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + \ + + + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.version} + + ${test.hide} + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${surefire.version} + + false + false + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + net.alchim31.maven + scala-maven-plugin + 3.2.2 + + + -unchecked + -deprecation + -feature + -Xfatal-warnings + + + + + com.yahoo.vespa + bundle-plugin + ${project.version} + + ${project.version} + true + + + + + + + + attach-sources + + + !skipSources + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar-no-fork + + + + + + + + + generate-javadoc + + + !skipJavadoc + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + generate-javadoc + package + + javadoc + + + + + -Xdoclint:${doclint} -Xdoclint:-missing + ${javadoc.failOnError} + true + private + + + + + + + coverage + + + + org.codehaus.mojo + exec-maven-plugin + + true + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + src/main/scala + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + com.github.cverges.expect4j + expect4j + 1.6 + + + org.apache.commons + commons-compress + 1.11 + + + org.apache.commons + commons-exec + 1.3 + + + io.airlift + airline + 0.7 + + + org.ow2.asm + asm + 5.2 + + + com.google.guava + guava-testlib + 18.0 + + + com.google.protobuf + protobuf-java + 2.4.1 + + + com.googlecode.jmockit + jmockit + 1.2 + + + com.goldmansachs + gs-collections + 6.1.0 + + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson2.version} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson2.version} + + + com.infradna.tool + bridge-method-annotation + 1.4 + + + commons-cli + commons-cli + 1.3.1 + + + commons-collections + commons-collections + 3.2.1 + + + commons-configuration + commons-configuration + 1.6 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + ${commons-lang.version} + + + commons-net + commons-net + 2.0 + + + commons-pool + commons-pool + 1.5.6 + + + + org.apache.zookeeper + zookeeper + 3.4.10 + + + org.apache.curator + curator-recipes + ${curator.version} + + + org.apache.curator + curator-test + ${curator.version} + + + junit + junit + 4.12 + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.apache.aries.spifly + org.apache.aries.spifly.dynamic.bundle + ${aries.spifly.version} + + + org.apache.commons + commons-lang3 + 3.1 + + + org.apache.httpcomponents + fluent-hc + 4.3.6 + + + org.apache.httpcomponents + httpmime + 4.3.6 + + + org.apache.maven + maven-artifact + 3.5.0 + + + org.apache.maven + maven-core + 3.5.0 + + + org.apache.maven + maven-model + 3.5.0 + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + org.apache.maven + maven-plugin-api + 3.5.0 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.surefire + surefire-junit4 + ${surefire.version} + + + org.apache.maven.surefire + surefire-providers + ${surefire.version} + pom + + + org.codehaus.jettison + jettison + 1.3.1 + + + org.cthul + cthul-matchers + 1.0 + test + + + org.eclipse.jetty + jetty-continuation + ${jetty.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-servlets + ${jetty.version} + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + org.hamcrest + hamcrest-all + 1.3 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + uk.co.datumedge + hamcrest-json + 0.2 + test + + + org.hdrhistogram + HdrHistogram + 2.1.8 + + + org.mockito + mockito-all + 1.9.5 + + + org.mockito + mockito-core + 1.9.5 + test + + + org.osgi + org.osgi.compendium + 4.3.0 + + + org.osgi + org.osgi.core + 4.3.0 + + + org.scala-lang + scala-library + ${scala.version} + + + org.scala-lang.modules + scala-parser-combinators_${scala.major-version} + 1.0.1 + + + org.scala-lang.modules + scala-xml_${scala.major-version} + 1.0.2 + + + org.scalatest + scalatest_${scala.major-version} + 2.2.2 + + + org.springframework + spring-test + 4.0.6.RELEASE + + + org.testng + testng + 6.10 + + + org.twdata.maven + mojo-executor + 2.3.0 + + + net.spy + spymemcached + 2.10.1 + + + xerces + xercesImpl + 2.11.0 + + + org.bouncycastle + bcpkix-jdk15on + ${bouncycastle.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + com.ibm.icu + icu4j + 57.1 + + + com.yahoo.athenz + athenz-zms-java-client + ${athenz.version} + + + com.yahoo.athenz + athenz-zts-java-client + ${athenz.version} + + + + + + 3.5.2 + 4.5 + 1.0.8 + 1.0.0 + 5.0.3 + + 1.7.28 + 1.58 + 2.6 + + 2.9.1 + UTF-8 + UTF-8 + true + all + 2.11 + ${scala.major-version}.4 + 2.19.1 + + + diff --git a/pom.xml b/pom.xml index 2b7c1abc0d4..eb1f954ce13 100644 --- a/pom.xml +++ b/pom.xml @@ -3,11 +3,10 @@ 4.0.0 com.yahoo.vespa - parent + vespa pom 6-SNAPSHOT - parent - Parent artifact for all Vespa maven projects. + Aggregator pom for vespa. https://github.com/vespa-engine @@ -24,941 +23,6 @@ - - - bintray-vespa-repo - https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 - - - - - - - - false - - bintray-yahoo-maven - bintray - https://yahoo.bintray.com/maven - - - - - scm:git:git@github.com:vespa-engine/vespa.git - scm:git:git@github.com:vespa-engine/vespa.git - git@github.com:vespa-engine/vespa.git - - - - ${project.artifactId} - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - org.apache.maven.archetype - archetype-packaging - 2.0 - - - - - - org.antlr - antlr3-maven-plugin - ${antlr.version} - - - org.apache.maven.plugins - maven-antrun-plugin - 1.7 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - 1.8 - 1.8 - true - true - false - - -Xlint:all - -Xlint:-serial - -Xlint:-try - -Xlint:-processing - -Xlint:-varargs - -Werror - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.5 - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - - -Xdoclint:${doclint} -Xdoclint:-missing - - 2.10.4 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - - true - - - - mojo-descriptor - - descriptor - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - \ - - - - org.apache.maven.plugins - maven-site-plugin - 3.3 - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - true - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.version} - - ${test.hide} - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${surefire.version} - - false - false - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.9.1 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - org.codehaus.mojo - properties-maven-plugin - 1.0.0 - - - net.alchim31.maven - scala-maven-plugin - 3.2.2 - - - -unchecked - -deprecation - -feature - -Xfatal-warnings - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - - ${project.version} - true - - - - - - - - attach-sources - - - !skipSources - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - generate-javadoc - - - !skipJavadoc - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - generate-javadoc - package - - javadoc - - - - - -Xdoclint:${doclint} -Xdoclint:-missing - ${javadoc.failOnError} - true - private - - - - - - - coverage - - - - org.codehaus.mojo - exec-maven-plugin - - true - - - - org.codehaus.mojo - build-helper-maven-plugin - - - generate-sources - - add-source - - - - src/main/scala - - - - - add-test-source - generate-test-sources - - add-test-source - - - - src/test/scala - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - com.github.cverges.expect4j - expect4j - 1.6 - - - org.apache.commons - commons-compress - 1.11 - - - org.apache.commons - commons-exec - 1.3 - - - io.airlift - airline - 0.7 - - - aopalliance - aopalliance - 1.0 - - - org.ow2.asm - asm - 5.2 - - - com.google.code.findbugs - annotations - 1.3.9 - - - com.google.code.findbugs - jsr305 - 1.3.9 - - - com.google.guava - guava - 18.0 - - - com.google.guava - guava-testlib - 18.0 - - - com.google.inject - guice - 3.0 - - - com.google.inject - guice - 3.0 - no_aop - - - com.google.inject.extensions - guice-assistedinject - 3.0 - - - com.google.inject.extensions - guice-multibindings - 3.0 - - - com.google.protobuf - protobuf-java - 2.4.1 - - - com.googlecode.jmockit - jmockit - 1.2 - - - com.goldmansachs - gs-collections - 6.1.0 - - - com.fasterxml.jackson.core - jackson-core - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson2.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider - ${jackson2.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson2.version} - - - com.infradna.tool - bridge-method-annotation - 1.4 - - - commons-cli - commons-cli - 1.3.1 - - - commons-codec - commons-codec - 1.4 - - - commons-collections - commons-collections - 3.2.1 - - - commons-configuration - commons-configuration - 1.6 - - - commons-daemon - commons-daemon - 1.0.3 - - - commons-io - commons-io - 2.4 - - - commons-lang - commons-lang - ${commons-lang.version} - - - - commons-logging - commons-logging - 1.1.1 - - - commons-net - commons-net - 2.0 - - - commons-pool - commons-pool - 1.5.6 - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-test - ${curator.version} - - - javax.servlet - javax.servlet-api - 3.1.0 - - - junit - junit - 4.12 - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.apache.aries.spifly - org.apache.aries.spifly.dynamic.bundle - ${aries.spifly.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.apache.felix - org.apache.felix.framework - 4.2.1 - - - org.apache.felix - org.apache.felix.log - 1.0.1 - - - org.apache.felix - org.apache.felix.main - 4.2.1 - - - org.apache.httpcomponents - fluent-hc - 4.3.6 - - - org.apache.httpcomponents - httpclient - 4.3.6 - - - org.apache.httpcomponents - httpcore - 4.3.3 - - - org.apache.httpcomponents - httpmime - 4.3.6 - - - org.apache.maven - maven-artifact - 3.5.0 - - - org.apache.maven - maven-core - 3.5.0 - - - org.apache.maven - maven-model - 3.5.0 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.5 - - - org.apache.maven - maven-plugin-api - 3.5.0 - - - org.apache.maven - maven-project - 2.2.1 - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.surefire - surefire-junit4 - ${surefire.version} - - - org.apache.maven.surefire - surefire-providers - ${surefire.version} - pom - - - org.codehaus.jettison - jettison - 1.3.1 - - - org.cthul - cthul-matchers - 1.0 - test - - - org.eclipse.jetty - jetty-continuation - ${jetty.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-servlets - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - org.hamcrest - hamcrest-core - 1.3 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - uk.co.datumedge - hamcrest-json - 0.2 - test - - - org.hdrhistogram - HdrHistogram - 2.1.8 - - - org.json - json - 20090211 - - - org.mockito - mockito-all - 1.9.5 - - - org.mockito - mockito-core - 1.9.5 - test - - - org.osgi - org.osgi.compendium - 4.3.0 - - - org.osgi - org.osgi.core - 4.3.0 - - - org.scala-lang - scala-library - ${scala.version} - - - org.scala-lang.modules - scala-parser-combinators_${scala.major-version} - 1.0.1 - - - org.scala-lang.modules - scala-xml_${scala.major-version} - 1.0.2 - - - org.scalatest - scalatest_${scala.major-version} - 2.2.2 - - - org.slf4j - jcl-over-slf4j - 1.7.5 - - - org.slf4j - log4j-over-slf4j - 1.7.5 - - - org.slf4j - slf4j-api - 1.7.5 - - - org.slf4j - slf4j-jdk14 - 1.7.5 - - - org.springframework - spring-test - 4.0.6.RELEASE - - - org.testng - testng - 6.10 - - - org.twdata.maven - mojo-executor - 2.3.0 - - - net.jcip - jcip-annotations - 1.0 - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - net.spy - spymemcached - 2.10.1 - - - xerces - xercesImpl - 2.11.0 - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - - javax.ws.rs - javax.ws.rs-api - ${javax.ws.rs-api.version} - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-proxy-client - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-client - ${jersey2.version} - - - com.ibm.icu - icu4j - 57.1 - - - com.yahoo.athenz - athenz-zms-java-client - ${athenz.version} - - - com.yahoo.athenz - athenz-zts-java-client - ${athenz.version} - - - - - - 2.0.1 - 3.5.2 - 4.5 - 1.0.8 - 1.0.0 - 5.0.3 - - 1.7.28 - 1.58 - 2.6 - - 2.9.1 - 2.8.3 - 2.23.2 - 9.4.6.v20170531 - UTF-8 - UTF-8 - true - all - 2.11 - ${scala.major-version}.4 - 2.19.1 - - application application-deploy-plugin @@ -989,6 +53,7 @@ container-core container-accesslogging container-dependencies-enforcer + container-dependency-versions container-dev container-di container-disc @@ -1033,6 +98,7 @@ node-maintainer orchestrator-restapi orchestrator + parent predicate-search predicate-search-core processing diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml index ea2995c4770..ebeca5d3562 100644 --- a/predicate-search-core/pom.xml +++ b/predicate-search-core/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent predicate-search-core 6-SNAPSHOT diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml index ca79544c766..3cf52609b17 100644 --- a/predicate-search/pom.xml +++ b/predicate-search/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent predicate-search 6-SNAPSHOT diff --git a/processing/pom.xml b/processing/pom.xml index 15aa984cbd2..404e58334f8 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent processing jar diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml index 18cdd294b87..50ba91b3768 100755 --- a/provided-dependencies/pom.xml +++ b/provided-dependencies/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent provided-dependencies jar diff --git a/searchcore/pom.xml b/searchcore/pom.xml index f31617cfe53..107586d0d97 100644 --- a/searchcore/pom.xml +++ b/searchcore/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent searchcore 6-SNAPSHOT diff --git a/searchlib/pom.xml b/searchlib/pom.xml index c669903c3da..a3ebf712873 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent searchlib container-plugin diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml index 97a29655ad1..e5ead509803 100644 --- a/searchsummary/pom.xml +++ b/searchsummary/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent searchsummary 6-SNAPSHOT diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml index c63bdf35574..ecd319eabf7 100644 --- a/service-monitor/pom.xml +++ b/service-monitor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent service-monitor container-plugin diff --git a/serviceview/pom.xml b/serviceview/pom.xml index c3620ecfc9d..4f6d5fa34f5 100644 --- a/serviceview/pom.xml +++ b/serviceview/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent serviceview container-plugin diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index d027fda82ce..27d45d7611d 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent simplemetrics container-plugin diff --git a/socket_test/pom.xml b/socket_test/pom.xml index 60d8b3713e9..39bbc04611c 100644 --- a/socket_test/pom.xml +++ b/socket_test/pom.xml @@ -12,6 +12,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent jar diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml index 9300181e00b..816708a4fe2 100644 --- a/standalone-container/pom.xml +++ b/standalone-container/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent standalone-container 6-SNAPSHOT diff --git a/statistics/pom.xml b/statistics/pom.xml index 7bbef0ea3c0..e2d97989448 100644 --- a/statistics/pom.xml +++ b/statistics/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent statistics 6-SNAPSHOT diff --git a/storage/pom.xml b/storage/pom.xml index 49b103cbe34..ecfb69eb19c 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent storage 6-SNAPSHOT diff --git a/testutil/pom.xml b/testutil/pom.xml index 9f98f40c2d0..1b3cc6772d1 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent testutil jar diff --git a/vdslib/pom.xml b/vdslib/pom.xml index 48681b8ce83..979fcb5f1dd 100644 --- a/vdslib/pom.xml +++ b/vdslib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vdslib container-plugin diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml index 2464c8208ad..6bfaf55d7e1 100644 --- a/vespa-application-maven-plugin/pom.xml +++ b/vespa-application-maven-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa-application-maven-plugin 6-SNAPSHOT diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml index 4e96a0475f7..04a1b3e68b4 100644 --- a/vespa-documentgen-plugin/pom.xml +++ b/vespa-documentgen-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa-documentgen-plugin maven-plugin diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml index b9fbd589525..45c28d8665a 100644 --- a/vespa-hadoop/pom.xml +++ b/vespa-hadoop/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa-hadoop 6-SNAPSHOT diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml index 15d72b7c1c2..7f40beddf9f 100644 --- a/vespa-http-client/pom.xml +++ b/vespa-http-client/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa-http-client 6-SNAPSHOT diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml index f54b2df9b8a..9ca51c39227 100644 --- a/vespa_feed_perf/pom.xml +++ b/vespa_feed_perf/pom.xml @@ -13,6 +13,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa_feed_perf 6-SNAPSHOT diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index 3250cd8a41f..a225838c0f0 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespa_jersey2 6-SNAPSHOT diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml index 59895438038..b5757b68da3 100644 --- a/vespaclient-container-plugin/pom.xml +++ b/vespaclient-container-plugin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespaclient-container-plugin 6-SNAPSHOT diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml index bdb15825fbb..e3491d41dff 100644 --- a/vespaclient-core/pom.xml +++ b/vespaclient-core/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespaclient-core 6-SNAPSHOT diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml index 8cde41d53d7..7fa941fbed3 100644 --- a/vespaclient-java/pom.xml +++ b/vespaclient-java/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespaclient-java 6-SNAPSHOT diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml index 1f98a5e4c02..f3d1c42c39e 100644 --- a/vespajlib/pom.xml +++ b/vespajlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespajlib container-plugin diff --git a/vespalog/pom.xml b/vespalog/pom.xml index 6cea5ab83d9..e59f5b4dc47 100644 --- a/vespalog/pom.xml +++ b/vespalog/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vespalog 6-SNAPSHOT diff --git a/vsm/pom.xml b/vsm/pom.xml index 8c5b006aeec..1d131b2912e 100644 --- a/vsm/pom.xml +++ b/vsm/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent vsm 6-SNAPSHOT diff --git a/yolean/pom.xml b/yolean/pom.xml index d64ea29a95c..53289ffe9bc 100644 --- a/yolean/pom.xml +++ b/yolean/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent yolean 6-SNAPSHOT diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml index 45ba8c32372..69efa1fe31c 100644 --- a/zkfacade/pom.xml +++ b/zkfacade/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent zkfacade container-plugin -- cgit v1.2.3 From 1c5eb1dafb6419158cf848d5acfea62d0a5824fc Mon Sep 17 00:00:00 2001 From: gjoranv Date: Wed, 29 Nov 2017 15:06:46 +0100 Subject: Revert "Gjoranv/split parent" --- annotations/pom.xml | 1 - application-deploy-plugin/pom.xml | 1 - application-model/pom.xml | 1 - application-preprocessor/pom.xml | 1 - application/pom.xml | 1 - athenz-identity-provider-service/pom.xml | 1 - bootstrap.sh | 10 +- bundle-plugin-test/pom.xml | 1 - bundle-plugin/pom.xml | 1 - chain/pom.xml | 1 - clustercontroller-apps/pom.xml | 1 - clustercontroller-apputil/pom.xml | 1 - clustercontroller-core/pom.xml | 1 - clustercontroller-standalone/pom.xml | 1 - clustercontroller-utils/pom.xml | 1 - component/pom.xml | 1 - config-application-package/pom.xml | 1 - config-bundle/pom.xml | 1 - config-class-plugin/pom.xml | 1 - config-lib/pom.xml | 1 - config-model-api/pom.xml | 1 - config-model-fat/pom.xml | 1 - config-model/pom.xml | 1 - config-provisioning/pom.xml | 1 - config-proxy/pom.xml | 1 - config/pom.xml | 1 - configdefinitions/pom.xml | 1 - configgen/pom.xml | 1 - configserver/pom.xml | 1 - container-accesslogging/pom.xml | 1 - container-core/pom.xml | 1 - container-dependencies-enforcer/pom.xml | 45 +- container-dependency-versions/pom.xml | 369 ------------ container-dev/pom.xml | 1 - container-di/pom.xml | 1 - container-disc/pom.xml | 1 - container-jersey2/pom.xml | 1 - container-messagebus/pom.xml | 1 - container-search-and-docproc/pom.xml | 1 - container-search/pom.xml | 1 - container-test-jars/pom.xml | 1 - container-test/pom.xml | 1 - container/pom.xml | 1 - controller-api/pom.xml | 1 - controller-server/pom.xml | 1 - defaults/pom.xml | 7 +- docker-api/pom.xml | 1 - docproc/pom.xml | 1 - docprocs/pom.xml | 1 - document/pom.xml | 1 - documentapi/pom.xml | 1 - documentgen-test/pom.xml | 1 - fileacquirer/pom.xml | 1 - filedistribution/pom.xml | 3 +- filedistribution_test/pom.xml | 1 - filedistributionmanager/pom.xml | 1 - fsa/pom.xml | 1 - indexinglanguage/pom.xml | 1 - jaxrs_client_utils/pom.xml | 1 - jaxrs_utils/pom.xml | 1 - jdisc_core/pom.xml | 1 - jdisc_core_test/pom.xml | 1 - jdisc_http_service/pom.xml | 1 - jdisc_jetty/pom.xml | 1 - jdisc_messagebus_service/pom.xml | 1 - jrt/pom.xml | 1 - linguistics/pom.xml | 2 - logd/pom.xml | 1 - logserver/pom.xml | 1 - maven-plugins/pom.xml | 1 - messagebus-disc/pom.xml | 1 - messagebus/pom.xml | 1 - metrics/pom.xml | 1 - node-admin/pom.xml | 1 - node-maintainer/pom.xml | 1 - node-repository/pom.xml | 1 - orchestrator-restapi/pom.xml | 1 - orchestrator/pom.xml | 1 - parent/pom.xml | 758 ------------------------- pom.xml | 942 ++++++++++++++++++++++++++++++- predicate-search-core/pom.xml | 1 - predicate-search/pom.xml | 1 - processing/pom.xml | 1 - provided-dependencies/pom.xml | 1 - searchcore/pom.xml | 1 - searchlib/pom.xml | 1 - searchsummary/pom.xml | 1 - service-monitor/pom.xml | 2 - serviceview/pom.xml | 1 - simplemetrics/pom.xml | 1 - socket_test/pom.xml | 1 - standalone-container/pom.xml | 1 - statistics/pom.xml | 1 - storage/pom.xml | 1 - testutil/pom.xml | 2 - vdslib/pom.xml | 1 - vespa-application-maven-plugin/pom.xml | 1 - vespa-documentgen-plugin/pom.xml | 1 - vespa-hadoop/pom.xml | 1 - vespa-http-client/pom.xml | 1 - vespa_feed_perf/pom.xml | 1 - vespa_jersey2/pom.xml | 1 - vespaclient-container-plugin/pom.xml | 1 - vespaclient-core/pom.xml | 1 - vespaclient-java/pom.xml | 1 - vespajlib/pom.xml | 1 - vespalog/pom.xml | 1 - vsm/pom.xml | 1 - yolean/pom.xml | 1 - zkfacade/pom.xml | 1 - 110 files changed, 965 insertions(+), 1275 deletions(-) delete mode 100644 container-dependency-versions/pom.xml delete mode 100644 parent/pom.xml (limited to 'document') diff --git a/annotations/pom.xml b/annotations/pom.xml index 78f65b6d2b7..146eb5e9be2 100644 --- a/annotations/pom.xml +++ b/annotations/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent annotations jar diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml index d402257fc7c..3cae7cf7831 100644 --- a/application-deploy-plugin/pom.xml +++ b/application-deploy-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent application-deploy-plugin 6-SNAPSHOT diff --git a/application-model/pom.xml b/application-model/pom.xml index 5ea1ef7cd3b..13a2d3ea49b 100644 --- a/application-model/pom.xml +++ b/application-model/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent application-model container-plugin diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml index 22fd1688957..4fa319a881a 100644 --- a/application-preprocessor/pom.xml +++ b/application-preprocessor/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent application-preprocessor jar diff --git a/application/pom.xml b/application/pom.xml index 5445d57bf9f..17e9ece3543 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent application jar diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml index 82de5511238..c87589d7be2 100644 --- a/athenz-identity-provider-service/pom.xml +++ b/athenz-identity-provider-service/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent diff --git a/bootstrap.sh b/bootstrap.sh index b71af73c529..075da74b7c7 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -44,16 +44,8 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map # The 'default' mode also builds some modules needed by C++ code. # The 'full' mode also builds modules needed by C++ tests. -# must install parent poms first: +# must install parent pom first: echo "Downloading all dependencies. This may take a few minutes with an empty Maven cache." -( - cd container-dependency-versions - mvn_install -) -( - cd parent - mvn_install -) mvn_install -N # and build plugins first: diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml index b52f52b9b87..8d8bf48cc07 100644 --- a/bundle-plugin-test/pom.xml +++ b/bundle-plugin-test/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa bundle-plugin-test diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index d92df4eb78f..02f0ed2ccf5 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent bundle-plugin 6-SNAPSHOT diff --git a/chain/pom.xml b/chain/pom.xml index da6cdd37ce4..a3096d37748 100755 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent chain jar diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml index e882a2ebd79..26f466eb208 100644 --- a/clustercontroller-apps/pom.xml +++ b/clustercontroller-apps/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent clustercontroller-apps 6-SNAPSHOT diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml index b2657840d7a..68adc82596f 100644 --- a/clustercontroller-apputil/pom.xml +++ b/clustercontroller-apputil/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent clustercontroller-apputil 6-SNAPSHOT diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 059da070f3e..499dee0d1de 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent clustercontroller-core 6-SNAPSHOT diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml index 2c3d77692bc..f51555a92b6 100644 --- a/clustercontroller-standalone/pom.xml +++ b/clustercontroller-standalone/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent clustercontroller-standalone 6-SNAPSHOT diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml index 16efc57bf7c..f151a623ff9 100644 --- a/clustercontroller-utils/pom.xml +++ b/clustercontroller-utils/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent clustercontroller-utils 6-SNAPSHOT diff --git a/component/pom.xml b/component/pom.xml index b9b0a76839a..92f852e4ba0 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent component container-plugin diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml index 5881401d940..90d4a2d9af6 100644 --- a/config-application-package/pom.xml +++ b/config-application-package/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-application-package container-plugin diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml index 53c763e0097..7121756ce68 100644 --- a/config-bundle/pom.xml +++ b/config-bundle/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-bundle container-plugin diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml index b0345c5fa32..5b3149a13da 100644 --- a/config-class-plugin/pom.xml +++ b/config-class-plugin/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-class-plugin maven-plugin diff --git a/config-lib/pom.xml b/config-lib/pom.xml index aa2a5cbad01..2ed993dd052 100644 --- a/config-lib/pom.xml +++ b/config-lib/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-lib container-plugin diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml index dabe702d910..6618612df31 100644 --- a/config-model-api/pom.xml +++ b/config-model-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-model-api 6-SNAPSHOT diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index 2efed91e73d..a4bbba0e6e8 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-model-fat bundle diff --git a/config-model/pom.xml b/config-model/pom.xml index 2f85b559e5f..0fdc09e1a61 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-model container-plugin diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml index db804606290..ebe7d460989 100644 --- a/config-provisioning/pom.xml +++ b/config-provisioning/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa config-provisioning diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml index ea51d5089ca..0aadb1bbb12 100644 --- a/config-proxy/pom.xml +++ b/config-proxy/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config-proxy jar diff --git a/config/pom.xml b/config/pom.xml index 0f7ab6720c0..f73c5b7bfd8 100755 --- a/config/pom.xml +++ b/config/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent config container-plugin diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml index 5a754c100fa..92980a18899 100644 --- a/configdefinitions/pom.xml +++ b/configdefinitions/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent configdefinitions container-plugin diff --git a/configgen/pom.xml b/configgen/pom.xml index 2175fe6cc87..6e550ec7321 100644 --- a/configgen/pom.xml +++ b/configgen/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent configgen jar diff --git a/configserver/pom.xml b/configserver/pom.xml index 288a52eb9d8..30d92dc7650 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent configserver container-plugin diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml index 0c352818870..45d7b4a2ed2 100644 --- a/container-accesslogging/pom.xml +++ b/container-accesslogging/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-accesslogging 6-SNAPSHOT diff --git a/container-core/pom.xml b/container-core/pom.xml index 20e8a11a9fd..c608f35f26c 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-core 6-SNAPSHOT diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 3b5377ee5d8..61495384744 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-dependencies-enforcer @@ -82,36 +81,36 @@ com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:[2.5.4, ${jackson2.version}]:jar:provided com.fasterxml.jackson.module:jackson-module-jaxb-annotations:[2.5.4, ${jackson2.version}]:jar:provided - com.google.code.findbugs:annotations:[${findbugs.version}]:jar:provided - com.google.code.findbugs:jsr305:[${findbugs.version}]:jar:provided - com.google.guava:guava:[${guava.version}]:jar:provided - com.google.inject.extensions:guice-assistedinject:[${guice.version}]:jar:provided - com.google.inject.extensions:guice-multibindings:[${guice.version}]:jar:provided - com.google.inject:guice:[${guice.version}]:jar:provided:no_aop + com.google.code.findbugs:annotations:[1.3.9]:jar:provided + com.google.code.findbugs:jsr305:[1.3.9]:jar:provided + com.google.guava:guava:[18.0]:jar:provided + com.google.inject.extensions:guice-assistedinject:[3.0]:jar:provided + com.google.inject.extensions:guice-multibindings:[3.0]:jar:provided + com.google.inject:guice:[3.0]:jar:provided:no_aop commons-codec:commons-codec:[1.4]:jar:provided commons-daemon:commons-daemon:[1.0.3]:jar:provided commons-logging:commons-logging:[1.1.1]:jar:provided - javax.annotation:javax.annotation-api:[${javax.annotation-api.version}]:jar:provided + javax.annotation:javax.annotation-api:[1.2]:jar:provided javax.inject:javax.inject:[1]:jar:provided javax.servlet:javax.servlet-api:[3.1.0]:jar:provided - javax.validation:validation-api:[${javax.validation-api.version}]:jar:provided + javax.validation:validation-api:[1.1.0.Final]:jar:provided javax.ws.rs:javax.ws.rs-api:[${javax.ws.rs-api.version}]:jar:provided net.jcip:jcip-annotations:[1.0]:jar:provided net.jpountz.lz4:lz4:[1.3.0]:jar:provided - org.apache.felix:org.apache.felix.framework:[${felix.version}]:jar:provided + org.apache.felix:org.apache.felix.framework:[4.2.1]:jar:provided org.apache.felix:org.apache.felix.log:[1.0.1]:jar:provided - org.apache.felix:org.apache.felix.main:[${felix.version}]:jar:provided + org.apache.felix:org.apache.felix.main:[4.2.1]:jar:provided org.apache.httpcomponents:httpclient:[4.3.6]:jar:provided org.apache.httpcomponents:httpcore:[4.3.3]:jar:provided org.eclipse.jetty:jetty-http:[${jetty.version}]:jar:provided org.eclipse.jetty:jetty-io:[${jetty.version}]:jar:provided org.eclipse.jetty:jetty-util:[${jetty.version}]:jar:provided - org.glassfish.hk2.external:aopalliance-repackaged:[${hk2.version}]:jar:provided - org.glassfish.hk2.external:javax.inject:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-api:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-locator:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-utils:[${hk2.version}]:jar:provided - org.glassfish.hk2:osgi-resource-locator:[${hk2.osgi-resource-locator.version}]:jar:provided + org.glassfish.hk2.external:aopalliance-repackaged:[2.5.0-b05]:jar:provided + org.glassfish.hk2.external:javax.inject:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-api:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-locator:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-utils:[2.5.0-b05]:jar:provided + org.glassfish.hk2:osgi-resource-locator:[1.0.1]:jar:provided org.glassfish.jersey.bundles.repackaged:jersey-guava:[${jersey2.version}]:jar:provided org.glassfish.jersey.containers:jersey-container-servlet-core:[${jersey2.version}]:jar:provided org.glassfish.jersey.containers:jersey-container-servlet:[${jersey2.version}]:jar:provided @@ -123,13 +122,13 @@ org.glassfish.jersey.media:jersey-media-jaxb:[${jersey2.version}]:jar:provided org.glassfish.jersey.media:jersey-media-json-jackson:[${jersey2.version}]:jar:provided org.glassfish.jersey.media:jersey-media-multipart:[${jersey2.version}]:jar:provided - org.javassist:javassist:[${javassist.version}]:jar:provided + org.javassist:javassist:[3.20.0-GA]:jar:provided org.json:json:[20090211]:jar:provided - org.jvnet.mimepull:mimepull:[${mimepull.version}]:jar:provided - org.slf4j:jcl-over-slf4j:[${slf4j.version}]:jar:provided - org.slf4j:log4j-over-slf4j:[${slf4j.version}]:jar:provided - org.slf4j:slf4j-api:[${slf4j.version}]:jar:provided - org.slf4j:slf4j-jdk14:[${slf4j.version}]:jar:provided + org.jvnet.mimepull:mimepull:[1.9.6]:jar:provided + org.slf4j:jcl-over-slf4j:[1.7.5]:jar:provided + org.slf4j:log4j-over-slf4j:[1.7.5]:jar:provided + org.slf4j:slf4j-api:[1.7.5]:jar:provided + org.slf4j:slf4j-jdk14:[1.7.5]:jar:provided xml-apis:xml-apis:[1.4.01]:jar:provided diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml deleted file mode 100644 index 5007e91c916..00000000000 --- a/container-dependency-versions/pom.xml +++ /dev/null @@ -1,369 +0,0 @@ - - - - 4.0.0 - com.yahoo.vespa - container-dependency-versions - pom - 6-SNAPSHOT - Dependency versions for all Vespa maven projects. - https://github.com/vespa-engine - - - - The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - - - - aopalliance - aopalliance - 1.0 - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson2.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson2.version} - - - com.google.code.findbugs - annotations - ${findbugs.version} - - - com.google.code.findbugs - jsr305 - ${findbugs.version} - - - com.google.guava - guava - ${guava.version} - - - com.google.inject.extensions - guice-assistedinject - ${guice.version} - - - com.google.inject.extensions - guice-multibindings - ${guice.version} - - - com.google.inject - guice - ${guice.version} - - - com.google.inject - guice - ${guice.version} - no_aop - - - commons-codec - commons-codec - 1.4 - - - commons-daemon - commons-daemon - 1.0.3 - - - - commons-logging - commons-logging - 1.1.1 - - - javax.annotation - javax.annotation-api - ${javax.annotation-api.version} - - - javax.inject - javax.inject - 1 - - - javax.servlet - javax.servlet-api - 3.1.0 - - - javax.validation - validation-api - ${javax.validation-api.version} - - - javax.ws.rs - javax.ws.rs-api - ${javax.ws.rs-api.version} - - - net.jcip - jcip-annotations - 1.0 - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - org.apache.felix - org.apache.felix.framework - ${felix.version} - - - org.apache.felix - org.apache.felix.log - 1.0.1 - - - org.apache.felix - org.apache.felix.main - ${felix.version} - - - org.apache.httpcomponents - httpclient - 4.3.6 - - - org.apache.httpcomponents - httpcore - 4.3.3 - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-io - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.glassfish.hk2.external - aopalliance-repackaged - ${hk2.version} - - - org.glassfish.hk2.external - javax.inject - ${hk2.version} - - - org.glassfish.hk2 - hk2-api - ${hk2.version} - - - org.glassfish.hk2 - hk2-locator - ${hk2.version} - - - org.glassfish.hk2 - hk2-utils - ${hk2.version} - - - org.glassfish.hk2 - osgi-resource-locator - ${hk2.osgi-resource-locator.version} - - - org.glassfish.jersey.bundles.repackaged - jersey-guava - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-client - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-common - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-server - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-entity-filtering - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-proxy-client - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-jaxb - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2.version} - - - org.javassist - javassist - ${javassist.version} - - - org.json - json - 20090211 - - - org.jvnet.mimepull - mimepull - ${mimepull.version} - - - org.slf4j - jcl-over-slf4j - ${slf4j.version} - - - org.slf4j - log4j-over-slf4j - ${slf4j.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-jdk14 - ${slf4j.version} - - - xml-apis - xml-apis - 1.4.01 - - - - - - 4.2.1 - 1.3.9 - 18.0 - 3.0 - 9.4.6.v20170531 - 1.7.5 - - - - - 2.5.0-b05 - 1.0.1 - 2.8.3 - 3.20.0-GA - 1.2 - 1.1.0.Final - 2.0.1 - 2.23.2 - 1.9.6 - - - diff --git a/container-dev/pom.xml b/container-dev/pom.xml index 80a109345ac..d02ec233d96 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -10,7 +10,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-dev 6-SNAPSHOT diff --git a/container-di/pom.xml b/container-di/pom.xml index caa66193fca..cf6a9e54daa 100644 --- a/container-di/pom.xml +++ b/container-di/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-di 6-SNAPSHOT diff --git a/container-disc/pom.xml b/container-disc/pom.xml index dcdd2898c0b..ad86b3ffcff 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-disc 6-SNAPSHOT diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 2e69d11c2d9..8f579e49876 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-jersey2 6-SNAPSHOT diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index 7b9805ac9f4..6058063daf3 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-messagebus 6-SNAPSHOT diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml index ea00ee1f98c..fb2794670a2 100644 --- a/container-search-and-docproc/pom.xml +++ b/container-search-and-docproc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-search-and-docproc 6-SNAPSHOT diff --git a/container-search/pom.xml b/container-search/pom.xml index 8e41a576a27..f622567acde 100644 --- a/container-search/pom.xml +++ b/container-search/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-search jar diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml index 431da458932..dcde18fc8cf 100644 --- a/container-test-jars/pom.xml +++ b/container-test-jars/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa.container-test-jars container-test-jars diff --git a/container-test/pom.xml b/container-test/pom.xml index b0ee9417381..7aaffed652e 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container-test 6-SNAPSHOT diff --git a/container/pom.xml b/container/pom.xml index e340fed4d59..4726071db55 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent container 6-SNAPSHOT diff --git a/controller-api/pom.xml b/controller-api/pom.xml index 97a239572f6..51666da0c03 100644 --- a/controller-api/pom.xml +++ b/controller-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent controller-api container-plugin diff --git a/controller-server/pom.xml b/controller-server/pom.xml index 16f639489c9..0cfcbc40601 100644 --- a/controller-server/pom.xml +++ b/controller-server/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent controller-server container-plugin diff --git a/defaults/pom.xml b/defaults/pom.xml index 1a184f46396..2f3f06780e7 100644 --- a/defaults/pom.xml +++ b/defaults/pom.xml @@ -5,10 +5,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.yahoo.vespa - parent - 6-SNAPSHOT - ../parent + com.yahoo.vespa + parent + 6-SNAPSHOT com.yahoo.vespa defaults diff --git a/docker-api/pom.xml b/docker-api/pom.xml index 20451b2d622..fc374a12dd2 100644 --- a/docker-api/pom.xml +++ b/docker-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent docker-api diff --git a/docproc/pom.xml b/docproc/pom.xml index 3a4f8f0c9c5..09635201e51 100644 --- a/docproc/pom.xml +++ b/docproc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent docproc jar diff --git a/docprocs/pom.xml b/docprocs/pom.xml index 01b3c343604..1b209ec39ee 100644 --- a/docprocs/pom.xml +++ b/docprocs/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent docprocs container-plugin diff --git a/document/pom.xml b/document/pom.xml index 4dbe44e8439..81b21487314 100644 --- a/document/pom.xml +++ b/document/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent document 6-SNAPSHOT diff --git a/documentapi/pom.xml b/documentapi/pom.xml index 5c0c78304c1..c94337e8873 100644 --- a/documentapi/pom.xml +++ b/documentapi/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent documentapi container-plugin diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml index cf47027f13b..53b49cf1473 100644 --- a/documentgen-test/pom.xml +++ b/documentgen-test/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent documentgen-test jar diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml index f57d9d1ccc9..eb040eddffb 100644 --- a/fileacquirer/pom.xml +++ b/fileacquirer/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent fileacquirer 6-SNAPSHOT diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml index 1b4fa06919a..10b77b540e7 100644 --- a/filedistribution/pom.xml +++ b/filedistribution/pom.xml @@ -9,8 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent - + filedistribution 6-SNAPSHOT diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml index 0feb32f7368..c270eabb6cf 100644 --- a/filedistribution_test/pom.xml +++ b/filedistribution_test/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent filedistribution_test 6-SNAPSHOT diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml index 75785965f11..9e3ecf95ecb 100644 --- a/filedistributionmanager/pom.xml +++ b/filedistributionmanager/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent filedistributionmanager 6-SNAPSHOT diff --git a/fsa/pom.xml b/fsa/pom.xml index 466637c8ba8..a49845105cf 100644 --- a/fsa/pom.xml +++ b/fsa/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent fsa container-plugin diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml index af45256b884..70cb9f6d8d0 100644 --- a/indexinglanguage/pom.xml +++ b/indexinglanguage/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent indexinglanguage jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index b9a97db8cb6..1c4bdde21a8 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jaxrs_client_utils 6-SNAPSHOT diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml index 1aa505f99ed..249cbda992b 100644 --- a/jaxrs_utils/pom.xml +++ b/jaxrs_utils/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jaxrs_utils 6-SNAPSHOT diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml index 85f44ae3188..fb8200eb610 100644 --- a/jdisc_core/pom.xml +++ b/jdisc_core/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jdisc_core 6-SNAPSHOT diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml index c89c4300500..92e7a39fee0 100644 --- a/jdisc_core_test/pom.xml +++ b/jdisc_core_test/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa.jdisc_core parent diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml index 83e5d540b05..d8c0b0bc29c 100644 --- a/jdisc_http_service/pom.xml +++ b/jdisc_http_service/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jdisc_http_service 6-SNAPSHOT diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml index b88751f1390..4e739aae8cc 100644 --- a/jdisc_jetty/pom.xml +++ b/jdisc_jetty/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jdisc_jetty 6-SNAPSHOT diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml index f5741ad7ded..e9531a73861 100644 --- a/jdisc_messagebus_service/pom.xml +++ b/jdisc_messagebus_service/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jdisc_messagebus_service 6-SNAPSHOT diff --git a/jrt/pom.xml b/jrt/pom.xml index b940e6c6cb0..0d6be56fdab 100644 --- a/jrt/pom.xml +++ b/jrt/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jrt container-plugin diff --git a/linguistics/pom.xml b/linguistics/pom.xml index 3b33e100d6f..328742f483a 100644 --- a/linguistics/pom.xml +++ b/linguistics/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent linguistics container-plugin @@ -60,7 +59,6 @@ com.google.inject guice provided - no_aop diff --git a/logd/pom.xml b/logd/pom.xml index 962ae2f2d43..e21931efc5a 100644 --- a/logd/pom.xml +++ b/logd/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent logd 6-SNAPSHOT diff --git a/logserver/pom.xml b/logserver/pom.xml index 6d714014d22..6acdd8ed1d7 100644 --- a/logserver/pom.xml +++ b/logserver/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent logserver jar diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 41ff9c23af8..2f7343e753c 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa bundle-plugins diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml index f2e001166b2..46158b0ca60 100644 --- a/messagebus-disc/pom.xml +++ b/messagebus-disc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent messagebus-disc 6-SNAPSHOT diff --git a/messagebus/pom.xml b/messagebus/pom.xml index 2c6b1c4fe46..7fb44787cdf 100644 --- a/messagebus/pom.xml +++ b/messagebus/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent messagebus 6-SNAPSHOT diff --git a/metrics/pom.xml b/metrics/pom.xml index fd7128db021..ec64d0d392c 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent com.yahoo.vespa metrics diff --git a/node-admin/pom.xml b/node-admin/pom.xml index 607b71154b9..f7691cda3f7 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent node-admin diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml index 4305778878e..d56e12d92c6 100644 --- a/node-maintainer/pom.xml +++ b/node-maintainer/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent node-maintainer diff --git a/node-repository/pom.xml b/node-repository/pom.xml index 714ca9a644c..09b0d3df3d9 100644 --- a/node-repository/pom.xml +++ b/node-repository/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent node-repository 6-SNAPSHOT diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml index 4629b69c01c..db823f3fb15 100644 --- a/orchestrator-restapi/pom.xml +++ b/orchestrator-restapi/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent orchestrator-restapi 6-SNAPSHOT diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index b770a767be6..c50f9ddcb29 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent orchestrator 6-SNAPSHOT diff --git a/parent/pom.xml b/parent/pom.xml deleted file mode 100644 index 0daf82efe6d..00000000000 --- a/parent/pom.xml +++ /dev/null @@ -1,758 +0,0 @@ - - - - 4.0.0 - parent - pom - 6-SNAPSHOT - parent - Parent artifact for all Vespa maven projects. - https://github.com/vespa-engine - - - com.yahoo.vespa - container-dependency-versions - 6-SNAPSHOT - ../container-dependency-versions - - - - - The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - - Vespa - https://github.com/vespa-engine - - - - - - bintray-vespa-repo - https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 - - - - - - - - false - - bintray-yahoo-maven - bintray - https://yahoo.bintray.com/maven - - - - - scm:git:git@github.com:vespa-engine/vespa.git - scm:git:git@github.com:vespa-engine/vespa.git - git@github.com:vespa-engine/vespa.git - - - - ${project.artifactId} - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - org.apache.maven.archetype - archetype-packaging - 2.0 - - - - - - org.antlr - antlr3-maven-plugin - ${antlr.version} - - - org.apache.maven.plugins - maven-antrun-plugin - 1.7 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - 1.8 - 1.8 - true - true - false - - -Xlint:all - -Xlint:-serial - -Xlint:-try - -Xlint:-processing - -Xlint:-varargs - -Werror - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.5 - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - - -Xdoclint:${doclint} -Xdoclint:-missing - - 2.10.4 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - - true - - - - mojo-descriptor - - descriptor - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - \ - - - - org.apache.maven.plugins - maven-site-plugin - 3.3 - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - true - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.version} - - ${test.hide} - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${surefire.version} - - false - false - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.9.1 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - org.codehaus.mojo - properties-maven-plugin - 1.0.0 - - - net.alchim31.maven - scala-maven-plugin - 3.2.2 - - - -unchecked - -deprecation - -feature - -Xfatal-warnings - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - - ${project.version} - true - - - - - - - - attach-sources - - - !skipSources - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - generate-javadoc - - - !skipJavadoc - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - generate-javadoc - package - - javadoc - - - - - -Xdoclint:${doclint} -Xdoclint:-missing - ${javadoc.failOnError} - true - private - - - - - - - coverage - - - - org.codehaus.mojo - exec-maven-plugin - - true - - - - org.codehaus.mojo - build-helper-maven-plugin - - - generate-sources - - add-source - - - - src/main/scala - - - - - add-test-source - generate-test-sources - - add-test-source - - - - src/test/scala - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - com.github.cverges.expect4j - expect4j - 1.6 - - - org.apache.commons - commons-compress - 1.11 - - - org.apache.commons - commons-exec - 1.3 - - - io.airlift - airline - 0.7 - - - org.ow2.asm - asm - 5.2 - - - com.google.guava - guava-testlib - 18.0 - - - com.google.protobuf - protobuf-java - 2.4.1 - - - com.googlecode.jmockit - jmockit - 1.2 - - - com.goldmansachs - gs-collections - 6.1.0 - - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider - ${jackson2.version} - - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - ${jackson2.version} - - - com.infradna.tool - bridge-method-annotation - 1.4 - - - commons-cli - commons-cli - 1.3.1 - - - commons-collections - commons-collections - 3.2.1 - - - commons-configuration - commons-configuration - 1.6 - - - commons-io - commons-io - 2.4 - - - commons-lang - commons-lang - ${commons-lang.version} - - - commons-net - commons-net - 2.0 - - - commons-pool - commons-pool - 1.5.6 - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-test - ${curator.version} - - - junit - junit - 4.12 - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.apache.aries.spifly - org.apache.aries.spifly.dynamic.bundle - ${aries.spifly.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.apache.httpcomponents - fluent-hc - 4.3.6 - - - org.apache.httpcomponents - httpmime - 4.3.6 - - - org.apache.maven - maven-artifact - 3.5.0 - - - org.apache.maven - maven-core - 3.5.0 - - - org.apache.maven - maven-model - 3.5.0 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.5 - - - org.apache.maven - maven-plugin-api - 3.5.0 - - - org.apache.maven - maven-project - 2.2.1 - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.surefire - surefire-junit4 - ${surefire.version} - - - org.apache.maven.surefire - surefire-providers - ${surefire.version} - pom - - - org.codehaus.jettison - jettison - 1.3.1 - - - org.cthul - cthul-matchers - 1.0 - test - - - org.eclipse.jetty - jetty-continuation - ${jetty.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-servlets - ${jetty.version} - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - org.hamcrest - hamcrest-core - 1.3 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - uk.co.datumedge - hamcrest-json - 0.2 - test - - - org.hdrhistogram - HdrHistogram - 2.1.8 - - - org.mockito - mockito-all - 1.9.5 - - - org.mockito - mockito-core - 1.9.5 - test - - - org.osgi - org.osgi.compendium - 4.3.0 - - - org.osgi - org.osgi.core - 4.3.0 - - - org.scala-lang - scala-library - ${scala.version} - - - org.scala-lang.modules - scala-parser-combinators_${scala.major-version} - 1.0.1 - - - org.scala-lang.modules - scala-xml_${scala.major-version} - 1.0.2 - - - org.scalatest - scalatest_${scala.major-version} - 2.2.2 - - - org.springframework - spring-test - 4.0.6.RELEASE - - - org.testng - testng - 6.10 - - - org.twdata.maven - mojo-executor - 2.3.0 - - - net.spy - spymemcached - 2.10.1 - - - xerces - xercesImpl - 2.11.0 - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - com.ibm.icu - icu4j - 57.1 - - - com.yahoo.athenz - athenz-zms-java-client - ${athenz.version} - - - com.yahoo.athenz - athenz-zts-java-client - ${athenz.version} - - - - - - 3.5.2 - 4.5 - 1.0.8 - 1.0.0 - 5.0.3 - - 1.7.28 - 1.58 - 2.6 - - 2.9.1 - UTF-8 - UTF-8 - true - all - 2.11 - ${scala.major-version}.4 - 2.19.1 - - - diff --git a/pom.xml b/pom.xml index eb1f954ce13..2b7c1abc0d4 100644 --- a/pom.xml +++ b/pom.xml @@ -3,10 +3,11 @@ 4.0.0 com.yahoo.vespa - vespa + parent pom 6-SNAPSHOT - Aggregator pom for vespa. + parent + Parent artifact for all Vespa maven projects. https://github.com/vespa-engine @@ -23,6 +24,941 @@ + + + bintray-vespa-repo + https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 + + + + + + + + false + + bintray-yahoo-maven + bintray + https://yahoo.bintray.com/maven + + + + + scm:git:git@github.com:vespa-engine/vespa.git + scm:git:git@github.com:vespa-engine/vespa.git + git@github.com:vespa-engine/vespa.git + + + + ${project.artifactId} + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + org.apache.maven.archetype + archetype-packaging + 2.0 + + + + + + org.antlr + antlr3-maven-plugin + ${antlr.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + org.apache.felix + maven-bundle-plugin + 2.4.0 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + true + true + false + + -Xlint:all + -Xlint:-serial + -Xlint:-try + -Xlint:-processing + -Xlint:-varargs + -Werror + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + org.apache.maven.plugins + maven-install-plugin + 2.5.2 + + true + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + + -Xdoclint:${doclint} -Xdoclint:-missing + + 2.10.4 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + + true + + + + mojo-descriptor + + descriptor + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + \ + + + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.version} + + ${test.hide} + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${surefire.version} + + false + false + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + net.alchim31.maven + scala-maven-plugin + 3.2.2 + + + -unchecked + -deprecation + -feature + -Xfatal-warnings + + + + + com.yahoo.vespa + bundle-plugin + ${project.version} + + ${project.version} + true + + + + + + + + attach-sources + + + !skipSources + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar-no-fork + + + + + + + + + generate-javadoc + + + !skipJavadoc + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + generate-javadoc + package + + javadoc + + + + + -Xdoclint:${doclint} -Xdoclint:-missing + ${javadoc.failOnError} + true + private + + + + + + + coverage + + + + org.codehaus.mojo + exec-maven-plugin + + true + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + src/main/scala + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + com.github.cverges.expect4j + expect4j + 1.6 + + + org.apache.commons + commons-compress + 1.11 + + + org.apache.commons + commons-exec + 1.3 + + + io.airlift + airline + 0.7 + + + aopalliance + aopalliance + 1.0 + + + org.ow2.asm + asm + 5.2 + + + com.google.code.findbugs + annotations + 1.3.9 + + + com.google.code.findbugs + jsr305 + 1.3.9 + + + com.google.guava + guava + 18.0 + + + com.google.guava + guava-testlib + 18.0 + + + com.google.inject + guice + 3.0 + + + com.google.inject + guice + 3.0 + no_aop + + + com.google.inject.extensions + guice-assistedinject + 3.0 + + + com.google.inject.extensions + guice-multibindings + 3.0 + + + com.google.protobuf + protobuf-java + 2.4.1 + + + com.googlecode.jmockit + jmockit + 1.2 + + + com.goldmansachs + gs-collections + 6.1.0 + + + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson2.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson2.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson2.version} + + + com.infradna.tool + bridge-method-annotation + 1.4 + + + commons-cli + commons-cli + 1.3.1 + + + commons-codec + commons-codec + 1.4 + + + commons-collections + commons-collections + 3.2.1 + + + commons-configuration + commons-configuration + 1.6 + + + commons-daemon + commons-daemon + 1.0.3 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + ${commons-lang.version} + + + + commons-logging + commons-logging + 1.1.1 + + + commons-net + commons-net + 2.0 + + + commons-pool + commons-pool + 1.5.6 + + + + org.apache.zookeeper + zookeeper + 3.4.10 + + + org.apache.curator + curator-recipes + ${curator.version} + + + org.apache.curator + curator-test + ${curator.version} + + + javax.servlet + javax.servlet-api + 3.1.0 + + + junit + junit + 4.12 + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.apache.aries.spifly + org.apache.aries.spifly.dynamic.bundle + ${aries.spifly.version} + + + org.apache.commons + commons-lang3 + 3.1 + + + org.apache.felix + org.apache.felix.framework + 4.2.1 + + + org.apache.felix + org.apache.felix.log + 1.0.1 + + + org.apache.felix + org.apache.felix.main + 4.2.1 + + + org.apache.httpcomponents + fluent-hc + 4.3.6 + + + org.apache.httpcomponents + httpclient + 4.3.6 + + + org.apache.httpcomponents + httpcore + 4.3.3 + + + org.apache.httpcomponents + httpmime + 4.3.6 + + + org.apache.maven + maven-artifact + 3.5.0 + + + org.apache.maven + maven-core + 3.5.0 + + + org.apache.maven + maven-model + 3.5.0 + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + org.apache.maven + maven-plugin-api + 3.5.0 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.surefire + surefire-junit4 + ${surefire.version} + + + org.apache.maven.surefire + surefire-providers + ${surefire.version} + pom + + + org.codehaus.jettison + jettison + 1.3.1 + + + org.cthul + cthul-matchers + 1.0 + test + + + org.eclipse.jetty + jetty-continuation + ${jetty.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-servlets + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + org.hamcrest + hamcrest-all + 1.3 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + uk.co.datumedge + hamcrest-json + 0.2 + test + + + org.hdrhistogram + HdrHistogram + 2.1.8 + + + org.json + json + 20090211 + + + org.mockito + mockito-all + 1.9.5 + + + org.mockito + mockito-core + 1.9.5 + test + + + org.osgi + org.osgi.compendium + 4.3.0 + + + org.osgi + org.osgi.core + 4.3.0 + + + org.scala-lang + scala-library + ${scala.version} + + + org.scala-lang.modules + scala-parser-combinators_${scala.major-version} + 1.0.1 + + + org.scala-lang.modules + scala-xml_${scala.major-version} + 1.0.2 + + + org.scalatest + scalatest_${scala.major-version} + 2.2.2 + + + org.slf4j + jcl-over-slf4j + 1.7.5 + + + org.slf4j + log4j-over-slf4j + 1.7.5 + + + org.slf4j + slf4j-api + 1.7.5 + + + org.slf4j + slf4j-jdk14 + 1.7.5 + + + org.springframework + spring-test + 4.0.6.RELEASE + + + org.testng + testng + 6.10 + + + org.twdata.maven + mojo-executor + 2.3.0 + + + net.jcip + jcip-annotations + 1.0 + + + net.jpountz.lz4 + lz4 + 1.3.0 + + + net.spy + spymemcached + 2.10.1 + + + xerces + xercesImpl + 2.11.0 + + + org.bouncycastle + bcpkix-jdk15on + ${bouncycastle.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api.version} + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-proxy-client + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-client + ${jersey2.version} + + + com.ibm.icu + icu4j + 57.1 + + + com.yahoo.athenz + athenz-zms-java-client + ${athenz.version} + + + com.yahoo.athenz + athenz-zts-java-client + ${athenz.version} + + + + + + 2.0.1 + 3.5.2 + 4.5 + 1.0.8 + 1.0.0 + 5.0.3 + + 1.7.28 + 1.58 + 2.6 + + 2.9.1 + 2.8.3 + 2.23.2 + 9.4.6.v20170531 + UTF-8 + UTF-8 + true + all + 2.11 + ${scala.major-version}.4 + 2.19.1 + + application application-deploy-plugin @@ -53,7 +989,6 @@ container-core container-accesslogging container-dependencies-enforcer - container-dependency-versions container-dev container-di container-disc @@ -98,7 +1033,6 @@ node-maintainer orchestrator-restapi orchestrator - parent predicate-search predicate-search-core processing diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml index ebeca5d3562..ea2995c4770 100644 --- a/predicate-search-core/pom.xml +++ b/predicate-search-core/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent predicate-search-core 6-SNAPSHOT diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml index 3cf52609b17..ca79544c766 100644 --- a/predicate-search/pom.xml +++ b/predicate-search/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent predicate-search 6-SNAPSHOT diff --git a/processing/pom.xml b/processing/pom.xml index 404e58334f8..15aa984cbd2 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent processing jar diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml index 50ba91b3768..18cdd294b87 100755 --- a/provided-dependencies/pom.xml +++ b/provided-dependencies/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent provided-dependencies jar diff --git a/searchcore/pom.xml b/searchcore/pom.xml index 107586d0d97..f31617cfe53 100644 --- a/searchcore/pom.xml +++ b/searchcore/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent searchcore 6-SNAPSHOT diff --git a/searchlib/pom.xml b/searchlib/pom.xml index a3ebf712873..c669903c3da 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent searchlib container-plugin diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml index e5ead509803..97a29655ad1 100644 --- a/searchsummary/pom.xml +++ b/searchsummary/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent searchsummary 6-SNAPSHOT diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml index 6fe4b4e2b18..c63bdf35574 100644 --- a/service-monitor/pom.xml +++ b/service-monitor/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent service-monitor container-plugin @@ -67,7 +66,6 @@ com.google.inject guice provided - no_aop com.fasterxml.jackson.core diff --git a/serviceview/pom.xml b/serviceview/pom.xml index 4f6d5fa34f5..c3620ecfc9d 100644 --- a/serviceview/pom.xml +++ b/serviceview/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent serviceview container-plugin diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index 27d45d7611d..d027fda82ce 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent simplemetrics container-plugin diff --git a/socket_test/pom.xml b/socket_test/pom.xml index 39bbc04611c..60d8b3713e9 100644 --- a/socket_test/pom.xml +++ b/socket_test/pom.xml @@ -12,7 +12,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent jar diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml index 816708a4fe2..9300181e00b 100644 --- a/standalone-container/pom.xml +++ b/standalone-container/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent standalone-container 6-SNAPSHOT diff --git a/statistics/pom.xml b/statistics/pom.xml index e2d97989448..7bbef0ea3c0 100644 --- a/statistics/pom.xml +++ b/statistics/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent statistics 6-SNAPSHOT diff --git a/storage/pom.xml b/storage/pom.xml index ecfb69eb19c..49b103cbe34 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent storage 6-SNAPSHOT diff --git a/testutil/pom.xml b/testutil/pom.xml index 95da44c610e..9f98f40c2d0 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent testutil jar @@ -24,7 +23,6 @@ com.google.inject guice provided - no_aop org.hamcrest diff --git a/vdslib/pom.xml b/vdslib/pom.xml index 979fcb5f1dd..48681b8ce83 100644 --- a/vdslib/pom.xml +++ b/vdslib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vdslib container-plugin diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml index 6bfaf55d7e1..2464c8208ad 100644 --- a/vespa-application-maven-plugin/pom.xml +++ b/vespa-application-maven-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa-application-maven-plugin 6-SNAPSHOT diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml index 04a1b3e68b4..4e96a0475f7 100644 --- a/vespa-documentgen-plugin/pom.xml +++ b/vespa-documentgen-plugin/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa-documentgen-plugin maven-plugin diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml index 45c28d8665a..b9fbd589525 100644 --- a/vespa-hadoop/pom.xml +++ b/vespa-hadoop/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa-hadoop 6-SNAPSHOT diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml index 7f40beddf9f..15d72b7c1c2 100644 --- a/vespa-http-client/pom.xml +++ b/vespa-http-client/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa-http-client 6-SNAPSHOT diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml index 9ca51c39227..f54b2df9b8a 100644 --- a/vespa_feed_perf/pom.xml +++ b/vespa_feed_perf/pom.xml @@ -13,7 +13,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa_feed_perf 6-SNAPSHOT diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index a225838c0f0..3250cd8a41f 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespa_jersey2 6-SNAPSHOT diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml index b5757b68da3..59895438038 100644 --- a/vespaclient-container-plugin/pom.xml +++ b/vespaclient-container-plugin/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespaclient-container-plugin 6-SNAPSHOT diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml index e3491d41dff..bdb15825fbb 100644 --- a/vespaclient-core/pom.xml +++ b/vespaclient-core/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespaclient-core 6-SNAPSHOT diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml index 7fa941fbed3..8cde41d53d7 100644 --- a/vespaclient-java/pom.xml +++ b/vespaclient-java/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespaclient-java 6-SNAPSHOT diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml index f3d1c42c39e..1f98a5e4c02 100644 --- a/vespajlib/pom.xml +++ b/vespajlib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespajlib container-plugin diff --git a/vespalog/pom.xml b/vespalog/pom.xml index e59f5b4dc47..6cea5ab83d9 100644 --- a/vespalog/pom.xml +++ b/vespalog/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vespalog 6-SNAPSHOT diff --git a/vsm/pom.xml b/vsm/pom.xml index 1d131b2912e..8c5b006aeec 100644 --- a/vsm/pom.xml +++ b/vsm/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent vsm 6-SNAPSHOT diff --git a/yolean/pom.xml b/yolean/pom.xml index 53289ffe9bc..d64ea29a95c 100644 --- a/yolean/pom.xml +++ b/yolean/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent yolean 6-SNAPSHOT diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml index 69efa1fe31c..45ba8c32372 100644 --- a/zkfacade/pom.xml +++ b/zkfacade/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent zkfacade container-plugin -- cgit v1.2.3 From cd3972fded8a5f694cd6f9ab3717240f19f36639 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Tue, 28 Nov 2017 14:37:47 +0100 Subject: Split parent + container-dependency-versions from root pom. - Add missing dependencies so that all provided non-yahoo jars are listed in container-dependency-versions. - Add relativePath for all child poms of parent. --- annotations/pom.xml | 1 + application-deploy-plugin/pom.xml | 1 + application-model/pom.xml | 1 + application-preprocessor/pom.xml | 1 + application/pom.xml | 1 + athenz-identity-provider-service/pom.xml | 1 + bundle-plugin-test/pom.xml | 1 + bundle-plugin/pom.xml | 1 + chain/pom.xml | 1 + clustercontroller-apps/pom.xml | 1 + clustercontroller-apputil/pom.xml | 1 + clustercontroller-core/pom.xml | 1 + clustercontroller-standalone/pom.xml | 1 + clustercontroller-utils/pom.xml | 1 + component/pom.xml | 1 + config-application-package/pom.xml | 1 + config-bundle/pom.xml | 1 + config-class-plugin/pom.xml | 1 + config-lib/pom.xml | 1 + config-model-api/pom.xml | 1 + config-model-fat/pom.xml | 1 + config-model/pom.xml | 1 + config-provisioning/pom.xml | 1 + config-proxy/pom.xml | 1 + config/pom.xml | 1 + configdefinitions/pom.xml | 1 + configgen/pom.xml | 1 + configserver/pom.xml | 1 + container-accesslogging/pom.xml | 1 + container-core/pom.xml | 1 + container-dependencies-enforcer/pom.xml | 1 + container-dependency-versions/pom.xml | 369 ++++++++++++ container-dev/pom.xml | 1 + container-di/pom.xml | 1 + container-disc/pom.xml | 1 + container-jersey2/pom.xml | 1 + container-messagebus/pom.xml | 1 + container-search-and-docproc/pom.xml | 1 + container-search/pom.xml | 1 + container-test-jars/pom.xml | 1 + container-test/pom.xml | 1 + container/pom.xml | 1 + controller-api/pom.xml | 1 + controller-server/pom.xml | 1 + defaults/pom.xml | 7 +- docker-api/pom.xml | 1 + docproc/pom.xml | 1 + docprocs/pom.xml | 1 + document/pom.xml | 1 + documentapi/pom.xml | 1 + documentgen-test/pom.xml | 1 + fileacquirer/pom.xml | 1 + filedistribution/pom.xml | 3 +- filedistribution_test/pom.xml | 1 + filedistributionmanager/pom.xml | 1 + fsa/pom.xml | 1 + indexinglanguage/pom.xml | 1 + jaxrs_client_utils/pom.xml | 1 + jaxrs_utils/pom.xml | 1 + jdisc_core/pom.xml | 1 + jdisc_core_test/pom.xml | 1 + jdisc_http_service/pom.xml | 1 + jdisc_jetty/pom.xml | 1 + jdisc_messagebus_service/pom.xml | 1 + jrt/pom.xml | 1 + linguistics/pom.xml | 1 + logd/pom.xml | 1 + logserver/pom.xml | 1 + maven-plugins/pom.xml | 1 + messagebus-disc/pom.xml | 1 + messagebus/pom.xml | 1 + metrics/pom.xml | 1 + node-admin/pom.xml | 1 + node-maintainer/pom.xml | 1 + node-repository/pom.xml | 1 + orchestrator-restapi/pom.xml | 1 + orchestrator/pom.xml | 1 + parent/pom.xml | 758 +++++++++++++++++++++++++ pom.xml | 942 +------------------------------ predicate-search-core/pom.xml | 1 + predicate-search/pom.xml | 1 + processing/pom.xml | 1 + provided-dependencies/pom.xml | 1 + searchcore/pom.xml | 1 + searchlib/pom.xml | 1 + searchsummary/pom.xml | 1 + service-monitor/pom.xml | 1 + serviceview/pom.xml | 1 + simplemetrics/pom.xml | 1 + socket_test/pom.xml | 1 + standalone-container/pom.xml | 1 + statistics/pom.xml | 1 + storage/pom.xml | 1 + testutil/pom.xml | 1 + vdslib/pom.xml | 1 + vespa-application-maven-plugin/pom.xml | 1 + vespa-documentgen-plugin/pom.xml | 1 + vespa-hadoop/pom.xml | 1 + vespa-http-client/pom.xml | 1 + vespa_feed_perf/pom.xml | 1 + vespa_jersey2/pom.xml | 1 + vespaclient-container-plugin/pom.xml | 1 + vespaclient-core/pom.xml | 1 + vespaclient-java/pom.xml | 1 + vespajlib/pom.xml | 1 + vespalog/pom.xml | 1 + vsm/pom.xml | 1 + yolean/pom.xml | 1 + zkfacade/pom.xml | 1 + 109 files changed, 1241 insertions(+), 942 deletions(-) create mode 100644 container-dependency-versions/pom.xml create mode 100644 parent/pom.xml (limited to 'document') diff --git a/annotations/pom.xml b/annotations/pom.xml index 146eb5e9be2..3321dddaf8c 100644 --- a/annotations/pom.xml +++ b/annotations/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml annotations jar diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml index 3cae7cf7831..501dee385a6 100644 --- a/application-deploy-plugin/pom.xml +++ b/application-deploy-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-deploy-plugin 6-SNAPSHOT diff --git a/application-model/pom.xml b/application-model/pom.xml index 13a2d3ea49b..801c72e9194 100644 --- a/application-model/pom.xml +++ b/application-model/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-model container-plugin diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml index 4fa319a881a..6ffff09e548 100644 --- a/application-preprocessor/pom.xml +++ b/application-preprocessor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-preprocessor jar diff --git a/application/pom.xml b/application/pom.xml index 17e9ece3543..8103226e55d 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application jar diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml index c87589d7be2..bfd02d54d43 100644 --- a/athenz-identity-provider-service/pom.xml +++ b/athenz-identity-provider-service/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml index 8d8bf48cc07..3dd5be00add 100644 --- a/bundle-plugin-test/pom.xml +++ b/bundle-plugin-test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa bundle-plugin-test diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index 02f0ed2ccf5..47a06a1ee76 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml bundle-plugin 6-SNAPSHOT diff --git a/chain/pom.xml b/chain/pom.xml index a3096d37748..01a64a93609 100755 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml chain jar diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml index 26f466eb208..bdc6059a816 100644 --- a/clustercontroller-apps/pom.xml +++ b/clustercontroller-apps/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-apps 6-SNAPSHOT diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml index 68adc82596f..42c7690eab6 100644 --- a/clustercontroller-apputil/pom.xml +++ b/clustercontroller-apputil/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-apputil 6-SNAPSHOT diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 499dee0d1de..99cf4df643b 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-core 6-SNAPSHOT diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml index f51555a92b6..f435cd9d7c4 100644 --- a/clustercontroller-standalone/pom.xml +++ b/clustercontroller-standalone/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-standalone 6-SNAPSHOT diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml index f151a623ff9..287a85089ca 100644 --- a/clustercontroller-utils/pom.xml +++ b/clustercontroller-utils/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-utils 6-SNAPSHOT diff --git a/component/pom.xml b/component/pom.xml index 92f852e4ba0..18bfd000a84 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml component container-plugin diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml index 90d4a2d9af6..629c02de1e8 100644 --- a/config-application-package/pom.xml +++ b/config-application-package/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-application-package container-plugin diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml index 7121756ce68..07262141801 100644 --- a/config-bundle/pom.xml +++ b/config-bundle/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-bundle container-plugin diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml index 5b3149a13da..71a20782d85 100644 --- a/config-class-plugin/pom.xml +++ b/config-class-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-class-plugin maven-plugin diff --git a/config-lib/pom.xml b/config-lib/pom.xml index 2ed993dd052..31648958fa6 100644 --- a/config-lib/pom.xml +++ b/config-lib/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-lib container-plugin diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml index 6618612df31..743164afb16 100644 --- a/config-model-api/pom.xml +++ b/config-model-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model-api 6-SNAPSHOT diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index a4bbba0e6e8..0526c2f6581 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model-fat bundle diff --git a/config-model/pom.xml b/config-model/pom.xml index 0fdc09e1a61..729d1a2ef9b 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model container-plugin diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml index ebe7d460989..05f94973017 100644 --- a/config-provisioning/pom.xml +++ b/config-provisioning/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa config-provisioning diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml index 0aadb1bbb12..a266f68efe2 100644 --- a/config-proxy/pom.xml +++ b/config-proxy/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-proxy jar diff --git a/config/pom.xml b/config/pom.xml index f73c5b7bfd8..cfa3a692181 100755 --- a/config/pom.xml +++ b/config/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config container-plugin diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml index 92980a18899..487c43ed3b3 100644 --- a/configdefinitions/pom.xml +++ b/configdefinitions/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configdefinitions container-plugin diff --git a/configgen/pom.xml b/configgen/pom.xml index 6e550ec7321..e8de114f8d5 100644 --- a/configgen/pom.xml +++ b/configgen/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configgen jar diff --git a/configserver/pom.xml b/configserver/pom.xml index 30d92dc7650..f5aa8ea3118 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configserver container-plugin diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml index 45d7b4a2ed2..b4c7094a50a 100644 --- a/container-accesslogging/pom.xml +++ b/container-accesslogging/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-accesslogging 6-SNAPSHOT diff --git a/container-core/pom.xml b/container-core/pom.xml index c608f35f26c..1be10215419 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-core 6-SNAPSHOT diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 61495384744..94f7613e692 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-dependencies-enforcer diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml new file mode 100644 index 00000000000..5007e91c916 --- /dev/null +++ b/container-dependency-versions/pom.xml @@ -0,0 +1,369 @@ + + + + 4.0.0 + com.yahoo.vespa + container-dependency-versions + pom + 6-SNAPSHOT + Dependency versions for all Vespa maven projects. + https://github.com/vespa-engine + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + + + aopalliance + aopalliance + 1.0 + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson2.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson2.version} + + + com.google.code.findbugs + annotations + ${findbugs.version} + + + com.google.code.findbugs + jsr305 + ${findbugs.version} + + + com.google.guava + guava + ${guava.version} + + + com.google.inject.extensions + guice-assistedinject + ${guice.version} + + + com.google.inject.extensions + guice-multibindings + ${guice.version} + + + com.google.inject + guice + ${guice.version} + + + com.google.inject + guice + ${guice.version} + no_aop + + + commons-codec + commons-codec + 1.4 + + + commons-daemon + commons-daemon + 1.0.3 + + + + commons-logging + commons-logging + 1.1.1 + + + javax.annotation + javax.annotation-api + ${javax.annotation-api.version} + + + javax.inject + javax.inject + 1 + + + javax.servlet + javax.servlet-api + 3.1.0 + + + javax.validation + validation-api + ${javax.validation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api.version} + + + net.jcip + jcip-annotations + 1.0 + + + net.jpountz.lz4 + lz4 + 1.3.0 + + + org.apache.felix + org.apache.felix.framework + ${felix.version} + + + org.apache.felix + org.apache.felix.log + 1.0.1 + + + org.apache.felix + org.apache.felix.main + ${felix.version} + + + org.apache.httpcomponents + httpclient + 4.3.6 + + + org.apache.httpcomponents + httpcore + 4.3.3 + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.glassfish.hk2.external + aopalliance-repackaged + ${hk2.version} + + + org.glassfish.hk2.external + javax.inject + ${hk2.version} + + + org.glassfish.hk2 + hk2-api + ${hk2.version} + + + org.glassfish.hk2 + hk2-locator + ${hk2.version} + + + org.glassfish.hk2 + hk2-utils + ${hk2.version} + + + org.glassfish.hk2 + osgi-resource-locator + ${hk2.osgi-resource-locator.version} + + + org.glassfish.jersey.bundles.repackaged + jersey-guava + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-client + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-common + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-server + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-entity-filtering + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-proxy-client + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-jaxb + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey2.version} + + + org.javassist + javassist + ${javassist.version} + + + org.json + json + 20090211 + + + org.jvnet.mimepull + mimepull + ${mimepull.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-jdk14 + ${slf4j.version} + + + xml-apis + xml-apis + 1.4.01 + + + + + + 4.2.1 + 1.3.9 + 18.0 + 3.0 + 9.4.6.v20170531 + 1.7.5 + + + + + 2.5.0-b05 + 1.0.1 + 2.8.3 + 3.20.0-GA + 1.2 + 1.1.0.Final + 2.0.1 + 2.23.2 + 1.9.6 + + + diff --git a/container-dev/pom.xml b/container-dev/pom.xml index d02ec233d96..f62bbd22690 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -10,6 +10,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-dev 6-SNAPSHOT diff --git a/container-di/pom.xml b/container-di/pom.xml index cf6a9e54daa..abc652d6e6e 100644 --- a/container-di/pom.xml +++ b/container-di/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-di 6-SNAPSHOT diff --git a/container-disc/pom.xml b/container-disc/pom.xml index ad86b3ffcff..38b4bfc2ff5 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-disc 6-SNAPSHOT diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 8f579e49876..26dfa762032 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-jersey2 6-SNAPSHOT diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index 6058063daf3..1daf1df6fcb 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-messagebus 6-SNAPSHOT diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml index fb2794670a2..9b4419ae2b6 100644 --- a/container-search-and-docproc/pom.xml +++ b/container-search-and-docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-search-and-docproc 6-SNAPSHOT diff --git a/container-search/pom.xml b/container-search/pom.xml index f622567acde..0df502cf21a 100644 --- a/container-search/pom.xml +++ b/container-search/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-search jar diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml index dcde18fc8cf..804ca5eb879 100644 --- a/container-test-jars/pom.xml +++ b/container-test-jars/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa.container-test-jars container-test-jars diff --git a/container-test/pom.xml b/container-test/pom.xml index 7aaffed652e..26f02767062 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-test 6-SNAPSHOT diff --git a/container/pom.xml b/container/pom.xml index 4726071db55..3793a3508a4 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container 6-SNAPSHOT diff --git a/controller-api/pom.xml b/controller-api/pom.xml index 51666da0c03..5ef130a22ba 100644 --- a/controller-api/pom.xml +++ b/controller-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml controller-api container-plugin diff --git a/controller-server/pom.xml b/controller-server/pom.xml index 0cfcbc40601..b033286b82a 100644 --- a/controller-server/pom.xml +++ b/controller-server/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml controller-server container-plugin diff --git a/defaults/pom.xml b/defaults/pom.xml index 2f3f06780e7..4d1a08aacc2 100644 --- a/defaults/pom.xml +++ b/defaults/pom.xml @@ -5,9 +5,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.yahoo.vespa - parent - 6-SNAPSHOT + com.yahoo.vespa + parent + 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa defaults diff --git a/docker-api/pom.xml b/docker-api/pom.xml index fc374a12dd2..449a94fb621 100644 --- a/docker-api/pom.xml +++ b/docker-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docker-api diff --git a/docproc/pom.xml b/docproc/pom.xml index 09635201e51..1043de32128 100644 --- a/docproc/pom.xml +++ b/docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docproc jar diff --git a/docprocs/pom.xml b/docprocs/pom.xml index 1b209ec39ee..16259a861c7 100644 --- a/docprocs/pom.xml +++ b/docprocs/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docprocs container-plugin diff --git a/document/pom.xml b/document/pom.xml index 81b21487314..10f71218422 100644 --- a/document/pom.xml +++ b/document/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml document 6-SNAPSHOT diff --git a/documentapi/pom.xml b/documentapi/pom.xml index c94337e8873..3781dfd93ac 100644 --- a/documentapi/pom.xml +++ b/documentapi/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml documentapi container-plugin diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml index 53b49cf1473..d009ef3d592 100644 --- a/documentgen-test/pom.xml +++ b/documentgen-test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml documentgen-test jar diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml index eb040eddffb..6449b8c620f 100644 --- a/fileacquirer/pom.xml +++ b/fileacquirer/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml fileacquirer 6-SNAPSHOT diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml index 10b77b540e7..b0bdaff518f 100644 --- a/filedistribution/pom.xml +++ b/filedistribution/pom.xml @@ -9,7 +9,8 @@ com.yahoo.vespa parent 6-SNAPSHOT - + ../parent/pom.xml + filedistribution 6-SNAPSHOT diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml index c270eabb6cf..5cc113c6453 100644 --- a/filedistribution_test/pom.xml +++ b/filedistribution_test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml filedistribution_test 6-SNAPSHOT diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml index 9e3ecf95ecb..9f037814a12 100644 --- a/filedistributionmanager/pom.xml +++ b/filedistributionmanager/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml filedistributionmanager 6-SNAPSHOT diff --git a/fsa/pom.xml b/fsa/pom.xml index a49845105cf..2a56069f82e 100644 --- a/fsa/pom.xml +++ b/fsa/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml fsa container-plugin diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml index 70cb9f6d8d0..f0aba8d9476 100644 --- a/indexinglanguage/pom.xml +++ b/indexinglanguage/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml indexinglanguage jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index 1c4bdde21a8..e3de5b8163d 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jaxrs_client_utils 6-SNAPSHOT diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml index 249cbda992b..1753d016ec3 100644 --- a/jaxrs_utils/pom.xml +++ b/jaxrs_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jaxrs_utils 6-SNAPSHOT diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml index fb8200eb610..55da222994f 100644 --- a/jdisc_core/pom.xml +++ b/jdisc_core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_core 6-SNAPSHOT diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml index 92e7a39fee0..a1a96463ffc 100644 --- a/jdisc_core_test/pom.xml +++ b/jdisc_core_test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa.jdisc_core parent diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml index d8c0b0bc29c..a1482669b39 100644 --- a/jdisc_http_service/pom.xml +++ b/jdisc_http_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_http_service 6-SNAPSHOT diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml index 4e739aae8cc..0f8a5ba19e2 100644 --- a/jdisc_jetty/pom.xml +++ b/jdisc_jetty/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_jetty 6-SNAPSHOT diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml index e9531a73861..6201f413b9a 100644 --- a/jdisc_messagebus_service/pom.xml +++ b/jdisc_messagebus_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_messagebus_service 6-SNAPSHOT diff --git a/jrt/pom.xml b/jrt/pom.xml index 0d6be56fdab..cf3da2ab7ce 100644 --- a/jrt/pom.xml +++ b/jrt/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jrt container-plugin diff --git a/linguistics/pom.xml b/linguistics/pom.xml index 328742f483a..b89369b42dc 100644 --- a/linguistics/pom.xml +++ b/linguistics/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml linguistics container-plugin diff --git a/logd/pom.xml b/logd/pom.xml index e21931efc5a..a1a107bc20c 100644 --- a/logd/pom.xml +++ b/logd/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml logd 6-SNAPSHOT diff --git a/logserver/pom.xml b/logserver/pom.xml index 6acdd8ed1d7..55c5c443cfb 100644 --- a/logserver/pom.xml +++ b/logserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml logserver jar diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 2f7343e753c..0aabe630a63 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa bundle-plugins diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml index 46158b0ca60..89741dce82b 100644 --- a/messagebus-disc/pom.xml +++ b/messagebus-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml messagebus-disc 6-SNAPSHOT diff --git a/messagebus/pom.xml b/messagebus/pom.xml index 7fb44787cdf..7c37bccbd9a 100644 --- a/messagebus/pom.xml +++ b/messagebus/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml messagebus 6-SNAPSHOT diff --git a/metrics/pom.xml b/metrics/pom.xml index ec64d0d392c..628ab66552d 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa metrics diff --git a/node-admin/pom.xml b/node-admin/pom.xml index f7691cda3f7..983e4d3a832 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-admin diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml index d56e12d92c6..1fe3eb23857 100644 --- a/node-maintainer/pom.xml +++ b/node-maintainer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-maintainer diff --git a/node-repository/pom.xml b/node-repository/pom.xml index 09b0d3df3d9..6673ea487a1 100644 --- a/node-repository/pom.xml +++ b/node-repository/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-repository 6-SNAPSHOT diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml index db823f3fb15..310512812e2 100644 --- a/orchestrator-restapi/pom.xml +++ b/orchestrator-restapi/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml orchestrator-restapi 6-SNAPSHOT diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index c50f9ddcb29..ae22b6718f9 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml orchestrator 6-SNAPSHOT diff --git a/parent/pom.xml b/parent/pom.xml new file mode 100644 index 00000000000..e01612218ff --- /dev/null +++ b/parent/pom.xml @@ -0,0 +1,758 @@ + + + + 4.0.0 + parent + pom + 6-SNAPSHOT + parent + Parent artifact for all Vespa maven projects. + https://github.com/vespa-engine + + + com.yahoo.vespa + container-dependency-versions + 6-SNAPSHOT + ../container-dependency-versions/pom.xml + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + Vespa + https://github.com/vespa-engine + + + + + + bintray-vespa-repo + https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 + + + + + + + + false + + bintray-yahoo-maven + bintray + https://yahoo.bintray.com/maven + + + + + scm:git:git@github.com:vespa-engine/vespa.git + scm:git:git@github.com:vespa-engine/vespa.git + git@github.com:vespa-engine/vespa.git + + + + ${project.artifactId} + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + org.apache.maven.archetype + archetype-packaging + 2.0 + + + + + + org.antlr + antlr3-maven-plugin + ${antlr.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + org.apache.felix + maven-bundle-plugin + 2.4.0 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + true + true + false + + -Xlint:all + -Xlint:-serial + -Xlint:-try + -Xlint:-processing + -Xlint:-varargs + -Werror + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + org.apache.maven.plugins + maven-install-plugin + 2.5.2 + + true + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + + -Xdoclint:${doclint} -Xdoclint:-missing + + 2.10.4 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + + true + + + + mojo-descriptor + + descriptor + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + \ + + + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.version} + + ${test.hide} + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${surefire.version} + + false + false + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + net.alchim31.maven + scala-maven-plugin + 3.2.2 + + + -unchecked + -deprecation + -feature + -Xfatal-warnings + + + + + com.yahoo.vespa + bundle-plugin + ${project.version} + + ${project.version} + true + + + + + + + + attach-sources + + + !skipSources + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar-no-fork + + + + + + + + + generate-javadoc + + + !skipJavadoc + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + generate-javadoc + package + + javadoc + + + + + -Xdoclint:${doclint} -Xdoclint:-missing + ${javadoc.failOnError} + true + private + + + + + + + coverage + + + + org.codehaus.mojo + exec-maven-plugin + + true + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + src/main/scala + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + com.github.cverges.expect4j + expect4j + 1.6 + + + org.apache.commons + commons-compress + 1.11 + + + org.apache.commons + commons-exec + 1.3 + + + io.airlift + airline + 0.7 + + + org.ow2.asm + asm + 5.2 + + + com.google.guava + guava-testlib + 18.0 + + + com.google.protobuf + protobuf-java + 2.4.1 + + + com.googlecode.jmockit + jmockit + 1.2 + + + com.goldmansachs + gs-collections + 6.1.0 + + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson2.version} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson2.version} + + + com.infradna.tool + bridge-method-annotation + 1.4 + + + commons-cli + commons-cli + 1.3.1 + + + commons-collections + commons-collections + 3.2.1 + + + commons-configuration + commons-configuration + 1.6 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + ${commons-lang.version} + + + commons-net + commons-net + 2.0 + + + commons-pool + commons-pool + 1.5.6 + + + + org.apache.zookeeper + zookeeper + 3.4.10 + + + org.apache.curator + curator-recipes + ${curator.version} + + + org.apache.curator + curator-test + ${curator.version} + + + junit + junit + 4.12 + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.apache.aries.spifly + org.apache.aries.spifly.dynamic.bundle + ${aries.spifly.version} + + + org.apache.commons + commons-lang3 + 3.1 + + + org.apache.httpcomponents + fluent-hc + 4.3.6 + + + org.apache.httpcomponents + httpmime + 4.3.6 + + + org.apache.maven + maven-artifact + 3.5.0 + + + org.apache.maven + maven-core + 3.5.0 + + + org.apache.maven + maven-model + 3.5.0 + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + org.apache.maven + maven-plugin-api + 3.5.0 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.surefire + surefire-junit4 + ${surefire.version} + + + org.apache.maven.surefire + surefire-providers + ${surefire.version} + pom + + + org.codehaus.jettison + jettison + 1.3.1 + + + org.cthul + cthul-matchers + 1.0 + test + + + org.eclipse.jetty + jetty-continuation + ${jetty.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-servlets + ${jetty.version} + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + org.hamcrest + hamcrest-all + 1.3 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + uk.co.datumedge + hamcrest-json + 0.2 + test + + + org.hdrhistogram + HdrHistogram + 2.1.8 + + + org.mockito + mockito-all + 1.9.5 + + + org.mockito + mockito-core + 1.9.5 + test + + + org.osgi + org.osgi.compendium + 4.3.0 + + + org.osgi + org.osgi.core + 4.3.0 + + + org.scala-lang + scala-library + ${scala.version} + + + org.scala-lang.modules + scala-parser-combinators_${scala.major-version} + 1.0.1 + + + org.scala-lang.modules + scala-xml_${scala.major-version} + 1.0.2 + + + org.scalatest + scalatest_${scala.major-version} + 2.2.2 + + + org.springframework + spring-test + 4.0.6.RELEASE + + + org.testng + testng + 6.10 + + + org.twdata.maven + mojo-executor + 2.3.0 + + + net.spy + spymemcached + 2.10.1 + + + xerces + xercesImpl + 2.11.0 + + + org.bouncycastle + bcpkix-jdk15on + ${bouncycastle.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + com.ibm.icu + icu4j + 57.1 + + + com.yahoo.athenz + athenz-zms-java-client + ${athenz.version} + + + com.yahoo.athenz + athenz-zts-java-client + ${athenz.version} + + + + + + 3.5.2 + 4.5 + 1.0.8 + 1.0.0 + 5.0.3 + + 1.7.28 + 1.58 + 2.6 + + 2.9.1 + UTF-8 + UTF-8 + true + all + 2.11 + ${scala.major-version}.4 + 2.19.1 + + + diff --git a/pom.xml b/pom.xml index 2b7c1abc0d4..eb1f954ce13 100644 --- a/pom.xml +++ b/pom.xml @@ -3,11 +3,10 @@ 4.0.0 com.yahoo.vespa - parent + vespa pom 6-SNAPSHOT - parent - Parent artifact for all Vespa maven projects. + Aggregator pom for vespa. https://github.com/vespa-engine @@ -24,941 +23,6 @@ - - - bintray-vespa-repo - https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 - - - - - - - - false - - bintray-yahoo-maven - bintray - https://yahoo.bintray.com/maven - - - - - scm:git:git@github.com:vespa-engine/vespa.git - scm:git:git@github.com:vespa-engine/vespa.git - git@github.com:vespa-engine/vespa.git - - - - ${project.artifactId} - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - org.apache.maven.archetype - archetype-packaging - 2.0 - - - - - - org.antlr - antlr3-maven-plugin - ${antlr.version} - - - org.apache.maven.plugins - maven-antrun-plugin - 1.7 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - 1.8 - 1.8 - true - true - false - - -Xlint:all - -Xlint:-serial - -Xlint:-try - -Xlint:-processing - -Xlint:-varargs - -Werror - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.5 - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - - -Xdoclint:${doclint} -Xdoclint:-missing - - 2.10.4 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - - true - - - - mojo-descriptor - - descriptor - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - \ - - - - org.apache.maven.plugins - maven-site-plugin - 3.3 - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - true - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.version} - - ${test.hide} - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${surefire.version} - - false - false - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.9.1 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - org.codehaus.mojo - properties-maven-plugin - 1.0.0 - - - net.alchim31.maven - scala-maven-plugin - 3.2.2 - - - -unchecked - -deprecation - -feature - -Xfatal-warnings - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - - ${project.version} - true - - - - - - - - attach-sources - - - !skipSources - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - generate-javadoc - - - !skipJavadoc - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - generate-javadoc - package - - javadoc - - - - - -Xdoclint:${doclint} -Xdoclint:-missing - ${javadoc.failOnError} - true - private - - - - - - - coverage - - - - org.codehaus.mojo - exec-maven-plugin - - true - - - - org.codehaus.mojo - build-helper-maven-plugin - - - generate-sources - - add-source - - - - src/main/scala - - - - - add-test-source - generate-test-sources - - add-test-source - - - - src/test/scala - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - com.github.cverges.expect4j - expect4j - 1.6 - - - org.apache.commons - commons-compress - 1.11 - - - org.apache.commons - commons-exec - 1.3 - - - io.airlift - airline - 0.7 - - - aopalliance - aopalliance - 1.0 - - - org.ow2.asm - asm - 5.2 - - - com.google.code.findbugs - annotations - 1.3.9 - - - com.google.code.findbugs - jsr305 - 1.3.9 - - - com.google.guava - guava - 18.0 - - - com.google.guava - guava-testlib - 18.0 - - - com.google.inject - guice - 3.0 - - - com.google.inject - guice - 3.0 - no_aop - - - com.google.inject.extensions - guice-assistedinject - 3.0 - - - com.google.inject.extensions - guice-multibindings - 3.0 - - - com.google.protobuf - protobuf-java - 2.4.1 - - - com.googlecode.jmockit - jmockit - 1.2 - - - com.goldmansachs - gs-collections - 6.1.0 - - - com.fasterxml.jackson.core - jackson-core - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson2.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider - ${jackson2.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson2.version} - - - com.infradna.tool - bridge-method-annotation - 1.4 - - - commons-cli - commons-cli - 1.3.1 - - - commons-codec - commons-codec - 1.4 - - - commons-collections - commons-collections - 3.2.1 - - - commons-configuration - commons-configuration - 1.6 - - - commons-daemon - commons-daemon - 1.0.3 - - - commons-io - commons-io - 2.4 - - - commons-lang - commons-lang - ${commons-lang.version} - - - - commons-logging - commons-logging - 1.1.1 - - - commons-net - commons-net - 2.0 - - - commons-pool - commons-pool - 1.5.6 - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-test - ${curator.version} - - - javax.servlet - javax.servlet-api - 3.1.0 - - - junit - junit - 4.12 - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.apache.aries.spifly - org.apache.aries.spifly.dynamic.bundle - ${aries.spifly.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.apache.felix - org.apache.felix.framework - 4.2.1 - - - org.apache.felix - org.apache.felix.log - 1.0.1 - - - org.apache.felix - org.apache.felix.main - 4.2.1 - - - org.apache.httpcomponents - fluent-hc - 4.3.6 - - - org.apache.httpcomponents - httpclient - 4.3.6 - - - org.apache.httpcomponents - httpcore - 4.3.3 - - - org.apache.httpcomponents - httpmime - 4.3.6 - - - org.apache.maven - maven-artifact - 3.5.0 - - - org.apache.maven - maven-core - 3.5.0 - - - org.apache.maven - maven-model - 3.5.0 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.5 - - - org.apache.maven - maven-plugin-api - 3.5.0 - - - org.apache.maven - maven-project - 2.2.1 - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.surefire - surefire-junit4 - ${surefire.version} - - - org.apache.maven.surefire - surefire-providers - ${surefire.version} - pom - - - org.codehaus.jettison - jettison - 1.3.1 - - - org.cthul - cthul-matchers - 1.0 - test - - - org.eclipse.jetty - jetty-continuation - ${jetty.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-servlets - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - org.hamcrest - hamcrest-core - 1.3 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - uk.co.datumedge - hamcrest-json - 0.2 - test - - - org.hdrhistogram - HdrHistogram - 2.1.8 - - - org.json - json - 20090211 - - - org.mockito - mockito-all - 1.9.5 - - - org.mockito - mockito-core - 1.9.5 - test - - - org.osgi - org.osgi.compendium - 4.3.0 - - - org.osgi - org.osgi.core - 4.3.0 - - - org.scala-lang - scala-library - ${scala.version} - - - org.scala-lang.modules - scala-parser-combinators_${scala.major-version} - 1.0.1 - - - org.scala-lang.modules - scala-xml_${scala.major-version} - 1.0.2 - - - org.scalatest - scalatest_${scala.major-version} - 2.2.2 - - - org.slf4j - jcl-over-slf4j - 1.7.5 - - - org.slf4j - log4j-over-slf4j - 1.7.5 - - - org.slf4j - slf4j-api - 1.7.5 - - - org.slf4j - slf4j-jdk14 - 1.7.5 - - - org.springframework - spring-test - 4.0.6.RELEASE - - - org.testng - testng - 6.10 - - - org.twdata.maven - mojo-executor - 2.3.0 - - - net.jcip - jcip-annotations - 1.0 - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - net.spy - spymemcached - 2.10.1 - - - xerces - xercesImpl - 2.11.0 - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - - javax.ws.rs - javax.ws.rs-api - ${javax.ws.rs-api.version} - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-proxy-client - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-client - ${jersey2.version} - - - com.ibm.icu - icu4j - 57.1 - - - com.yahoo.athenz - athenz-zms-java-client - ${athenz.version} - - - com.yahoo.athenz - athenz-zts-java-client - ${athenz.version} - - - - - - 2.0.1 - 3.5.2 - 4.5 - 1.0.8 - 1.0.0 - 5.0.3 - - 1.7.28 - 1.58 - 2.6 - - 2.9.1 - 2.8.3 - 2.23.2 - 9.4.6.v20170531 - UTF-8 - UTF-8 - true - all - 2.11 - ${scala.major-version}.4 - 2.19.1 - - application application-deploy-plugin @@ -989,6 +53,7 @@ container-core container-accesslogging container-dependencies-enforcer + container-dependency-versions container-dev container-di container-disc @@ -1033,6 +98,7 @@ node-maintainer orchestrator-restapi orchestrator + parent predicate-search predicate-search-core processing diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml index ea2995c4770..8ced58b840e 100644 --- a/predicate-search-core/pom.xml +++ b/predicate-search-core/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml predicate-search-core 6-SNAPSHOT diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml index ca79544c766..289250012a0 100644 --- a/predicate-search/pom.xml +++ b/predicate-search/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml predicate-search 6-SNAPSHOT diff --git a/processing/pom.xml b/processing/pom.xml index 15aa984cbd2..9bb9ee77037 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml processing jar diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml index 18cdd294b87..33f1977c7e2 100755 --- a/provided-dependencies/pom.xml +++ b/provided-dependencies/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml provided-dependencies jar diff --git a/searchcore/pom.xml b/searchcore/pom.xml index f31617cfe53..3b43bf1205e 100644 --- a/searchcore/pom.xml +++ b/searchcore/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchcore 6-SNAPSHOT diff --git a/searchlib/pom.xml b/searchlib/pom.xml index c669903c3da..5f6717d9516 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchlib container-plugin diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml index 97a29655ad1..417e25ff944 100644 --- a/searchsummary/pom.xml +++ b/searchsummary/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchsummary 6-SNAPSHOT diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml index c63bdf35574..6125b75819c 100644 --- a/service-monitor/pom.xml +++ b/service-monitor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml service-monitor container-plugin diff --git a/serviceview/pom.xml b/serviceview/pom.xml index c3620ecfc9d..4357cc697b8 100644 --- a/serviceview/pom.xml +++ b/serviceview/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml serviceview container-plugin diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index d027fda82ce..02758b182e3 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml simplemetrics container-plugin diff --git a/socket_test/pom.xml b/socket_test/pom.xml index 60d8b3713e9..0c6d5cd77f4 100644 --- a/socket_test/pom.xml +++ b/socket_test/pom.xml @@ -12,6 +12,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jar diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml index 9300181e00b..0d66951f364 100644 --- a/standalone-container/pom.xml +++ b/standalone-container/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml standalone-container 6-SNAPSHOT diff --git a/statistics/pom.xml b/statistics/pom.xml index 7bbef0ea3c0..521efa9a2a1 100644 --- a/statistics/pom.xml +++ b/statistics/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml statistics 6-SNAPSHOT diff --git a/storage/pom.xml b/storage/pom.xml index 49b103cbe34..e0b21d5a8a9 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml storage 6-SNAPSHOT diff --git a/testutil/pom.xml b/testutil/pom.xml index 9f98f40c2d0..911c5654efe 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml testutil jar diff --git a/vdslib/pom.xml b/vdslib/pom.xml index 48681b8ce83..5063489ed66 100644 --- a/vdslib/pom.xml +++ b/vdslib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vdslib container-plugin diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml index 2464c8208ad..980c8eee60f 100644 --- a/vespa-application-maven-plugin/pom.xml +++ b/vespa-application-maven-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-application-maven-plugin 6-SNAPSHOT diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml index 4e96a0475f7..718b19ae994 100644 --- a/vespa-documentgen-plugin/pom.xml +++ b/vespa-documentgen-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-documentgen-plugin maven-plugin diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml index b9fbd589525..62d9010b9fd 100644 --- a/vespa-hadoop/pom.xml +++ b/vespa-hadoop/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-hadoop 6-SNAPSHOT diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml index 15d72b7c1c2..c336c641352 100644 --- a/vespa-http-client/pom.xml +++ b/vespa-http-client/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-http-client 6-SNAPSHOT diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml index f54b2df9b8a..436dcc06f3d 100644 --- a/vespa_feed_perf/pom.xml +++ b/vespa_feed_perf/pom.xml @@ -13,6 +13,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa_feed_perf 6-SNAPSHOT diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index 3250cd8a41f..781075fd041 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa_jersey2 6-SNAPSHOT diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml index 59895438038..3472f3fcdc5 100644 --- a/vespaclient-container-plugin/pom.xml +++ b/vespaclient-container-plugin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-container-plugin 6-SNAPSHOT diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml index bdb15825fbb..2e427364bd6 100644 --- a/vespaclient-core/pom.xml +++ b/vespaclient-core/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-core 6-SNAPSHOT diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml index 8cde41d53d7..d692a6ed57f 100644 --- a/vespaclient-java/pom.xml +++ b/vespaclient-java/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-java 6-SNAPSHOT diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml index 1f98a5e4c02..81c385c96ab 100644 --- a/vespajlib/pom.xml +++ b/vespajlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespajlib container-plugin diff --git a/vespalog/pom.xml b/vespalog/pom.xml index 6cea5ab83d9..6443769afbe 100644 --- a/vespalog/pom.xml +++ b/vespalog/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespalog 6-SNAPSHOT diff --git a/vsm/pom.xml b/vsm/pom.xml index 8c5b006aeec..3c491906060 100644 --- a/vsm/pom.xml +++ b/vsm/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vsm 6-SNAPSHOT diff --git a/yolean/pom.xml b/yolean/pom.xml index d64ea29a95c..850daae6fea 100644 --- a/yolean/pom.xml +++ b/yolean/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml yolean 6-SNAPSHOT diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml index 45ba8c32372..f9cb8c42688 100644 --- a/zkfacade/pom.xml +++ b/zkfacade/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml zkfacade container-plugin -- cgit v1.2.3 From f35c228d1ac4cad6cbc8a348c0affccdfac6339b Mon Sep 17 00:00:00 2001 From: gjoranv Date: Thu, 30 Nov 2017 15:56:29 +0100 Subject: Revert "Gjoranv/split parent2" --- annotations/pom.xml | 1 - application-deploy-plugin/pom.xml | 1 - application-model/pom.xml | 1 - application-preprocessor/pom.xml | 1 - application/pom.xml | 1 - athenz-identity-provider-service/pom.xml | 1 - bootstrap.sh | 10 +- bundle-plugin-test/pom.xml | 1 - bundle-plugin/pom.xml | 1 - chain/pom.xml | 1 - clustercontroller-apps/pom.xml | 1 - clustercontroller-apputil/pom.xml | 1 - clustercontroller-core/pom.xml | 1 - clustercontroller-standalone/pom.xml | 1 - clustercontroller-utils/pom.xml | 1 - component/pom.xml | 1 - config-application-package/pom.xml | 1 - config-bundle/pom.xml | 1 - config-class-plugin/pom.xml | 1 - config-lib/pom.xml | 1 - config-model-api/pom.xml | 1 - config-model-fat/pom.xml | 1 - config-model/pom.xml | 1 - config-provisioning/pom.xml | 1 - config-proxy/pom.xml | 1 - config/pom.xml | 1 - configdefinitions/pom.xml | 1 - configgen/pom.xml | 1 - configserver/pom.xml | 1 - container-accesslogging/pom.xml | 1 - container-core/pom.xml | 1 - container-dependencies-enforcer/pom.xml | 45 +- container-dependency-versions/pom.xml | 369 ------------ container-dev/pom.xml | 1 - container-di/pom.xml | 1 - container-disc/pom.xml | 1 - container-jersey2/pom.xml | 1 - container-messagebus/pom.xml | 1 - container-search-and-docproc/pom.xml | 1 - container-search/pom.xml | 1 - container-test-jars/pom.xml | 1 - container-test/pom.xml | 1 - container/pom.xml | 1 - controller-api/pom.xml | 1 - controller-server/pom.xml | 1 - defaults/pom.xml | 7 +- docker-api/pom.xml | 1 - docproc/pom.xml | 1 - docprocs/pom.xml | 1 - document/pom.xml | 1 - documentapi/pom.xml | 1 - documentgen-test/pom.xml | 1 - fileacquirer/pom.xml | 1 - filedistribution/pom.xml | 3 +- filedistribution_test/pom.xml | 1 - filedistributionmanager/pom.xml | 1 - fsa/pom.xml | 1 - indexinglanguage/pom.xml | 1 - jaxrs_client_utils/pom.xml | 1 - jaxrs_utils/pom.xml | 1 - jdisc_core/pom.xml | 1 - jdisc_core_test/pom.xml | 1 - jdisc_http_service/pom.xml | 1 - jdisc_jetty/pom.xml | 1 - jdisc_messagebus_service/pom.xml | 1 - jrt/pom.xml | 1 - linguistics/pom.xml | 2 - logd/pom.xml | 1 - logserver/pom.xml | 1 - maven-plugins/pom.xml | 1 - messagebus-disc/pom.xml | 1 - messagebus/pom.xml | 1 - metrics/pom.xml | 1 - node-admin/pom.xml | 1 - node-maintainer/pom.xml | 1 - node-repository/pom.xml | 1 - orchestrator-restapi/pom.xml | 1 - orchestrator/pom.xml | 1 - parent/pom.xml | 758 ------------------------- pom.xml | 942 ++++++++++++++++++++++++++++++- predicate-search-core/pom.xml | 1 - predicate-search/pom.xml | 1 - processing/pom.xml | 1 - provided-dependencies/pom.xml | 1 - searchcore/pom.xml | 1 - searchlib/pom.xml | 1 - searchsummary/pom.xml | 1 - service-monitor/pom.xml | 2 - serviceview/pom.xml | 1 - simplemetrics/pom.xml | 1 - socket_test/pom.xml | 1 - standalone-container/pom.xml | 1 - statistics/pom.xml | 1 - storage/pom.xml | 1 - testutil/pom.xml | 2 - vdslib/pom.xml | 1 - vespa-application-maven-plugin/pom.xml | 1 - vespa-documentgen-plugin/pom.xml | 1 - vespa-hadoop/pom.xml | 1 - vespa-http-client/pom.xml | 1 - vespa_feed_perf/pom.xml | 1 - vespa_jersey2/pom.xml | 1 - vespaclient-container-plugin/pom.xml | 1 - vespaclient-core/pom.xml | 1 - vespaclient-java/pom.xml | 1 - vespajlib/pom.xml | 1 - vespalog/pom.xml | 1 - vsm/pom.xml | 1 - yolean/pom.xml | 1 - zkfacade/pom.xml | 1 - 110 files changed, 965 insertions(+), 1275 deletions(-) delete mode 100644 container-dependency-versions/pom.xml delete mode 100644 parent/pom.xml (limited to 'document') diff --git a/annotations/pom.xml b/annotations/pom.xml index 3321dddaf8c..146eb5e9be2 100644 --- a/annotations/pom.xml +++ b/annotations/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml annotations jar diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml index 501dee385a6..3cae7cf7831 100644 --- a/application-deploy-plugin/pom.xml +++ b/application-deploy-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml application-deploy-plugin 6-SNAPSHOT diff --git a/application-model/pom.xml b/application-model/pom.xml index 801c72e9194..13a2d3ea49b 100644 --- a/application-model/pom.xml +++ b/application-model/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml application-model container-plugin diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml index 6ffff09e548..4fa319a881a 100644 --- a/application-preprocessor/pom.xml +++ b/application-preprocessor/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml application-preprocessor jar diff --git a/application/pom.xml b/application/pom.xml index 8103226e55d..17e9ece3543 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml application jar diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml index bfd02d54d43..c87589d7be2 100644 --- a/athenz-identity-provider-service/pom.xml +++ b/athenz-identity-provider-service/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml diff --git a/bootstrap.sh b/bootstrap.sh index b71af73c529..075da74b7c7 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -44,16 +44,8 @@ $top/dist/getversion.pl -M $top > $top/dist/vtag.map # The 'default' mode also builds some modules needed by C++ code. # The 'full' mode also builds modules needed by C++ tests. -# must install parent poms first: +# must install parent pom first: echo "Downloading all dependencies. This may take a few minutes with an empty Maven cache." -( - cd container-dependency-versions - mvn_install -) -( - cd parent - mvn_install -) mvn_install -N # and build plugins first: diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml index 3dd5be00add..8d8bf48cc07 100644 --- a/bundle-plugin-test/pom.xml +++ b/bundle-plugin-test/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa bundle-plugin-test diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index 47a06a1ee76..02f0ed2ccf5 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml bundle-plugin 6-SNAPSHOT diff --git a/chain/pom.xml b/chain/pom.xml index 01a64a93609..a3096d37748 100755 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml chain jar diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml index bdc6059a816..26f466eb208 100644 --- a/clustercontroller-apps/pom.xml +++ b/clustercontroller-apps/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml clustercontroller-apps 6-SNAPSHOT diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml index 42c7690eab6..68adc82596f 100644 --- a/clustercontroller-apputil/pom.xml +++ b/clustercontroller-apputil/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml clustercontroller-apputil 6-SNAPSHOT diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 99cf4df643b..499dee0d1de 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml clustercontroller-core 6-SNAPSHOT diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml index f435cd9d7c4..f51555a92b6 100644 --- a/clustercontroller-standalone/pom.xml +++ b/clustercontroller-standalone/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml clustercontroller-standalone 6-SNAPSHOT diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml index 287a85089ca..f151a623ff9 100644 --- a/clustercontroller-utils/pom.xml +++ b/clustercontroller-utils/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml clustercontroller-utils 6-SNAPSHOT diff --git a/component/pom.xml b/component/pom.xml index 18bfd000a84..92f852e4ba0 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml component container-plugin diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml index 629c02de1e8..90d4a2d9af6 100644 --- a/config-application-package/pom.xml +++ b/config-application-package/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-application-package container-plugin diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml index 07262141801..7121756ce68 100644 --- a/config-bundle/pom.xml +++ b/config-bundle/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-bundle container-plugin diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml index 71a20782d85..5b3149a13da 100644 --- a/config-class-plugin/pom.xml +++ b/config-class-plugin/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-class-plugin maven-plugin diff --git a/config-lib/pom.xml b/config-lib/pom.xml index 31648958fa6..2ed993dd052 100644 --- a/config-lib/pom.xml +++ b/config-lib/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-lib container-plugin diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml index 743164afb16..6618612df31 100644 --- a/config-model-api/pom.xml +++ b/config-model-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-model-api 6-SNAPSHOT diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index 0526c2f6581..a4bbba0e6e8 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-model-fat bundle diff --git a/config-model/pom.xml b/config-model/pom.xml index 729d1a2ef9b..0fdc09e1a61 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-model container-plugin diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml index 05f94973017..ebe7d460989 100644 --- a/config-provisioning/pom.xml +++ b/config-provisioning/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa config-provisioning diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml index a266f68efe2..0aadb1bbb12 100644 --- a/config-proxy/pom.xml +++ b/config-proxy/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config-proxy jar diff --git a/config/pom.xml b/config/pom.xml index cfa3a692181..f73c5b7bfd8 100755 --- a/config/pom.xml +++ b/config/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml config container-plugin diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml index 487c43ed3b3..92980a18899 100644 --- a/configdefinitions/pom.xml +++ b/configdefinitions/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml configdefinitions container-plugin diff --git a/configgen/pom.xml b/configgen/pom.xml index e8de114f8d5..6e550ec7321 100644 --- a/configgen/pom.xml +++ b/configgen/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml configgen jar diff --git a/configserver/pom.xml b/configserver/pom.xml index f5aa8ea3118..30d92dc7650 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml configserver container-plugin diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml index b4c7094a50a..45d7b4a2ed2 100644 --- a/container-accesslogging/pom.xml +++ b/container-accesslogging/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-accesslogging 6-SNAPSHOT diff --git a/container-core/pom.xml b/container-core/pom.xml index 1be10215419..c608f35f26c 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-core 6-SNAPSHOT diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 3384da7c1eb..61495384744 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-dependencies-enforcer @@ -82,36 +81,36 @@ com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:[2.5.4, ${jackson2.version}]:jar:provided com.fasterxml.jackson.module:jackson-module-jaxb-annotations:[2.5.4, ${jackson2.version}]:jar:provided - com.google.code.findbugs:annotations:[${findbugs.version}]:jar:provided - com.google.code.findbugs:jsr305:[${findbugs.version}]:jar:provided - com.google.guava:guava:[${guava.version}]:jar:provided - com.google.inject.extensions:guice-assistedinject:[${guice.version}]:jar:provided - com.google.inject.extensions:guice-multibindings:[${guice.version}]:jar:provided - com.google.inject:guice:[${guice.version}]:jar:provided:no_aop + com.google.code.findbugs:annotations:[1.3.9]:jar:provided + com.google.code.findbugs:jsr305:[1.3.9]:jar:provided + com.google.guava:guava:[18.0]:jar:provided + com.google.inject.extensions:guice-assistedinject:[3.0]:jar:provided + com.google.inject.extensions:guice-multibindings:[3.0]:jar:provided + com.google.inject:guice:[3.0]:jar:provided:no_aop commons-codec:commons-codec:[1.4]:jar:provided commons-daemon:commons-daemon:[1.0.3]:jar:provided commons-logging:commons-logging:[1.1.1]:jar:provided - javax.annotation:javax.annotation-api:[${javax.annotation-api.version}]:jar:provided + javax.annotation:javax.annotation-api:[1.2]:jar:provided javax.inject:javax.inject:[1]:jar:provided javax.servlet:javax.servlet-api:[3.1.0]:jar:provided - javax.validation:validation-api:[${javax.validation-api.version}]:jar:provided + javax.validation:validation-api:[1.1.0.Final]:jar:provided javax.ws.rs:javax.ws.rs-api:[${javax.ws.rs-api.version}]:jar:provided net.jcip:jcip-annotations:[1.0]:jar:provided net.jpountz.lz4:lz4:[1.3.0]:jar:provided - org.apache.felix:org.apache.felix.framework:[${felix.version}]:jar:provided + org.apache.felix:org.apache.felix.framework:[4.2.1]:jar:provided org.apache.felix:org.apache.felix.log:[1.0.1]:jar:provided - org.apache.felix:org.apache.felix.main:[${felix.version}]:jar:provided + org.apache.felix:org.apache.felix.main:[4.2.1]:jar:provided org.apache.httpcomponents:httpclient:[4.3.6]:jar:provided org.apache.httpcomponents:httpcore:[4.3.3]:jar:provided org.eclipse.jetty:jetty-http:[${jetty.version}]:jar:provided org.eclipse.jetty:jetty-io:[${jetty.version}]:jar:provided org.eclipse.jetty:jetty-util:[${jetty.version}]:jar:provided - org.glassfish.hk2.external:aopalliance-repackaged:[${hk2.version}]:jar:provided - org.glassfish.hk2.external:javax.inject:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-api:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-locator:[${hk2.version}]:jar:provided - org.glassfish.hk2:hk2-utils:[${hk2.version}]:jar:provided - org.glassfish.hk2:osgi-resource-locator:[${hk2.osgi-resource-locator.version}]:jar:provided + org.glassfish.hk2.external:aopalliance-repackaged:[2.5.0-b05]:jar:provided + org.glassfish.hk2.external:javax.inject:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-api:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-locator:[2.5.0-b05]:jar:provided + org.glassfish.hk2:hk2-utils:[2.5.0-b05]:jar:provided + org.glassfish.hk2:osgi-resource-locator:[1.0.1]:jar:provided org.glassfish.jersey.bundles.repackaged:jersey-guava:[${jersey2.version}]:jar:provided org.glassfish.jersey.containers:jersey-container-servlet-core:[${jersey2.version}]:jar:provided org.glassfish.jersey.containers:jersey-container-servlet:[${jersey2.version}]:jar:provided @@ -123,13 +122,13 @@ org.glassfish.jersey.media:jersey-media-jaxb:[${jersey2.version}]:jar:provided org.glassfish.jersey.media:jersey-media-json-jackson:[${jersey2.version}]:jar:provided org.glassfish.jersey.media:jersey-media-multipart:[${jersey2.version}]:jar:provided - org.javassist:javassist:[${javassist.version}]:jar:provided + org.javassist:javassist:[3.20.0-GA]:jar:provided org.json:json:[20090211]:jar:provided - org.jvnet.mimepull:mimepull:[${mimepull.version}]:jar:provided - org.slf4j:jcl-over-slf4j:[${slf4j.version}]:jar:provided - org.slf4j:log4j-over-slf4j:[${slf4j.version}]:jar:provided - org.slf4j:slf4j-api:[${slf4j.version}]:jar:provided - org.slf4j:slf4j-jdk14:[${slf4j.version}]:jar:provided + org.jvnet.mimepull:mimepull:[1.9.6]:jar:provided + org.slf4j:jcl-over-slf4j:[1.7.5]:jar:provided + org.slf4j:log4j-over-slf4j:[1.7.5]:jar:provided + org.slf4j:slf4j-api:[1.7.5]:jar:provided + org.slf4j:slf4j-jdk14:[1.7.5]:jar:provided xml-apis:xml-apis:[1.4.01]:jar:provided diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml deleted file mode 100644 index 5007e91c916..00000000000 --- a/container-dependency-versions/pom.xml +++ /dev/null @@ -1,369 +0,0 @@ - - - - 4.0.0 - com.yahoo.vespa - container-dependency-versions - pom - 6-SNAPSHOT - Dependency versions for all Vespa maven projects. - https://github.com/vespa-engine - - - - The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - - - - aopalliance - aopalliance - 1.0 - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson2.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson2.version} - - - com.google.code.findbugs - annotations - ${findbugs.version} - - - com.google.code.findbugs - jsr305 - ${findbugs.version} - - - com.google.guava - guava - ${guava.version} - - - com.google.inject.extensions - guice-assistedinject - ${guice.version} - - - com.google.inject.extensions - guice-multibindings - ${guice.version} - - - com.google.inject - guice - ${guice.version} - - - com.google.inject - guice - ${guice.version} - no_aop - - - commons-codec - commons-codec - 1.4 - - - commons-daemon - commons-daemon - 1.0.3 - - - - commons-logging - commons-logging - 1.1.1 - - - javax.annotation - javax.annotation-api - ${javax.annotation-api.version} - - - javax.inject - javax.inject - 1 - - - javax.servlet - javax.servlet-api - 3.1.0 - - - javax.validation - validation-api - ${javax.validation-api.version} - - - javax.ws.rs - javax.ws.rs-api - ${javax.ws.rs-api.version} - - - net.jcip - jcip-annotations - 1.0 - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - org.apache.felix - org.apache.felix.framework - ${felix.version} - - - org.apache.felix - org.apache.felix.log - 1.0.1 - - - org.apache.felix - org.apache.felix.main - ${felix.version} - - - org.apache.httpcomponents - httpclient - 4.3.6 - - - org.apache.httpcomponents - httpcore - 4.3.3 - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-io - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.glassfish.hk2.external - aopalliance-repackaged - ${hk2.version} - - - org.glassfish.hk2.external - javax.inject - ${hk2.version} - - - org.glassfish.hk2 - hk2-api - ${hk2.version} - - - org.glassfish.hk2 - hk2-locator - ${hk2.version} - - - org.glassfish.hk2 - hk2-utils - ${hk2.version} - - - org.glassfish.hk2 - osgi-resource-locator - ${hk2.osgi-resource-locator.version} - - - org.glassfish.jersey.bundles.repackaged - jersey-guava - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-client - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-common - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-server - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-entity-filtering - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-proxy-client - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-jaxb - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2.version} - - - org.javassist - javassist - ${javassist.version} - - - org.json - json - 20090211 - - - org.jvnet.mimepull - mimepull - ${mimepull.version} - - - org.slf4j - jcl-over-slf4j - ${slf4j.version} - - - org.slf4j - log4j-over-slf4j - ${slf4j.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-jdk14 - ${slf4j.version} - - - xml-apis - xml-apis - 1.4.01 - - - - - - 4.2.1 - 1.3.9 - 18.0 - 3.0 - 9.4.6.v20170531 - 1.7.5 - - - - - 2.5.0-b05 - 1.0.1 - 2.8.3 - 3.20.0-GA - 1.2 - 1.1.0.Final - 2.0.1 - 2.23.2 - 1.9.6 - - - diff --git a/container-dev/pom.xml b/container-dev/pom.xml index f62bbd22690..d02ec233d96 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -10,7 +10,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-dev 6-SNAPSHOT diff --git a/container-di/pom.xml b/container-di/pom.xml index abc652d6e6e..cf6a9e54daa 100644 --- a/container-di/pom.xml +++ b/container-di/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-di 6-SNAPSHOT diff --git a/container-disc/pom.xml b/container-disc/pom.xml index 38b4bfc2ff5..ad86b3ffcff 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-disc 6-SNAPSHOT diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 26dfa762032..8f579e49876 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-jersey2 6-SNAPSHOT diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index 1daf1df6fcb..6058063daf3 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-messagebus 6-SNAPSHOT diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml index 9b4419ae2b6..fb2794670a2 100644 --- a/container-search-and-docproc/pom.xml +++ b/container-search-and-docproc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-search-and-docproc 6-SNAPSHOT diff --git a/container-search/pom.xml b/container-search/pom.xml index 0df502cf21a..f622567acde 100644 --- a/container-search/pom.xml +++ b/container-search/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-search jar diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml index 804ca5eb879..dcde18fc8cf 100644 --- a/container-test-jars/pom.xml +++ b/container-test-jars/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa.container-test-jars container-test-jars diff --git a/container-test/pom.xml b/container-test/pom.xml index 26f02767062..7aaffed652e 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container-test 6-SNAPSHOT diff --git a/container/pom.xml b/container/pom.xml index 3793a3508a4..4726071db55 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -11,7 +11,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml container 6-SNAPSHOT diff --git a/controller-api/pom.xml b/controller-api/pom.xml index 5ef130a22ba..51666da0c03 100644 --- a/controller-api/pom.xml +++ b/controller-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml controller-api container-plugin diff --git a/controller-server/pom.xml b/controller-server/pom.xml index b033286b82a..0cfcbc40601 100644 --- a/controller-server/pom.xml +++ b/controller-server/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml controller-server container-plugin diff --git a/defaults/pom.xml b/defaults/pom.xml index 4d1a08aacc2..2f3f06780e7 100644 --- a/defaults/pom.xml +++ b/defaults/pom.xml @@ -5,10 +5,9 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.yahoo.vespa - parent - 6-SNAPSHOT - ../parent/pom.xml + com.yahoo.vespa + parent + 6-SNAPSHOT com.yahoo.vespa defaults diff --git a/docker-api/pom.xml b/docker-api/pom.xml index 449a94fb621..fc374a12dd2 100644 --- a/docker-api/pom.xml +++ b/docker-api/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml docker-api diff --git a/docproc/pom.xml b/docproc/pom.xml index 1043de32128..09635201e51 100644 --- a/docproc/pom.xml +++ b/docproc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml docproc jar diff --git a/docprocs/pom.xml b/docprocs/pom.xml index 16259a861c7..1b209ec39ee 100644 --- a/docprocs/pom.xml +++ b/docprocs/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml docprocs container-plugin diff --git a/document/pom.xml b/document/pom.xml index 10f71218422..81b21487314 100644 --- a/document/pom.xml +++ b/document/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml document 6-SNAPSHOT diff --git a/documentapi/pom.xml b/documentapi/pom.xml index 3781dfd93ac..c94337e8873 100644 --- a/documentapi/pom.xml +++ b/documentapi/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml documentapi container-plugin diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml index d009ef3d592..53b49cf1473 100644 --- a/documentgen-test/pom.xml +++ b/documentgen-test/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml documentgen-test jar diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml index 6449b8c620f..eb040eddffb 100644 --- a/fileacquirer/pom.xml +++ b/fileacquirer/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml fileacquirer 6-SNAPSHOT diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml index b0bdaff518f..10b77b540e7 100644 --- a/filedistribution/pom.xml +++ b/filedistribution/pom.xml @@ -9,8 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml - + filedistribution 6-SNAPSHOT diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml index 5cc113c6453..c270eabb6cf 100644 --- a/filedistribution_test/pom.xml +++ b/filedistribution_test/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml filedistribution_test 6-SNAPSHOT diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml index 9f037814a12..9e3ecf95ecb 100644 --- a/filedistributionmanager/pom.xml +++ b/filedistributionmanager/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml filedistributionmanager 6-SNAPSHOT diff --git a/fsa/pom.xml b/fsa/pom.xml index 2a56069f82e..a49845105cf 100644 --- a/fsa/pom.xml +++ b/fsa/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml fsa container-plugin diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml index f0aba8d9476..70cb9f6d8d0 100644 --- a/indexinglanguage/pom.xml +++ b/indexinglanguage/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml indexinglanguage jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index e3de5b8163d..1c4bdde21a8 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jaxrs_client_utils 6-SNAPSHOT diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml index 1753d016ec3..249cbda992b 100644 --- a/jaxrs_utils/pom.xml +++ b/jaxrs_utils/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jaxrs_utils 6-SNAPSHOT diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml index 55da222994f..fb8200eb610 100644 --- a/jdisc_core/pom.xml +++ b/jdisc_core/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jdisc_core 6-SNAPSHOT diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml index a1a96463ffc..92e7a39fee0 100644 --- a/jdisc_core_test/pom.xml +++ b/jdisc_core_test/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa.jdisc_core parent diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml index a1482669b39..d8c0b0bc29c 100644 --- a/jdisc_http_service/pom.xml +++ b/jdisc_http_service/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jdisc_http_service 6-SNAPSHOT diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml index 0f8a5ba19e2..4e739aae8cc 100644 --- a/jdisc_jetty/pom.xml +++ b/jdisc_jetty/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jdisc_jetty 6-SNAPSHOT diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml index 6201f413b9a..e9531a73861 100644 --- a/jdisc_messagebus_service/pom.xml +++ b/jdisc_messagebus_service/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jdisc_messagebus_service 6-SNAPSHOT diff --git a/jrt/pom.xml b/jrt/pom.xml index cf3da2ab7ce..0d6be56fdab 100644 --- a/jrt/pom.xml +++ b/jrt/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jrt container-plugin diff --git a/linguistics/pom.xml b/linguistics/pom.xml index e4aa7c3049e..328742f483a 100644 --- a/linguistics/pom.xml +++ b/linguistics/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml linguistics container-plugin @@ -60,7 +59,6 @@ com.google.inject guice provided - no_aop diff --git a/logd/pom.xml b/logd/pom.xml index a1a107bc20c..e21931efc5a 100644 --- a/logd/pom.xml +++ b/logd/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml logd 6-SNAPSHOT diff --git a/logserver/pom.xml b/logserver/pom.xml index 55c5c443cfb..6acdd8ed1d7 100644 --- a/logserver/pom.xml +++ b/logserver/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml logserver jar diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 0aabe630a63..2f7343e753c 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa bundle-plugins diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml index 89741dce82b..46158b0ca60 100644 --- a/messagebus-disc/pom.xml +++ b/messagebus-disc/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml messagebus-disc 6-SNAPSHOT diff --git a/messagebus/pom.xml b/messagebus/pom.xml index 7c37bccbd9a..7fb44787cdf 100644 --- a/messagebus/pom.xml +++ b/messagebus/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml messagebus 6-SNAPSHOT diff --git a/metrics/pom.xml b/metrics/pom.xml index 628ab66552d..ec64d0d392c 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml com.yahoo.vespa metrics diff --git a/node-admin/pom.xml b/node-admin/pom.xml index 983e4d3a832..f7691cda3f7 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml node-admin diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml index 1fe3eb23857..d56e12d92c6 100644 --- a/node-maintainer/pom.xml +++ b/node-maintainer/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml node-maintainer diff --git a/node-repository/pom.xml b/node-repository/pom.xml index 6673ea487a1..09b0d3df3d9 100644 --- a/node-repository/pom.xml +++ b/node-repository/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml node-repository 6-SNAPSHOT diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml index 310512812e2..db823f3fb15 100644 --- a/orchestrator-restapi/pom.xml +++ b/orchestrator-restapi/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml orchestrator-restapi 6-SNAPSHOT diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index ae22b6718f9..c50f9ddcb29 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml orchestrator 6-SNAPSHOT diff --git a/parent/pom.xml b/parent/pom.xml deleted file mode 100644 index e01612218ff..00000000000 --- a/parent/pom.xml +++ /dev/null @@ -1,758 +0,0 @@ - - - - 4.0.0 - parent - pom - 6-SNAPSHOT - parent - Parent artifact for all Vespa maven projects. - https://github.com/vespa-engine - - - com.yahoo.vespa - container-dependency-versions - 6-SNAPSHOT - ../container-dependency-versions/pom.xml - - - - - The Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - - Vespa - https://github.com/vespa-engine - - - - - - bintray-vespa-repo - https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 - - - - - - - - false - - bintray-yahoo-maven - bintray - https://yahoo.bintray.com/maven - - - - - scm:git:git@github.com:vespa-engine/vespa.git - scm:git:git@github.com:vespa-engine/vespa.git - git@github.com:vespa-engine/vespa.git - - - - ${project.artifactId} - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - org.apache.maven.archetype - archetype-packaging - 2.0 - - - - - - org.antlr - antlr3-maven-plugin - ${antlr.version} - - - org.apache.maven.plugins - maven-antrun-plugin - 1.7 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - 1.8 - 1.8 - true - true - false - - -Xlint:all - -Xlint:-serial - -Xlint:-try - -Xlint:-processing - -Xlint:-varargs - -Werror - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.5 - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - - -Xdoclint:${doclint} -Xdoclint:-missing - - 2.10.4 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - - true - - - - mojo-descriptor - - descriptor - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - \ - - - - org.apache.maven.plugins - maven-site-plugin - 3.3 - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - true - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.version} - - ${test.hide} - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${surefire.version} - - false - false - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.9.1 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - org.codehaus.mojo - properties-maven-plugin - 1.0.0 - - - net.alchim31.maven - scala-maven-plugin - 3.2.2 - - - -unchecked - -deprecation - -feature - -Xfatal-warnings - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - - ${project.version} - true - - - - - - - - attach-sources - - - !skipSources - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - generate-javadoc - - - !skipJavadoc - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - generate-javadoc - package - - javadoc - - - - - -Xdoclint:${doclint} -Xdoclint:-missing - ${javadoc.failOnError} - true - private - - - - - - - coverage - - - - org.codehaus.mojo - exec-maven-plugin - - true - - - - org.codehaus.mojo - build-helper-maven-plugin - - - generate-sources - - add-source - - - - src/main/scala - - - - - add-test-source - generate-test-sources - - add-test-source - - - - src/test/scala - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - com.github.cverges.expect4j - expect4j - 1.6 - - - org.apache.commons - commons-compress - 1.11 - - - org.apache.commons - commons-exec - 1.3 - - - io.airlift - airline - 0.7 - - - org.ow2.asm - asm - 5.2 - - - com.google.guava - guava-testlib - 18.0 - - - com.google.protobuf - protobuf-java - 2.4.1 - - - com.googlecode.jmockit - jmockit - 1.2 - - - com.goldmansachs - gs-collections - 6.1.0 - - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider - ${jackson2.version} - - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - ${jackson2.version} - - - com.infradna.tool - bridge-method-annotation - 1.4 - - - commons-cli - commons-cli - 1.3.1 - - - commons-collections - commons-collections - 3.2.1 - - - commons-configuration - commons-configuration - 1.6 - - - commons-io - commons-io - 2.4 - - - commons-lang - commons-lang - ${commons-lang.version} - - - commons-net - commons-net - 2.0 - - - commons-pool - commons-pool - 1.5.6 - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-test - ${curator.version} - - - junit - junit - 4.12 - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.apache.aries.spifly - org.apache.aries.spifly.dynamic.bundle - ${aries.spifly.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.apache.httpcomponents - fluent-hc - 4.3.6 - - - org.apache.httpcomponents - httpmime - 4.3.6 - - - org.apache.maven - maven-artifact - 3.5.0 - - - org.apache.maven - maven-core - 3.5.0 - - - org.apache.maven - maven-model - 3.5.0 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.5 - - - org.apache.maven - maven-plugin-api - 3.5.0 - - - org.apache.maven - maven-project - 2.2.1 - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.surefire - surefire-junit4 - ${surefire.version} - - - org.apache.maven.surefire - surefire-providers - ${surefire.version} - pom - - - org.codehaus.jettison - jettison - 1.3.1 - - - org.cthul - cthul-matchers - 1.0 - test - - - org.eclipse.jetty - jetty-continuation - ${jetty.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-servlets - ${jetty.version} - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - org.hamcrest - hamcrest-core - 1.3 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - uk.co.datumedge - hamcrest-json - 0.2 - test - - - org.hdrhistogram - HdrHistogram - 2.1.8 - - - org.mockito - mockito-all - 1.9.5 - - - org.mockito - mockito-core - 1.9.5 - test - - - org.osgi - org.osgi.compendium - 4.3.0 - - - org.osgi - org.osgi.core - 4.3.0 - - - org.scala-lang - scala-library - ${scala.version} - - - org.scala-lang.modules - scala-parser-combinators_${scala.major-version} - 1.0.1 - - - org.scala-lang.modules - scala-xml_${scala.major-version} - 1.0.2 - - - org.scalatest - scalatest_${scala.major-version} - 2.2.2 - - - org.springframework - spring-test - 4.0.6.RELEASE - - - org.testng - testng - 6.10 - - - org.twdata.maven - mojo-executor - 2.3.0 - - - net.spy - spymemcached - 2.10.1 - - - xerces - xercesImpl - 2.11.0 - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - com.ibm.icu - icu4j - 57.1 - - - com.yahoo.athenz - athenz-zms-java-client - ${athenz.version} - - - com.yahoo.athenz - athenz-zts-java-client - ${athenz.version} - - - - - - 3.5.2 - 4.5 - 1.0.8 - 1.0.0 - 5.0.3 - - 1.7.28 - 1.58 - 2.6 - - 2.9.1 - UTF-8 - UTF-8 - true - all - 2.11 - ${scala.major-version}.4 - 2.19.1 - - - diff --git a/pom.xml b/pom.xml index eb1f954ce13..2b7c1abc0d4 100644 --- a/pom.xml +++ b/pom.xml @@ -3,10 +3,11 @@ 4.0.0 com.yahoo.vespa - vespa + parent pom 6-SNAPSHOT - Aggregator pom for vespa. + parent + Parent artifact for all Vespa maven projects. https://github.com/vespa-engine @@ -23,6 +24,941 @@ + + + bintray-vespa-repo + https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 + + + + + + + + false + + bintray-yahoo-maven + bintray + https://yahoo.bintray.com/maven + + + + + scm:git:git@github.com:vespa-engine/vespa.git + scm:git:git@github.com:vespa-engine/vespa.git + git@github.com:vespa-engine/vespa.git + + + + ${project.artifactId} + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + org.apache.maven.archetype + archetype-packaging + 2.0 + + + + + + org.antlr + antlr3-maven-plugin + ${antlr.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + org.apache.felix + maven-bundle-plugin + 2.4.0 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + true + true + false + + -Xlint:all + -Xlint:-serial + -Xlint:-try + -Xlint:-processing + -Xlint:-varargs + -Werror + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + org.apache.maven.plugins + maven-install-plugin + 2.5.2 + + true + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + + -Xdoclint:${doclint} -Xdoclint:-missing + + 2.10.4 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + + true + + + + mojo-descriptor + + descriptor + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + \ + + + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.version} + + ${test.hide} + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${surefire.version} + + false + false + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + net.alchim31.maven + scala-maven-plugin + 3.2.2 + + + -unchecked + -deprecation + -feature + -Xfatal-warnings + + + + + com.yahoo.vespa + bundle-plugin + ${project.version} + + ${project.version} + true + + + + + + + + attach-sources + + + !skipSources + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar-no-fork + + + + + + + + + generate-javadoc + + + !skipJavadoc + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + generate-javadoc + package + + javadoc + + + + + -Xdoclint:${doclint} -Xdoclint:-missing + ${javadoc.failOnError} + true + private + + + + + + + coverage + + + + org.codehaus.mojo + exec-maven-plugin + + true + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + src/main/scala + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + com.github.cverges.expect4j + expect4j + 1.6 + + + org.apache.commons + commons-compress + 1.11 + + + org.apache.commons + commons-exec + 1.3 + + + io.airlift + airline + 0.7 + + + aopalliance + aopalliance + 1.0 + + + org.ow2.asm + asm + 5.2 + + + com.google.code.findbugs + annotations + 1.3.9 + + + com.google.code.findbugs + jsr305 + 1.3.9 + + + com.google.guava + guava + 18.0 + + + com.google.guava + guava-testlib + 18.0 + + + com.google.inject + guice + 3.0 + + + com.google.inject + guice + 3.0 + no_aop + + + com.google.inject.extensions + guice-assistedinject + 3.0 + + + com.google.inject.extensions + guice-multibindings + 3.0 + + + com.google.protobuf + protobuf-java + 2.4.1 + + + com.googlecode.jmockit + jmockit + 1.2 + + + com.goldmansachs + gs-collections + 6.1.0 + + + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson2.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson2.version} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson2.version} + + + com.infradna.tool + bridge-method-annotation + 1.4 + + + commons-cli + commons-cli + 1.3.1 + + + commons-codec + commons-codec + 1.4 + + + commons-collections + commons-collections + 3.2.1 + + + commons-configuration + commons-configuration + 1.6 + + + commons-daemon + commons-daemon + 1.0.3 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + ${commons-lang.version} + + + + commons-logging + commons-logging + 1.1.1 + + + commons-net + commons-net + 2.0 + + + commons-pool + commons-pool + 1.5.6 + + + + org.apache.zookeeper + zookeeper + 3.4.10 + + + org.apache.curator + curator-recipes + ${curator.version} + + + org.apache.curator + curator-test + ${curator.version} + + + javax.servlet + javax.servlet-api + 3.1.0 + + + junit + junit + 4.12 + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.apache.aries.spifly + org.apache.aries.spifly.dynamic.bundle + ${aries.spifly.version} + + + org.apache.commons + commons-lang3 + 3.1 + + + org.apache.felix + org.apache.felix.framework + 4.2.1 + + + org.apache.felix + org.apache.felix.log + 1.0.1 + + + org.apache.felix + org.apache.felix.main + 4.2.1 + + + org.apache.httpcomponents + fluent-hc + 4.3.6 + + + org.apache.httpcomponents + httpclient + 4.3.6 + + + org.apache.httpcomponents + httpcore + 4.3.3 + + + org.apache.httpcomponents + httpmime + 4.3.6 + + + org.apache.maven + maven-artifact + 3.5.0 + + + org.apache.maven + maven-core + 3.5.0 + + + org.apache.maven + maven-model + 3.5.0 + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + org.apache.maven + maven-plugin-api + 3.5.0 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.surefire + surefire-junit4 + ${surefire.version} + + + org.apache.maven.surefire + surefire-providers + ${surefire.version} + pom + + + org.codehaus.jettison + jettison + 1.3.1 + + + org.cthul + cthul-matchers + 1.0 + test + + + org.eclipse.jetty + jetty-continuation + ${jetty.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-servlets + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + org.hamcrest + hamcrest-all + 1.3 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + uk.co.datumedge + hamcrest-json + 0.2 + test + + + org.hdrhistogram + HdrHistogram + 2.1.8 + + + org.json + json + 20090211 + + + org.mockito + mockito-all + 1.9.5 + + + org.mockito + mockito-core + 1.9.5 + test + + + org.osgi + org.osgi.compendium + 4.3.0 + + + org.osgi + org.osgi.core + 4.3.0 + + + org.scala-lang + scala-library + ${scala.version} + + + org.scala-lang.modules + scala-parser-combinators_${scala.major-version} + 1.0.1 + + + org.scala-lang.modules + scala-xml_${scala.major-version} + 1.0.2 + + + org.scalatest + scalatest_${scala.major-version} + 2.2.2 + + + org.slf4j + jcl-over-slf4j + 1.7.5 + + + org.slf4j + log4j-over-slf4j + 1.7.5 + + + org.slf4j + slf4j-api + 1.7.5 + + + org.slf4j + slf4j-jdk14 + 1.7.5 + + + org.springframework + spring-test + 4.0.6.RELEASE + + + org.testng + testng + 6.10 + + + org.twdata.maven + mojo-executor + 2.3.0 + + + net.jcip + jcip-annotations + 1.0 + + + net.jpountz.lz4 + lz4 + 1.3.0 + + + net.spy + spymemcached + 2.10.1 + + + xerces + xercesImpl + 2.11.0 + + + org.bouncycastle + bcpkix-jdk15on + ${bouncycastle.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api.version} + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-proxy-client + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-client + ${jersey2.version} + + + com.ibm.icu + icu4j + 57.1 + + + com.yahoo.athenz + athenz-zms-java-client + ${athenz.version} + + + com.yahoo.athenz + athenz-zts-java-client + ${athenz.version} + + + + + + 2.0.1 + 3.5.2 + 4.5 + 1.0.8 + 1.0.0 + 5.0.3 + + 1.7.28 + 1.58 + 2.6 + + 2.9.1 + 2.8.3 + 2.23.2 + 9.4.6.v20170531 + UTF-8 + UTF-8 + true + all + 2.11 + ${scala.major-version}.4 + 2.19.1 + + application application-deploy-plugin @@ -53,7 +989,6 @@ container-core container-accesslogging container-dependencies-enforcer - container-dependency-versions container-dev container-di container-disc @@ -98,7 +1033,6 @@ node-maintainer orchestrator-restapi orchestrator - parent predicate-search predicate-search-core processing diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml index 8ced58b840e..ea2995c4770 100644 --- a/predicate-search-core/pom.xml +++ b/predicate-search-core/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml predicate-search-core 6-SNAPSHOT diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml index 289250012a0..ca79544c766 100644 --- a/predicate-search/pom.xml +++ b/predicate-search/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml predicate-search 6-SNAPSHOT diff --git a/processing/pom.xml b/processing/pom.xml index 9bb9ee77037..15aa984cbd2 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml processing jar diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml index 33f1977c7e2..18cdd294b87 100755 --- a/provided-dependencies/pom.xml +++ b/provided-dependencies/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml provided-dependencies jar diff --git a/searchcore/pom.xml b/searchcore/pom.xml index 3b43bf1205e..f31617cfe53 100644 --- a/searchcore/pom.xml +++ b/searchcore/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml searchcore 6-SNAPSHOT diff --git a/searchlib/pom.xml b/searchlib/pom.xml index 5f6717d9516..c669903c3da 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml searchlib container-plugin diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml index 417e25ff944..97a29655ad1 100644 --- a/searchsummary/pom.xml +++ b/searchsummary/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml searchsummary 6-SNAPSHOT diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml index 70f9d4aa655..c63bdf35574 100644 --- a/service-monitor/pom.xml +++ b/service-monitor/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml service-monitor container-plugin @@ -67,7 +66,6 @@ com.google.inject guice provided - no_aop com.fasterxml.jackson.core diff --git a/serviceview/pom.xml b/serviceview/pom.xml index 4357cc697b8..c3620ecfc9d 100644 --- a/serviceview/pom.xml +++ b/serviceview/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml serviceview container-plugin diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index 02758b182e3..d027fda82ce 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml simplemetrics container-plugin diff --git a/socket_test/pom.xml b/socket_test/pom.xml index 0c6d5cd77f4..60d8b3713e9 100644 --- a/socket_test/pom.xml +++ b/socket_test/pom.xml @@ -12,7 +12,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml jar diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml index 0d66951f364..9300181e00b 100644 --- a/standalone-container/pom.xml +++ b/standalone-container/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml standalone-container 6-SNAPSHOT diff --git a/statistics/pom.xml b/statistics/pom.xml index 521efa9a2a1..7bbef0ea3c0 100644 --- a/statistics/pom.xml +++ b/statistics/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml statistics 6-SNAPSHOT diff --git a/storage/pom.xml b/storage/pom.xml index e0b21d5a8a9..49b103cbe34 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml storage 6-SNAPSHOT diff --git a/testutil/pom.xml b/testutil/pom.xml index 00f606860a4..9f98f40c2d0 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml testutil jar @@ -24,7 +23,6 @@ com.google.inject guice provided - no_aop org.hamcrest diff --git a/vdslib/pom.xml b/vdslib/pom.xml index 5063489ed66..48681b8ce83 100644 --- a/vdslib/pom.xml +++ b/vdslib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vdslib container-plugin diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml index 980c8eee60f..2464c8208ad 100644 --- a/vespa-application-maven-plugin/pom.xml +++ b/vespa-application-maven-plugin/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa-application-maven-plugin 6-SNAPSHOT diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml index 718b19ae994..4e96a0475f7 100644 --- a/vespa-documentgen-plugin/pom.xml +++ b/vespa-documentgen-plugin/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa-documentgen-plugin maven-plugin diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml index 62d9010b9fd..b9fbd589525 100644 --- a/vespa-hadoop/pom.xml +++ b/vespa-hadoop/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa-hadoop 6-SNAPSHOT diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml index c336c641352..15d72b7c1c2 100644 --- a/vespa-http-client/pom.xml +++ b/vespa-http-client/pom.xml @@ -7,7 +7,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa-http-client 6-SNAPSHOT diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml index 436dcc06f3d..f54b2df9b8a 100644 --- a/vespa_feed_perf/pom.xml +++ b/vespa_feed_perf/pom.xml @@ -13,7 +13,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa_feed_perf 6-SNAPSHOT diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index 781075fd041..3250cd8a41f 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespa_jersey2 6-SNAPSHOT diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml index 3472f3fcdc5..59895438038 100644 --- a/vespaclient-container-plugin/pom.xml +++ b/vespaclient-container-plugin/pom.xml @@ -9,7 +9,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespaclient-container-plugin 6-SNAPSHOT diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml index 2e427364bd6..bdb15825fbb 100644 --- a/vespaclient-core/pom.xml +++ b/vespaclient-core/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespaclient-core 6-SNAPSHOT diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml index d692a6ed57f..8cde41d53d7 100644 --- a/vespaclient-java/pom.xml +++ b/vespaclient-java/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespaclient-java 6-SNAPSHOT diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml index 81c385c96ab..1f98a5e4c02 100644 --- a/vespajlib/pom.xml +++ b/vespajlib/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespajlib container-plugin diff --git a/vespalog/pom.xml b/vespalog/pom.xml index 6443769afbe..6cea5ab83d9 100644 --- a/vespalog/pom.xml +++ b/vespalog/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vespalog 6-SNAPSHOT diff --git a/vsm/pom.xml b/vsm/pom.xml index 3c491906060..8c5b006aeec 100644 --- a/vsm/pom.xml +++ b/vsm/pom.xml @@ -8,7 +8,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml vsm 6-SNAPSHOT diff --git a/yolean/pom.xml b/yolean/pom.xml index 850daae6fea..d64ea29a95c 100644 --- a/yolean/pom.xml +++ b/yolean/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml yolean 6-SNAPSHOT diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml index f9cb8c42688..45ba8c32372 100644 --- a/zkfacade/pom.xml +++ b/zkfacade/pom.xml @@ -6,7 +6,6 @@ com.yahoo.vespa parent 6-SNAPSHOT - ../parent/pom.xml zkfacade container-plugin -- cgit v1.2.3 From 644dfe78df379c51e37f6da502295c4f50808877 Mon Sep 17 00:00:00 2001 From: gjoranv Date: Tue, 28 Nov 2017 14:37:47 +0100 Subject: Split parent + container-dependency-versions from root pom. - Add missing dependencies so that all provided non-yahoo jars are listed in container-dependency-versions. - Add relativePath for all child poms of parent. --- annotations/pom.xml | 1 + application-deploy-plugin/pom.xml | 1 + application-model/pom.xml | 1 + application-preprocessor/pom.xml | 1 + application/pom.xml | 1 + athenz-identity-provider-service/pom.xml | 1 + bundle-plugin-test/pom.xml | 1 + bundle-plugin/pom.xml | 1 + chain/pom.xml | 1 + clustercontroller-apps/pom.xml | 1 + clustercontroller-apputil/pom.xml | 1 + clustercontroller-core/pom.xml | 1 + clustercontroller-standalone/pom.xml | 1 + clustercontroller-utils/pom.xml | 1 + component/pom.xml | 1 + config-application-package/pom.xml | 1 + config-bundle/pom.xml | 1 + config-class-plugin/pom.xml | 1 + config-lib/pom.xml | 1 + config-model-api/pom.xml | 1 + config-model-fat/pom.xml | 1 + config-model/pom.xml | 1 + config-provisioning/pom.xml | 1 + config-proxy/pom.xml | 1 + config/pom.xml | 1 + configdefinitions/pom.xml | 1 + configgen/pom.xml | 1 + configserver/pom.xml | 1 + container-accesslogging/pom.xml | 1 + container-core/pom.xml | 1 + container-dependencies-enforcer/pom.xml | 1 + container-dependency-versions/pom.xml | 369 ++++++++++++ container-dev/pom.xml | 1 + container-di/pom.xml | 1 + container-disc/pom.xml | 1 + container-jersey2/pom.xml | 1 + container-messagebus/pom.xml | 1 + container-search-and-docproc/pom.xml | 1 + container-search/pom.xml | 1 + container-test-jars/pom.xml | 1 + container-test/pom.xml | 1 + container/pom.xml | 1 + controller-api/pom.xml | 1 + controller-server/pom.xml | 1 + defaults/pom.xml | 7 +- docker-api/pom.xml | 1 + docproc/pom.xml | 1 + docprocs/pom.xml | 1 + document/pom.xml | 1 + documentapi/pom.xml | 1 + documentgen-test/pom.xml | 1 + fileacquirer/pom.xml | 1 + filedistribution/pom.xml | 3 +- filedistribution_test/pom.xml | 1 + filedistributionmanager/pom.xml | 1 + fsa/pom.xml | 1 + indexinglanguage/pom.xml | 1 + jaxrs_client_utils/pom.xml | 1 + jaxrs_utils/pom.xml | 1 + jdisc_core/pom.xml | 1 + jdisc_core_test/pom.xml | 1 + jdisc_http_service/pom.xml | 1 + jdisc_jetty/pom.xml | 1 + jdisc_messagebus_service/pom.xml | 1 + jrt/pom.xml | 1 + linguistics/pom.xml | 1 + logd/pom.xml | 1 + logserver/pom.xml | 1 + maven-plugins/pom.xml | 1 + messagebus-disc/pom.xml | 1 + messagebus/pom.xml | 1 + metrics/pom.xml | 1 + node-admin/pom.xml | 1 + node-maintainer/pom.xml | 1 + node-repository/pom.xml | 1 + orchestrator-restapi/pom.xml | 1 + orchestrator/pom.xml | 1 + parent/pom.xml | 758 +++++++++++++++++++++++++ pom.xml | 942 +------------------------------ predicate-search-core/pom.xml | 1 + predicate-search/pom.xml | 1 + processing/pom.xml | 1 + provided-dependencies/pom.xml | 1 + searchcore/pom.xml | 1 + searchlib/pom.xml | 1 + searchsummary/pom.xml | 1 + service-monitor/pom.xml | 1 + serviceview/pom.xml | 1 + simplemetrics/pom.xml | 1 + socket_test/pom.xml | 1 + standalone-container/pom.xml | 1 + statistics/pom.xml | 1 + storage/pom.xml | 1 + testutil/pom.xml | 1 + vdslib/pom.xml | 1 + vespa-application-maven-plugin/pom.xml | 1 + vespa-documentgen-plugin/pom.xml | 1 + vespa-hadoop/pom.xml | 1 + vespa-http-client/pom.xml | 1 + vespa_feed_perf/pom.xml | 1 + vespa_jersey2/pom.xml | 1 + vespaclient-container-plugin/pom.xml | 1 + vespaclient-core/pom.xml | 1 + vespaclient-java/pom.xml | 1 + vespajlib/pom.xml | 1 + vespalog/pom.xml | 1 + vsm/pom.xml | 1 + yolean/pom.xml | 1 + zkfacade/pom.xml | 1 + 109 files changed, 1241 insertions(+), 942 deletions(-) create mode 100644 container-dependency-versions/pom.xml create mode 100644 parent/pom.xml (limited to 'document') diff --git a/annotations/pom.xml b/annotations/pom.xml index 146eb5e9be2..3321dddaf8c 100644 --- a/annotations/pom.xml +++ b/annotations/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml annotations jar diff --git a/application-deploy-plugin/pom.xml b/application-deploy-plugin/pom.xml index 3cae7cf7831..501dee385a6 100644 --- a/application-deploy-plugin/pom.xml +++ b/application-deploy-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-deploy-plugin 6-SNAPSHOT diff --git a/application-model/pom.xml b/application-model/pom.xml index 13a2d3ea49b..801c72e9194 100644 --- a/application-model/pom.xml +++ b/application-model/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-model container-plugin diff --git a/application-preprocessor/pom.xml b/application-preprocessor/pom.xml index 4fa319a881a..6ffff09e548 100644 --- a/application-preprocessor/pom.xml +++ b/application-preprocessor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application-preprocessor jar diff --git a/application/pom.xml b/application/pom.xml index 17e9ece3543..8103226e55d 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml application jar diff --git a/athenz-identity-provider-service/pom.xml b/athenz-identity-provider-service/pom.xml index c87589d7be2..bfd02d54d43 100644 --- a/athenz-identity-provider-service/pom.xml +++ b/athenz-identity-provider-service/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml diff --git a/bundle-plugin-test/pom.xml b/bundle-plugin-test/pom.xml index 8d8bf48cc07..3dd5be00add 100644 --- a/bundle-plugin-test/pom.xml +++ b/bundle-plugin-test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa bundle-plugin-test diff --git a/bundle-plugin/pom.xml b/bundle-plugin/pom.xml index 02f0ed2ccf5..47a06a1ee76 100644 --- a/bundle-plugin/pom.xml +++ b/bundle-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml bundle-plugin 6-SNAPSHOT diff --git a/chain/pom.xml b/chain/pom.xml index a3096d37748..01a64a93609 100755 --- a/chain/pom.xml +++ b/chain/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml chain jar diff --git a/clustercontroller-apps/pom.xml b/clustercontroller-apps/pom.xml index 26f466eb208..bdc6059a816 100644 --- a/clustercontroller-apps/pom.xml +++ b/clustercontroller-apps/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-apps 6-SNAPSHOT diff --git a/clustercontroller-apputil/pom.xml b/clustercontroller-apputil/pom.xml index 68adc82596f..42c7690eab6 100644 --- a/clustercontroller-apputil/pom.xml +++ b/clustercontroller-apputil/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-apputil 6-SNAPSHOT diff --git a/clustercontroller-core/pom.xml b/clustercontroller-core/pom.xml index 499dee0d1de..99cf4df643b 100644 --- a/clustercontroller-core/pom.xml +++ b/clustercontroller-core/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-core 6-SNAPSHOT diff --git a/clustercontroller-standalone/pom.xml b/clustercontroller-standalone/pom.xml index f51555a92b6..f435cd9d7c4 100644 --- a/clustercontroller-standalone/pom.xml +++ b/clustercontroller-standalone/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-standalone 6-SNAPSHOT diff --git a/clustercontroller-utils/pom.xml b/clustercontroller-utils/pom.xml index f151a623ff9..287a85089ca 100644 --- a/clustercontroller-utils/pom.xml +++ b/clustercontroller-utils/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml clustercontroller-utils 6-SNAPSHOT diff --git a/component/pom.xml b/component/pom.xml index 92f852e4ba0..18bfd000a84 100755 --- a/component/pom.xml +++ b/component/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml component container-plugin diff --git a/config-application-package/pom.xml b/config-application-package/pom.xml index 90d4a2d9af6..629c02de1e8 100644 --- a/config-application-package/pom.xml +++ b/config-application-package/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-application-package container-plugin diff --git a/config-bundle/pom.xml b/config-bundle/pom.xml index 7121756ce68..07262141801 100644 --- a/config-bundle/pom.xml +++ b/config-bundle/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-bundle container-plugin diff --git a/config-class-plugin/pom.xml b/config-class-plugin/pom.xml index 5b3149a13da..71a20782d85 100644 --- a/config-class-plugin/pom.xml +++ b/config-class-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-class-plugin maven-plugin diff --git a/config-lib/pom.xml b/config-lib/pom.xml index 2ed993dd052..31648958fa6 100644 --- a/config-lib/pom.xml +++ b/config-lib/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-lib container-plugin diff --git a/config-model-api/pom.xml b/config-model-api/pom.xml index 6618612df31..743164afb16 100644 --- a/config-model-api/pom.xml +++ b/config-model-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model-api 6-SNAPSHOT diff --git a/config-model-fat/pom.xml b/config-model-fat/pom.xml index a4bbba0e6e8..0526c2f6581 100644 --- a/config-model-fat/pom.xml +++ b/config-model-fat/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model-fat bundle diff --git a/config-model/pom.xml b/config-model/pom.xml index 0fdc09e1a61..729d1a2ef9b 100644 --- a/config-model/pom.xml +++ b/config-model/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-model container-plugin diff --git a/config-provisioning/pom.xml b/config-provisioning/pom.xml index ebe7d460989..05f94973017 100644 --- a/config-provisioning/pom.xml +++ b/config-provisioning/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa config-provisioning diff --git a/config-proxy/pom.xml b/config-proxy/pom.xml index 0aadb1bbb12..a266f68efe2 100644 --- a/config-proxy/pom.xml +++ b/config-proxy/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config-proxy jar diff --git a/config/pom.xml b/config/pom.xml index f73c5b7bfd8..cfa3a692181 100755 --- a/config/pom.xml +++ b/config/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml config container-plugin diff --git a/configdefinitions/pom.xml b/configdefinitions/pom.xml index 92980a18899..487c43ed3b3 100644 --- a/configdefinitions/pom.xml +++ b/configdefinitions/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configdefinitions container-plugin diff --git a/configgen/pom.xml b/configgen/pom.xml index 6e550ec7321..e8de114f8d5 100644 --- a/configgen/pom.xml +++ b/configgen/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configgen jar diff --git a/configserver/pom.xml b/configserver/pom.xml index 30d92dc7650..f5aa8ea3118 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml configserver container-plugin diff --git a/container-accesslogging/pom.xml b/container-accesslogging/pom.xml index 45d7b4a2ed2..b4c7094a50a 100644 --- a/container-accesslogging/pom.xml +++ b/container-accesslogging/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-accesslogging 6-SNAPSHOT diff --git a/container-core/pom.xml b/container-core/pom.xml index c608f35f26c..1be10215419 100644 --- a/container-core/pom.xml +++ b/container-core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-core 6-SNAPSHOT diff --git a/container-dependencies-enforcer/pom.xml b/container-dependencies-enforcer/pom.xml index 61495384744..94f7613e692 100644 --- a/container-dependencies-enforcer/pom.xml +++ b/container-dependencies-enforcer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-dependencies-enforcer diff --git a/container-dependency-versions/pom.xml b/container-dependency-versions/pom.xml new file mode 100644 index 00000000000..5007e91c916 --- /dev/null +++ b/container-dependency-versions/pom.xml @@ -0,0 +1,369 @@ + + + + 4.0.0 + com.yahoo.vespa + container-dependency-versions + pom + 6-SNAPSHOT + Dependency versions for all Vespa maven projects. + https://github.com/vespa-engine + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + + + aopalliance + aopalliance + 1.0 + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson2.version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson2.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson2.version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson2.version} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson2.version} + + + com.google.code.findbugs + annotations + ${findbugs.version} + + + com.google.code.findbugs + jsr305 + ${findbugs.version} + + + com.google.guava + guava + ${guava.version} + + + com.google.inject.extensions + guice-assistedinject + ${guice.version} + + + com.google.inject.extensions + guice-multibindings + ${guice.version} + + + com.google.inject + guice + ${guice.version} + + + com.google.inject + guice + ${guice.version} + no_aop + + + commons-codec + commons-codec + 1.4 + + + commons-daemon + commons-daemon + 1.0.3 + + + + commons-logging + commons-logging + 1.1.1 + + + javax.annotation + javax.annotation-api + ${javax.annotation-api.version} + + + javax.inject + javax.inject + 1 + + + javax.servlet + javax.servlet-api + 3.1.0 + + + javax.validation + validation-api + ${javax.validation-api.version} + + + javax.ws.rs + javax.ws.rs-api + ${javax.ws.rs-api.version} + + + net.jcip + jcip-annotations + 1.0 + + + net.jpountz.lz4 + lz4 + 1.3.0 + + + org.apache.felix + org.apache.felix.framework + ${felix.version} + + + org.apache.felix + org.apache.felix.log + 1.0.1 + + + org.apache.felix + org.apache.felix.main + ${felix.version} + + + org.apache.httpcomponents + httpclient + 4.3.6 + + + org.apache.httpcomponents + httpcore + 4.3.3 + + + org.eclipse.jetty + jetty-http + ${jetty.version} + + + org.eclipse.jetty + jetty-io + ${jetty.version} + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + org.glassfish.hk2.external + aopalliance-repackaged + ${hk2.version} + + + org.glassfish.hk2.external + javax.inject + ${hk2.version} + + + org.glassfish.hk2 + hk2-api + ${hk2.version} + + + org.glassfish.hk2 + hk2-locator + ${hk2.version} + + + org.glassfish.hk2 + hk2-utils + ${hk2.version} + + + org.glassfish.hk2 + osgi-resource-locator + ${hk2.osgi-resource-locator.version} + + + org.glassfish.jersey.bundles.repackaged + jersey-guava + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey2.version} + + + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-client + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-common + ${jersey2.version} + + + org.glassfish.jersey.core + jersey-server + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-entity-filtering + ${jersey2.version} + + + org.glassfish.jersey.ext + jersey-proxy-client + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-jaxb + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-json-jackson + ${jersey2.version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey2.version} + + + org.javassist + javassist + ${javassist.version} + + + org.json + json + 20090211 + + + org.jvnet.mimepull + mimepull + ${mimepull.version} + + + org.slf4j + jcl-over-slf4j + ${slf4j.version} + + + org.slf4j + log4j-over-slf4j + ${slf4j.version} + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-jdk14 + ${slf4j.version} + + + xml-apis + xml-apis + 1.4.01 + + + + + + 4.2.1 + 1.3.9 + 18.0 + 3.0 + 9.4.6.v20170531 + 1.7.5 + + + + + 2.5.0-b05 + 1.0.1 + 2.8.3 + 3.20.0-GA + 1.2 + 1.1.0.Final + 2.0.1 + 2.23.2 + 1.9.6 + + + diff --git a/container-dev/pom.xml b/container-dev/pom.xml index d02ec233d96..f62bbd22690 100644 --- a/container-dev/pom.xml +++ b/container-dev/pom.xml @@ -10,6 +10,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-dev 6-SNAPSHOT diff --git a/container-di/pom.xml b/container-di/pom.xml index cf6a9e54daa..abc652d6e6e 100644 --- a/container-di/pom.xml +++ b/container-di/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-di 6-SNAPSHOT diff --git a/container-disc/pom.xml b/container-disc/pom.xml index ad86b3ffcff..38b4bfc2ff5 100644 --- a/container-disc/pom.xml +++ b/container-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-disc 6-SNAPSHOT diff --git a/container-jersey2/pom.xml b/container-jersey2/pom.xml index 8f579e49876..26dfa762032 100644 --- a/container-jersey2/pom.xml +++ b/container-jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-jersey2 6-SNAPSHOT diff --git a/container-messagebus/pom.xml b/container-messagebus/pom.xml index 6058063daf3..1daf1df6fcb 100644 --- a/container-messagebus/pom.xml +++ b/container-messagebus/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-messagebus 6-SNAPSHOT diff --git a/container-search-and-docproc/pom.xml b/container-search-and-docproc/pom.xml index fb2794670a2..9b4419ae2b6 100644 --- a/container-search-and-docproc/pom.xml +++ b/container-search-and-docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-search-and-docproc 6-SNAPSHOT diff --git a/container-search/pom.xml b/container-search/pom.xml index f622567acde..0df502cf21a 100644 --- a/container-search/pom.xml +++ b/container-search/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-search jar diff --git a/container-test-jars/pom.xml b/container-test-jars/pom.xml index dcde18fc8cf..804ca5eb879 100644 --- a/container-test-jars/pom.xml +++ b/container-test-jars/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa.container-test-jars container-test-jars diff --git a/container-test/pom.xml b/container-test/pom.xml index 7aaffed652e..26f02767062 100644 --- a/container-test/pom.xml +++ b/container-test/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container-test 6-SNAPSHOT diff --git a/container/pom.xml b/container/pom.xml index 4726071db55..3793a3508a4 100644 --- a/container/pom.xml +++ b/container/pom.xml @@ -11,6 +11,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml container 6-SNAPSHOT diff --git a/controller-api/pom.xml b/controller-api/pom.xml index 51666da0c03..5ef130a22ba 100644 --- a/controller-api/pom.xml +++ b/controller-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml controller-api container-plugin diff --git a/controller-server/pom.xml b/controller-server/pom.xml index 0cfcbc40601..b033286b82a 100644 --- a/controller-server/pom.xml +++ b/controller-server/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml controller-server container-plugin diff --git a/defaults/pom.xml b/defaults/pom.xml index 2f3f06780e7..4d1a08aacc2 100644 --- a/defaults/pom.xml +++ b/defaults/pom.xml @@ -5,9 +5,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - com.yahoo.vespa - parent - 6-SNAPSHOT + com.yahoo.vespa + parent + 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa defaults diff --git a/docker-api/pom.xml b/docker-api/pom.xml index fc374a12dd2..449a94fb621 100644 --- a/docker-api/pom.xml +++ b/docker-api/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docker-api diff --git a/docproc/pom.xml b/docproc/pom.xml index 09635201e51..1043de32128 100644 --- a/docproc/pom.xml +++ b/docproc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docproc jar diff --git a/docprocs/pom.xml b/docprocs/pom.xml index 1b209ec39ee..16259a861c7 100644 --- a/docprocs/pom.xml +++ b/docprocs/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml docprocs container-plugin diff --git a/document/pom.xml b/document/pom.xml index 81b21487314..10f71218422 100644 --- a/document/pom.xml +++ b/document/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml document 6-SNAPSHOT diff --git a/documentapi/pom.xml b/documentapi/pom.xml index c94337e8873..3781dfd93ac 100644 --- a/documentapi/pom.xml +++ b/documentapi/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml documentapi container-plugin diff --git a/documentgen-test/pom.xml b/documentgen-test/pom.xml index 53b49cf1473..d009ef3d592 100644 --- a/documentgen-test/pom.xml +++ b/documentgen-test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml documentgen-test jar diff --git a/fileacquirer/pom.xml b/fileacquirer/pom.xml index eb040eddffb..6449b8c620f 100644 --- a/fileacquirer/pom.xml +++ b/fileacquirer/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml fileacquirer 6-SNAPSHOT diff --git a/filedistribution/pom.xml b/filedistribution/pom.xml index 10b77b540e7..b0bdaff518f 100644 --- a/filedistribution/pom.xml +++ b/filedistribution/pom.xml @@ -9,7 +9,8 @@ com.yahoo.vespa parent 6-SNAPSHOT - + ../parent/pom.xml + filedistribution 6-SNAPSHOT diff --git a/filedistribution_test/pom.xml b/filedistribution_test/pom.xml index c270eabb6cf..5cc113c6453 100644 --- a/filedistribution_test/pom.xml +++ b/filedistribution_test/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml filedistribution_test 6-SNAPSHOT diff --git a/filedistributionmanager/pom.xml b/filedistributionmanager/pom.xml index 9e3ecf95ecb..9f037814a12 100644 --- a/filedistributionmanager/pom.xml +++ b/filedistributionmanager/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml filedistributionmanager 6-SNAPSHOT diff --git a/fsa/pom.xml b/fsa/pom.xml index a49845105cf..2a56069f82e 100644 --- a/fsa/pom.xml +++ b/fsa/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml fsa container-plugin diff --git a/indexinglanguage/pom.xml b/indexinglanguage/pom.xml index 70cb9f6d8d0..f0aba8d9476 100644 --- a/indexinglanguage/pom.xml +++ b/indexinglanguage/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml indexinglanguage jar diff --git a/jaxrs_client_utils/pom.xml b/jaxrs_client_utils/pom.xml index 1c4bdde21a8..e3de5b8163d 100644 --- a/jaxrs_client_utils/pom.xml +++ b/jaxrs_client_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jaxrs_client_utils 6-SNAPSHOT diff --git a/jaxrs_utils/pom.xml b/jaxrs_utils/pom.xml index 249cbda992b..1753d016ec3 100644 --- a/jaxrs_utils/pom.xml +++ b/jaxrs_utils/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jaxrs_utils 6-SNAPSHOT diff --git a/jdisc_core/pom.xml b/jdisc_core/pom.xml index fb8200eb610..55da222994f 100644 --- a/jdisc_core/pom.xml +++ b/jdisc_core/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_core 6-SNAPSHOT diff --git a/jdisc_core_test/pom.xml b/jdisc_core_test/pom.xml index 92e7a39fee0..a1a96463ffc 100644 --- a/jdisc_core_test/pom.xml +++ b/jdisc_core_test/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa.jdisc_core parent diff --git a/jdisc_http_service/pom.xml b/jdisc_http_service/pom.xml index d8c0b0bc29c..a1482669b39 100644 --- a/jdisc_http_service/pom.xml +++ b/jdisc_http_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_http_service 6-SNAPSHOT diff --git a/jdisc_jetty/pom.xml b/jdisc_jetty/pom.xml index 4e739aae8cc..0f8a5ba19e2 100644 --- a/jdisc_jetty/pom.xml +++ b/jdisc_jetty/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_jetty 6-SNAPSHOT diff --git a/jdisc_messagebus_service/pom.xml b/jdisc_messagebus_service/pom.xml index e9531a73861..6201f413b9a 100644 --- a/jdisc_messagebus_service/pom.xml +++ b/jdisc_messagebus_service/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jdisc_messagebus_service 6-SNAPSHOT diff --git a/jrt/pom.xml b/jrt/pom.xml index 0d6be56fdab..cf3da2ab7ce 100644 --- a/jrt/pom.xml +++ b/jrt/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jrt container-plugin diff --git a/linguistics/pom.xml b/linguistics/pom.xml index 328742f483a..b89369b42dc 100644 --- a/linguistics/pom.xml +++ b/linguistics/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml linguistics container-plugin diff --git a/logd/pom.xml b/logd/pom.xml index e21931efc5a..a1a107bc20c 100644 --- a/logd/pom.xml +++ b/logd/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml logd 6-SNAPSHOT diff --git a/logserver/pom.xml b/logserver/pom.xml index 6acdd8ed1d7..55c5c443cfb 100644 --- a/logserver/pom.xml +++ b/logserver/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml logserver jar diff --git a/maven-plugins/pom.xml b/maven-plugins/pom.xml index 2f7343e753c..0aabe630a63 100644 --- a/maven-plugins/pom.xml +++ b/maven-plugins/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa bundle-plugins diff --git a/messagebus-disc/pom.xml b/messagebus-disc/pom.xml index 46158b0ca60..89741dce82b 100644 --- a/messagebus-disc/pom.xml +++ b/messagebus-disc/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml messagebus-disc 6-SNAPSHOT diff --git a/messagebus/pom.xml b/messagebus/pom.xml index 7fb44787cdf..7c37bccbd9a 100644 --- a/messagebus/pom.xml +++ b/messagebus/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml messagebus 6-SNAPSHOT diff --git a/metrics/pom.xml b/metrics/pom.xml index ec64d0d392c..628ab66552d 100644 --- a/metrics/pom.xml +++ b/metrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml com.yahoo.vespa metrics diff --git a/node-admin/pom.xml b/node-admin/pom.xml index f7691cda3f7..983e4d3a832 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-admin diff --git a/node-maintainer/pom.xml b/node-maintainer/pom.xml index d56e12d92c6..1fe3eb23857 100644 --- a/node-maintainer/pom.xml +++ b/node-maintainer/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-maintainer diff --git a/node-repository/pom.xml b/node-repository/pom.xml index 09b0d3df3d9..6673ea487a1 100644 --- a/node-repository/pom.xml +++ b/node-repository/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml node-repository 6-SNAPSHOT diff --git a/orchestrator-restapi/pom.xml b/orchestrator-restapi/pom.xml index db823f3fb15..310512812e2 100644 --- a/orchestrator-restapi/pom.xml +++ b/orchestrator-restapi/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml orchestrator-restapi 6-SNAPSHOT diff --git a/orchestrator/pom.xml b/orchestrator/pom.xml index c50f9ddcb29..ae22b6718f9 100644 --- a/orchestrator/pom.xml +++ b/orchestrator/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml orchestrator 6-SNAPSHOT diff --git a/parent/pom.xml b/parent/pom.xml new file mode 100644 index 00000000000..e01612218ff --- /dev/null +++ b/parent/pom.xml @@ -0,0 +1,758 @@ + + + + 4.0.0 + parent + pom + 6-SNAPSHOT + parent + Parent artifact for all Vespa maven projects. + https://github.com/vespa-engine + + + com.yahoo.vespa + container-dependency-versions + 6-SNAPSHOT + ../container-dependency-versions/pom.xml + + + + + The Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + + Vespa + https://github.com/vespa-engine + + + + + + bintray-vespa-repo + https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 + + + + + + + + false + + bintray-yahoo-maven + bintray + https://yahoo.bintray.com/maven + + + + + scm:git:git@github.com:vespa-engine/vespa.git + scm:git:git@github.com:vespa-engine/vespa.git + git@github.com:vespa-engine/vespa.git + + + + ${project.artifactId} + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + org.apache.maven.archetype + archetype-packaging + 2.0 + + + + + + org.antlr + antlr3-maven-plugin + ${antlr.version} + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + org.apache.felix + maven-bundle-plugin + 2.4.0 + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + true + true + false + + -Xlint:all + -Xlint:-serial + -Xlint:-try + -Xlint:-processing + -Xlint:-varargs + -Werror + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.5 + + + org.apache.maven.plugins + maven-install-plugin + 2.5.2 + + true + + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.plugins + maven-javadoc-plugin + + -Xdoclint:${doclint} -Xdoclint:-missing + + 2.10.4 + + + org.apache.maven.plugins + maven-plugin-plugin + 3.5 + + + true + + + + mojo-descriptor + + descriptor + + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.7 + + \ + + + + org.apache.maven.plugins + maven-site-plugin + 3.3 + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + true + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.version} + + ${test.hide} + + ${project.build.directory} + + + + + org.apache.maven.plugins + maven-surefire-report-plugin + ${surefire.version} + + false + false + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.9.1 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + org.codehaus.mojo + properties-maven-plugin + 1.0.0 + + + net.alchim31.maven + scala-maven-plugin + 3.2.2 + + + -unchecked + -deprecation + -feature + -Xfatal-warnings + + + + + com.yahoo.vespa + bundle-plugin + ${project.version} + + ${project.version} + true + + + + + + + + attach-sources + + + !skipSources + + + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar-no-fork + + + + + + + + + generate-javadoc + + + !skipJavadoc + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + generate-javadoc + package + + javadoc + + + + + -Xdoclint:${doclint} -Xdoclint:-missing + ${javadoc.failOnError} + true + private + + + + + + + coverage + + + + org.codehaus.mojo + exec-maven-plugin + + true + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + src/main/scala + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + + + sign-artifacts + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + + org.apache.maven.wagon + wagon-ssh-external + 2.7 + + + com.github.cverges.expect4j + expect4j + 1.6 + + + org.apache.commons + commons-compress + 1.11 + + + org.apache.commons + commons-exec + 1.3 + + + io.airlift + airline + 0.7 + + + org.ow2.asm + asm + 5.2 + + + com.google.guava + guava-testlib + 18.0 + + + com.google.protobuf + protobuf-java + 2.4.1 + + + com.googlecode.jmockit + jmockit + 1.2 + + + com.goldmansachs + gs-collections + 6.1.0 + + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson2.version} + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson2.version} + + + com.infradna.tool + bridge-method-annotation + 1.4 + + + commons-cli + commons-cli + 1.3.1 + + + commons-collections + commons-collections + 3.2.1 + + + commons-configuration + commons-configuration + 1.6 + + + commons-io + commons-io + 2.4 + + + commons-lang + commons-lang + ${commons-lang.version} + + + commons-net + commons-net + 2.0 + + + commons-pool + commons-pool + 1.5.6 + + + + org.apache.zookeeper + zookeeper + 3.4.10 + + + org.apache.curator + curator-recipes + ${curator.version} + + + org.apache.curator + curator-test + ${curator.version} + + + junit + junit + 4.12 + + + org.antlr + antlr-runtime + ${antlr.version} + + + org.antlr + antlr4-runtime + ${antlr4.version} + + + org.apache.aries.spifly + org.apache.aries.spifly.dynamic.bundle + ${aries.spifly.version} + + + org.apache.commons + commons-lang3 + 3.1 + + + org.apache.httpcomponents + fluent-hc + 4.3.6 + + + org.apache.httpcomponents + httpmime + 4.3.6 + + + org.apache.maven + maven-artifact + 3.5.0 + + + org.apache.maven + maven-core + 3.5.0 + + + org.apache.maven + maven-model + 3.5.0 + + + org.apache.maven.plugin-tools + maven-plugin-annotations + 3.5 + + + org.apache.maven + maven-plugin-api + 3.5.0 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven.plugins + maven-jar-plugin + 3.0.2 + + + org.apache.maven.surefire + surefire-junit4 + ${surefire.version} + + + org.apache.maven.surefire + surefire-providers + ${surefire.version} + pom + + + org.codehaus.jettison + jettison + 1.3.1 + + + org.cthul + cthul-matchers + 1.0 + test + + + org.eclipse.jetty + jetty-continuation + ${jetty.version} + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + org.eclipse.jetty + jetty-servlet + ${jetty.version} + + + org.eclipse.jetty + jetty-servlets + ${jetty.version} + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + org.hamcrest + hamcrest-all + 1.3 + test + + + org.hamcrest + hamcrest-core + 1.3 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + uk.co.datumedge + hamcrest-json + 0.2 + test + + + org.hdrhistogram + HdrHistogram + 2.1.8 + + + org.mockito + mockito-all + 1.9.5 + + + org.mockito + mockito-core + 1.9.5 + test + + + org.osgi + org.osgi.compendium + 4.3.0 + + + org.osgi + org.osgi.core + 4.3.0 + + + org.scala-lang + scala-library + ${scala.version} + + + org.scala-lang.modules + scala-parser-combinators_${scala.major-version} + 1.0.1 + + + org.scala-lang.modules + scala-xml_${scala.major-version} + 1.0.2 + + + org.scalatest + scalatest_${scala.major-version} + 2.2.2 + + + org.springframework + spring-test + 4.0.6.RELEASE + + + org.testng + testng + 6.10 + + + org.twdata.maven + mojo-executor + 2.3.0 + + + net.spy + spymemcached + 2.10.1 + + + xerces + xercesImpl + 2.11.0 + + + org.bouncycastle + bcpkix-jdk15on + ${bouncycastle.version} + + + org.bouncycastle + bcprov-jdk15on + ${bouncycastle.version} + + + com.ibm.icu + icu4j + 57.1 + + + com.yahoo.athenz + athenz-zms-java-client + ${athenz.version} + + + com.yahoo.athenz + athenz-zts-java-client + ${athenz.version} + + + + + + 3.5.2 + 4.5 + 1.0.8 + 1.0.0 + 5.0.3 + + 1.7.28 + 1.58 + 2.6 + + 2.9.1 + UTF-8 + UTF-8 + true + all + 2.11 + ${scala.major-version}.4 + 2.19.1 + + + diff --git a/pom.xml b/pom.xml index 2b7c1abc0d4..eb1f954ce13 100644 --- a/pom.xml +++ b/pom.xml @@ -3,11 +3,10 @@ 4.0.0 com.yahoo.vespa - parent + vespa pom 6-SNAPSHOT - parent - Parent artifact for all Vespa maven projects. + Aggregator pom for vespa. https://github.com/vespa-engine @@ -24,941 +23,6 @@ - - - bintray-vespa-repo - https://api.bintray.com/maven/yahoo/maven/vespa;publish=1 - - - - - - - - false - - bintray-yahoo-maven - bintray - https://yahoo.bintray.com/maven - - - - - scm:git:git@github.com:vespa-engine/vespa.git - scm:git:git@github.com:vespa-engine/vespa.git - git@github.com:vespa-engine/vespa.git - - - - ${project.artifactId} - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - org.apache.maven.archetype - archetype-packaging - 2.0 - - - - - - org.antlr - antlr3-maven-plugin - ${antlr.version} - - - org.apache.maven.plugins - maven-antrun-plugin - 1.7 - - - org.apache.felix - maven-bundle-plugin - 2.4.0 - - - org.apache.maven.plugins - maven-assembly-plugin - 2.4 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.6.1 - - 1.8 - 1.8 - true - true - false - - -Xlint:all - -Xlint:-serial - -Xlint:-try - -Xlint:-processing - -Xlint:-varargs - -Werror - - - - - org.apache.maven.plugins - maven-dependency-plugin - 2.10 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.5 - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - true - - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.plugins - maven-javadoc-plugin - - -Xdoclint:${doclint} -Xdoclint:-missing - - 2.10.4 - - - org.apache.maven.plugins - maven-plugin-plugin - 3.5 - - - true - - - - mojo-descriptor - - descriptor - - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.7 - - \ - - - - org.apache.maven.plugins - maven-site-plugin - 3.3 - - - org.apache.maven.plugins - maven-source-plugin - 2.1.2 - - true - - - - org.apache.maven.plugins - maven-surefire-plugin - ${surefire.version} - - ${test.hide} - - ${project.build.directory} - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - ${surefire.version} - - false - false - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.9.1 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - org.codehaus.mojo - properties-maven-plugin - 1.0.0 - - - net.alchim31.maven - scala-maven-plugin - 3.2.2 - - - -unchecked - -deprecation - -feature - -Xfatal-warnings - - - - - com.yahoo.vespa - bundle-plugin - ${project.version} - - ${project.version} - true - - - - - - - - attach-sources - - - !skipSources - - - - - - org.apache.maven.plugins - maven-source-plugin - - - attach-sources - - jar-no-fork - - - - - - - - - generate-javadoc - - - !skipJavadoc - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - generate-javadoc - package - - javadoc - - - - - -Xdoclint:${doclint} -Xdoclint:-missing - ${javadoc.failOnError} - true - private - - - - - - - coverage - - - - org.codehaus.mojo - exec-maven-plugin - - true - - - - org.codehaus.mojo - build-helper-maven-plugin - - - generate-sources - - add-source - - - - src/main/scala - - - - - add-test-source - generate-test-sources - - add-test-source - - - - src/test/scala - - - - - - - - - - sign-artifacts - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - - - - org.apache.maven.wagon - wagon-ssh-external - 2.7 - - - com.github.cverges.expect4j - expect4j - 1.6 - - - org.apache.commons - commons-compress - 1.11 - - - org.apache.commons - commons-exec - 1.3 - - - io.airlift - airline - 0.7 - - - aopalliance - aopalliance - 1.0 - - - org.ow2.asm - asm - 5.2 - - - com.google.code.findbugs - annotations - 1.3.9 - - - com.google.code.findbugs - jsr305 - 1.3.9 - - - com.google.guava - guava - 18.0 - - - com.google.guava - guava-testlib - 18.0 - - - com.google.inject - guice - 3.0 - - - com.google.inject - guice - 3.0 - no_aop - - - com.google.inject.extensions - guice-assistedinject - 3.0 - - - com.google.inject.extensions - guice-multibindings - 3.0 - - - com.google.protobuf - protobuf-java - 2.4.1 - - - com.googlecode.jmockit - jmockit - 1.2 - - - com.goldmansachs - gs-collections - 6.1.0 - - - com.fasterxml.jackson.core - jackson-core - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson2.version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson2.version} - - - com.fasterxml.jackson.module - jackson-module-jaxb-annotations - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-base - ${jackson2.version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider - ${jackson2.version} - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - ${jackson2.version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson2.version} - - - com.infradna.tool - bridge-method-annotation - 1.4 - - - commons-cli - commons-cli - 1.3.1 - - - commons-codec - commons-codec - 1.4 - - - commons-collections - commons-collections - 3.2.1 - - - commons-configuration - commons-configuration - 1.6 - - - commons-daemon - commons-daemon - 1.0.3 - - - commons-io - commons-io - 2.4 - - - commons-lang - commons-lang - ${commons-lang.version} - - - - commons-logging - commons-logging - 1.1.1 - - - commons-net - commons-net - 2.0 - - - commons-pool - commons-pool - 1.5.6 - - - - org.apache.zookeeper - zookeeper - 3.4.10 - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-test - ${curator.version} - - - javax.servlet - javax.servlet-api - 3.1.0 - - - junit - junit - 4.12 - - - org.antlr - antlr-runtime - ${antlr.version} - - - org.antlr - antlr4-runtime - ${antlr4.version} - - - org.apache.aries.spifly - org.apache.aries.spifly.dynamic.bundle - ${aries.spifly.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.apache.felix - org.apache.felix.framework - 4.2.1 - - - org.apache.felix - org.apache.felix.log - 1.0.1 - - - org.apache.felix - org.apache.felix.main - 4.2.1 - - - org.apache.httpcomponents - fluent-hc - 4.3.6 - - - org.apache.httpcomponents - httpclient - 4.3.6 - - - org.apache.httpcomponents - httpcore - 4.3.3 - - - org.apache.httpcomponents - httpmime - 4.3.6 - - - org.apache.maven - maven-artifact - 3.5.0 - - - org.apache.maven - maven-core - 3.5.0 - - - org.apache.maven - maven-model - 3.5.0 - - - org.apache.maven.plugin-tools - maven-plugin-annotations - 3.5 - - - org.apache.maven - maven-plugin-api - 3.5.0 - - - org.apache.maven - maven-project - 2.2.1 - - - org.apache.maven.plugins - maven-jar-plugin - 3.0.2 - - - org.apache.maven.surefire - surefire-junit4 - ${surefire.version} - - - org.apache.maven.surefire - surefire-providers - ${surefire.version} - pom - - - org.codehaus.jettison - jettison - 1.3.1 - - - org.cthul - cthul-matchers - 1.0 - test - - - org.eclipse.jetty - jetty-continuation - ${jetty.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - - - org.eclipse.jetty - jetty-servlets - ${jetty.version} - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - org.eclipse.jetty - jetty-http - ${jetty.version} - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} - - - org.hamcrest - hamcrest-all - 1.3 - test - - - org.hamcrest - hamcrest-core - 1.3 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - uk.co.datumedge - hamcrest-json - 0.2 - test - - - org.hdrhistogram - HdrHistogram - 2.1.8 - - - org.json - json - 20090211 - - - org.mockito - mockito-all - 1.9.5 - - - org.mockito - mockito-core - 1.9.5 - test - - - org.osgi - org.osgi.compendium - 4.3.0 - - - org.osgi - org.osgi.core - 4.3.0 - - - org.scala-lang - scala-library - ${scala.version} - - - org.scala-lang.modules - scala-parser-combinators_${scala.major-version} - 1.0.1 - - - org.scala-lang.modules - scala-xml_${scala.major-version} - 1.0.2 - - - org.scalatest - scalatest_${scala.major-version} - 2.2.2 - - - org.slf4j - jcl-over-slf4j - 1.7.5 - - - org.slf4j - log4j-over-slf4j - 1.7.5 - - - org.slf4j - slf4j-api - 1.7.5 - - - org.slf4j - slf4j-jdk14 - 1.7.5 - - - org.springframework - spring-test - 4.0.6.RELEASE - - - org.testng - testng - 6.10 - - - org.twdata.maven - mojo-executor - 2.3.0 - - - net.jcip - jcip-annotations - 1.0 - - - net.jpountz.lz4 - lz4 - 1.3.0 - - - net.spy - spymemcached - 2.10.1 - - - xerces - xercesImpl - 2.11.0 - - - org.bouncycastle - bcpkix-jdk15on - ${bouncycastle.version} - - - org.bouncycastle - bcprov-jdk15on - ${bouncycastle.version} - - - - javax.ws.rs - javax.ws.rs-api - ${javax.ws.rs-api.version} - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2.version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-json-jackson - ${jersey2.version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2.version} - - - org.glassfish.jersey.ext - jersey-proxy-client - ${jersey2.version} - - - org.glassfish.jersey.core - jersey-client - ${jersey2.version} - - - com.ibm.icu - icu4j - 57.1 - - - com.yahoo.athenz - athenz-zms-java-client - ${athenz.version} - - - com.yahoo.athenz - athenz-zts-java-client - ${athenz.version} - - - - - - 2.0.1 - 3.5.2 - 4.5 - 1.0.8 - 1.0.0 - 5.0.3 - - 1.7.28 - 1.58 - 2.6 - - 2.9.1 - 2.8.3 - 2.23.2 - 9.4.6.v20170531 - UTF-8 - UTF-8 - true - all - 2.11 - ${scala.major-version}.4 - 2.19.1 - - application application-deploy-plugin @@ -989,6 +53,7 @@ container-core container-accesslogging container-dependencies-enforcer + container-dependency-versions container-dev container-di container-disc @@ -1033,6 +98,7 @@ node-maintainer orchestrator-restapi orchestrator + parent predicate-search predicate-search-core processing diff --git a/predicate-search-core/pom.xml b/predicate-search-core/pom.xml index ea2995c4770..8ced58b840e 100644 --- a/predicate-search-core/pom.xml +++ b/predicate-search-core/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml predicate-search-core 6-SNAPSHOT diff --git a/predicate-search/pom.xml b/predicate-search/pom.xml index ca79544c766..289250012a0 100644 --- a/predicate-search/pom.xml +++ b/predicate-search/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml predicate-search 6-SNAPSHOT diff --git a/processing/pom.xml b/processing/pom.xml index 15aa984cbd2..9bb9ee77037 100644 --- a/processing/pom.xml +++ b/processing/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml processing jar diff --git a/provided-dependencies/pom.xml b/provided-dependencies/pom.xml index 18cdd294b87..33f1977c7e2 100755 --- a/provided-dependencies/pom.xml +++ b/provided-dependencies/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml provided-dependencies jar diff --git a/searchcore/pom.xml b/searchcore/pom.xml index f31617cfe53..3b43bf1205e 100644 --- a/searchcore/pom.xml +++ b/searchcore/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchcore 6-SNAPSHOT diff --git a/searchlib/pom.xml b/searchlib/pom.xml index c669903c3da..5f6717d9516 100644 --- a/searchlib/pom.xml +++ b/searchlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchlib container-plugin diff --git a/searchsummary/pom.xml b/searchsummary/pom.xml index 97a29655ad1..417e25ff944 100644 --- a/searchsummary/pom.xml +++ b/searchsummary/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml searchsummary 6-SNAPSHOT diff --git a/service-monitor/pom.xml b/service-monitor/pom.xml index c63bdf35574..6125b75819c 100644 --- a/service-monitor/pom.xml +++ b/service-monitor/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml service-monitor container-plugin diff --git a/serviceview/pom.xml b/serviceview/pom.xml index c3620ecfc9d..4357cc697b8 100644 --- a/serviceview/pom.xml +++ b/serviceview/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml serviceview container-plugin diff --git a/simplemetrics/pom.xml b/simplemetrics/pom.xml index d027fda82ce..02758b182e3 100644 --- a/simplemetrics/pom.xml +++ b/simplemetrics/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml simplemetrics container-plugin diff --git a/socket_test/pom.xml b/socket_test/pom.xml index 60d8b3713e9..0c6d5cd77f4 100644 --- a/socket_test/pom.xml +++ b/socket_test/pom.xml @@ -12,6 +12,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml jar diff --git a/standalone-container/pom.xml b/standalone-container/pom.xml index 9300181e00b..0d66951f364 100644 --- a/standalone-container/pom.xml +++ b/standalone-container/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml standalone-container 6-SNAPSHOT diff --git a/statistics/pom.xml b/statistics/pom.xml index 7bbef0ea3c0..521efa9a2a1 100644 --- a/statistics/pom.xml +++ b/statistics/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml statistics 6-SNAPSHOT diff --git a/storage/pom.xml b/storage/pom.xml index 49b103cbe34..e0b21d5a8a9 100644 --- a/storage/pom.xml +++ b/storage/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml storage 6-SNAPSHOT diff --git a/testutil/pom.xml b/testutil/pom.xml index 9f98f40c2d0..911c5654efe 100644 --- a/testutil/pom.xml +++ b/testutil/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml testutil jar diff --git a/vdslib/pom.xml b/vdslib/pom.xml index 48681b8ce83..5063489ed66 100644 --- a/vdslib/pom.xml +++ b/vdslib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vdslib container-plugin diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml index 2464c8208ad..980c8eee60f 100644 --- a/vespa-application-maven-plugin/pom.xml +++ b/vespa-application-maven-plugin/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-application-maven-plugin 6-SNAPSHOT diff --git a/vespa-documentgen-plugin/pom.xml b/vespa-documentgen-plugin/pom.xml index 4e96a0475f7..718b19ae994 100644 --- a/vespa-documentgen-plugin/pom.xml +++ b/vespa-documentgen-plugin/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-documentgen-plugin maven-plugin diff --git a/vespa-hadoop/pom.xml b/vespa-hadoop/pom.xml index b9fbd589525..62d9010b9fd 100644 --- a/vespa-hadoop/pom.xml +++ b/vespa-hadoop/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-hadoop 6-SNAPSHOT diff --git a/vespa-http-client/pom.xml b/vespa-http-client/pom.xml index 15d72b7c1c2..c336c641352 100644 --- a/vespa-http-client/pom.xml +++ b/vespa-http-client/pom.xml @@ -7,6 +7,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa-http-client 6-SNAPSHOT diff --git a/vespa_feed_perf/pom.xml b/vespa_feed_perf/pom.xml index f54b2df9b8a..436dcc06f3d 100644 --- a/vespa_feed_perf/pom.xml +++ b/vespa_feed_perf/pom.xml @@ -13,6 +13,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa_feed_perf 6-SNAPSHOT diff --git a/vespa_jersey2/pom.xml b/vespa_jersey2/pom.xml index 3250cd8a41f..781075fd041 100644 --- a/vespa_jersey2/pom.xml +++ b/vespa_jersey2/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespa_jersey2 6-SNAPSHOT diff --git a/vespaclient-container-plugin/pom.xml b/vespaclient-container-plugin/pom.xml index 59895438038..3472f3fcdc5 100644 --- a/vespaclient-container-plugin/pom.xml +++ b/vespaclient-container-plugin/pom.xml @@ -9,6 +9,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-container-plugin 6-SNAPSHOT diff --git a/vespaclient-core/pom.xml b/vespaclient-core/pom.xml index bdb15825fbb..2e427364bd6 100644 --- a/vespaclient-core/pom.xml +++ b/vespaclient-core/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-core 6-SNAPSHOT diff --git a/vespaclient-java/pom.xml b/vespaclient-java/pom.xml index 8cde41d53d7..d692a6ed57f 100644 --- a/vespaclient-java/pom.xml +++ b/vespaclient-java/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespaclient-java 6-SNAPSHOT diff --git a/vespajlib/pom.xml b/vespajlib/pom.xml index 1f98a5e4c02..81c385c96ab 100644 --- a/vespajlib/pom.xml +++ b/vespajlib/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespajlib container-plugin diff --git a/vespalog/pom.xml b/vespalog/pom.xml index 6cea5ab83d9..6443769afbe 100644 --- a/vespalog/pom.xml +++ b/vespalog/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vespalog 6-SNAPSHOT diff --git a/vsm/pom.xml b/vsm/pom.xml index 8c5b006aeec..3c491906060 100644 --- a/vsm/pom.xml +++ b/vsm/pom.xml @@ -8,6 +8,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml vsm 6-SNAPSHOT diff --git a/yolean/pom.xml b/yolean/pom.xml index d64ea29a95c..850daae6fea 100644 --- a/yolean/pom.xml +++ b/yolean/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml yolean 6-SNAPSHOT diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml index 45ba8c32372..f9cb8c42688 100644 --- a/zkfacade/pom.xml +++ b/zkfacade/pom.xml @@ -6,6 +6,7 @@ com.yahoo.vespa parent 6-SNAPSHOT + ../parent/pom.xml zkfacade container-plugin -- cgit v1.2.3 From 94d97265da8486c939d0f0c0ea1b80b5e63b0b07 Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Wed, 6 Dec 2017 12:27:27 +0100 Subject: Disallow ID strings with empty user/group values It does not make sense to have an empty value for these, as the value plays an explicit part of the document's distribution properties. --- .../com/yahoo/document/idstring/IdIdString.java | 6 +++ .../com/yahoo/document/DocumentIdTestCase.java | 45 +++++++++++++++++++--- 2 files changed, 45 insertions(+), 6 deletions(-) (limited to 'document') diff --git a/document/src/main/java/com/yahoo/document/idstring/IdIdString.java b/document/src/main/java/com/yahoo/document/idstring/IdIdString.java index 7fcb530b347..44ff08c73f0 100644 --- a/document/src/main/java/com/yahoo/document/idstring/IdIdString.java +++ b/document/src/main/java/com/yahoo/document/idstring/IdIdString.java @@ -62,6 +62,9 @@ public class IdIdString extends IdString { if (hasSetLocation) { throw new IllegalArgumentException("Illegal key combination in " + keyValues); } + if (value.isEmpty()) { + throw new IllegalArgumentException("ID location value for 'n=' key is empty"); + } location = Long.parseLong(value); hasSetLocation = true; hasNumber = true; @@ -70,6 +73,9 @@ public class IdIdString extends IdString { if (hasSetLocation) { throw new IllegalArgumentException("Illegal key combination in " + keyValues); } + if (value.isEmpty()) { + throw new IllegalArgumentException("ID location value for 'g=' key is empty"); + } location = makeLocation(value); hasSetLocation = true; hasGroup = true; diff --git a/document/src/test/java/com/yahoo/document/DocumentIdTestCase.java b/document/src/test/java/com/yahoo/document/DocumentIdTestCase.java index 79a10bc72e4..bd769889363 100644 --- a/document/src/test/java/com/yahoo/document/DocumentIdTestCase.java +++ b/document/src/test/java/com/yahoo/document/DocumentIdTestCase.java @@ -1,9 +1,12 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.document; -import com.yahoo.document.*; import com.yahoo.document.idstring.*; import com.yahoo.vespa.objects.BufferSerializer; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; import java.math.BigInteger; @@ -12,16 +15,20 @@ import java.util.regex.Pattern; import java.util.Arrays; import static org.hamcrest.Matchers.containsString; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; -public class DocumentIdTestCase extends junit.framework.TestCase { +public class DocumentIdTestCase { DocumentTypeManager manager = new DocumentTypeManager(); - public DocumentIdTestCase(String name) { - super(name); - } + @Rule + public ExpectedException expectedException = ExpectedException.none(); - protected void setUp() { + @Before + public void setUp() { DocumentType testDocType = new DocumentType("testdoc"); testDocType.addHeaderField("intattr", DataType.INT); @@ -33,6 +40,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { manager.registerDocumentType(testDocType); } + @Test public void testCompareTo() { DocumentId docId1 = new Document(manager.getDocumentType("testdoc"), new DocumentId("doc:testdoc:http://www.uio.no/")).getId(); DocumentId docId2 = new Document(manager.getDocumentType("testdoc"), new DocumentId("doc:testdoc:http://www.uio.no/")).getId(); @@ -56,6 +64,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { } } + @Test public void testValidInvalidUriSchemes() { try { //valid URIs @@ -92,9 +101,23 @@ public class DocumentIdTestCase extends junit.framework.TestCase { checkInvalidUri("id:namespace:type:n=0,g=foo:foo"); } + @Test + public void empty_user_location_value_throws_exception() { + expectedException.expect(IllegalArgumentException.class); + expectedException.expectMessage("ID location value for 'n=' key is empty"); + new DocumentId("id:namespace:type:n=:foo"); + } + + @Test + public void empty_group_location_value_throws_exception() { + expectedException.expect(IllegalArgumentException.class); + expectedException.expectMessage("ID location value for 'g=' key is empty"); + new DocumentId("id:namespace:type:g=:foo"); + } //Compares globalId with C++ implementation located in // ~document-HEAD/document/src/tests/cpp-globalidbucketids.txt + @Test public void testCalculateGlobalId() throws IOException{ String file = "src/tests/cpp-globalidbucketids.txt"; @@ -135,6 +158,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { //Compares bucketId with C++ implementation located in // ~document-HEAD/document/src/tests/cpp-globalidbucketids.txt + @Test public void testGetBucketId() throws IOException{ String file = "src/tests/cpp-globalidbucketids.txt"; BufferedReader fr = new BufferedReader(new FileReader(file)); @@ -153,6 +177,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { fr.close(); } + @Test public void testGroupdoc() { try { //valid @@ -166,11 +191,13 @@ public class DocumentIdTestCase extends junit.framework.TestCase { } } + @Test public void testInvalidGroupdoc() { checkInvalidUri("grouppdoc:blabla:something"); checkInvalidUri("groupdoc:blablasomething"); } + @Test public void testUriNamespace() { DocumentId docId = new DocumentId("doc:bar:foo"); assertEquals("doc:bar:foo", docId.toString()); @@ -217,6 +244,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { assertEquals(1268182861, ((OrderDocIdString)docId.getScheme()).getOrdering()); } + @Test public void testIdStrings() { DocumentId docId; docId = new DocumentId(new DocIdString("test", "baaaa")); @@ -240,6 +268,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { assertEquals("type", docId.getDocType()); } + @Test public void testIdStringFeatures() { DocumentId none = new DocumentId("id:ns:type::foo"); assertFalse(none.getScheme().hasGroup()); @@ -276,6 +305,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { assertEquals(42, order.getScheme().getNumber()); } + @Test public void testHashCodeOfGids() { DocumentId docId0 = new DocumentId("doc:blabla:0"); byte[] docId0Gid = docId0.getGlobalId(); @@ -295,6 +325,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { assertEquals(Arrays.hashCode(docId0Gid), Arrays.hashCode(docId0CopyGid)); } + @Test public void testDocumentIdCanOnlyContainTextCharacters() throws UnsupportedEncodingException { assertExceptionWhenConstructing(new byte[]{105, 100, 58, 97, 58, 98, 58, 58, 0, 99}, // "id:a:b::0x0c" "illegal code point 0x0"); @@ -313,6 +344,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { } } + @Test public void testSerializedDocumentIdCanContainNonTextCharacter() throws UnsupportedEncodingException { String strId = new String(new byte[]{105, 100, 58, 97, 58, 98, 58, 58, 7, 99}); // "id:a:b::0x7c" DocumentId docId = DocumentId.createFromSerialized(strId); @@ -328,6 +360,7 @@ public class DocumentIdTestCase extends junit.framework.TestCase { } } + @Test public void testSerializedDocumentIdCannotContainZeroByte() throws UnsupportedEncodingException { String strId = new String(new byte[]{105, 100, 58, 97, 58, 98, 58, 58, 0, 99}); // "id:a:b::0x0c" try { -- cgit v1.2.3 From 8d098a9dadc5e3fe7483ff1ba2aaae44d58dea38 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Mon, 11 Dec 2017 12:26:11 +0100 Subject: Don't inline FieldExprNode destructor. --- document/src/vespa/document/select/valuenodes.cpp | 2 ++ document/src/vespa/document/select/valuenodes.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'document') diff --git a/document/src/vespa/document/select/valuenodes.cpp b/document/src/vespa/document/select/valuenodes.cpp index a0bbde0d21b..837ebd873e3 100644 --- a/document/src/vespa/document/select/valuenodes.cpp +++ b/document/src/vespa/document/select/valuenodes.cpp @@ -1090,6 +1090,8 @@ ArithmeticValueNode::print(std::ostream& out, bool verbose, if (hadParentheses()) out << ')'; } +FieldExprNode::~FieldExprNode() = default; + std::unique_ptr FieldExprNode::convert_to_field_value() const { const auto& doctype = resolve_doctype(); // FIXME deprecate manual post-parsing of field expressions in favor of diff --git a/document/src/vespa/document/select/valuenodes.h b/document/src/vespa/document/select/valuenodes.h index 4257516d227..bc1ec0e01e8 100644 --- a/document/src/vespa/document/select/valuenodes.h +++ b/document/src/vespa/document/select/valuenodes.h @@ -199,7 +199,7 @@ public: FieldExprNode & operator = (const FieldExprNode &) = delete; FieldExprNode(FieldExprNode &&) = default; FieldExprNode & operator = (FieldExprNode &&) = default; - ~FieldExprNode() = default; + ~FieldExprNode(); std::unique_ptr convert_to_field_value() const; std::unique_ptr convert_to_function_call() const; -- cgit v1.2.3 From a1b922cd5170031b83087ffda9bfa143f31846d6 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 12 Dec 2017 19:43:04 +0100 Subject: Add workaround for ancient flex compiler. --- document/src/vespa/document/select/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) (limited to 'document') diff --git a/document/src/vespa/document/select/CMakeLists.txt b/document/src/vespa/document/select/CMakeLists.txt index eba5ddde40c..6dadd35e98a 100644 --- a/document/src/vespa/document/select/CMakeLists.txt +++ b/document/src/vespa/document/select/CMakeLists.txt @@ -39,3 +39,6 @@ vespa_add_library(document_select OBJECT AFTER document_documentconfig ) + +#TODO Remove once we have a recently new flex compiler. At least 2.5.38/39 or 2.6 +set_source_files_properties(${FLEX_DocSelLexer_OUTPUTS} PROPERTIES COMPILE_FLAGS -Wno-register) -- cgit v1.2.3