logic: fixed Maven setup not working for project without sub-modules

This commit is contained in:
mlangkabel
2018-01-08 16:38:31 +01:00
parent 5bd37772fe
commit 978cf4f4ed
14 changed files with 429 additions and 1 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ namespace utility
size_t startLine = 0;
for (size_t i = 1; i <= outputAccess->getLineCount(); i++)
{
if (utility::isPrefix("<?xml", utility::trim(outputAccess->getLine(i))))
if (utility::isPrefix("<", utility::trim(outputAccess->getLine(i))))
{
startLine = i;
break;
+1
View File
@@ -33,6 +33,7 @@ add_files(
StorageTestSuite.h
TaskSchedulerTestSuite.h
TextAccessTestSuite.h
UtilityMavenTestSuite.h
UtilityStringTestSuite.h
Vector2TestSuite.h
+115
View File
@@ -0,0 +1,115 @@
#include "cxxtest/TestSuite.h"
#include "utility/file/FilePath.h"
#include "utility/utilityMaven.h"
#include "utility/utilityPathDetection.h"
class UtilityMavenTestSuite : public CxxTest::TestSuite
{
public:
void test_maven_path_detector_is_working()
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
TS_ASSERT(mavenPathDetector->isWorking());
}
void test_maven_wrapper_detects_source_directories_of_simple_projects()
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
TS_ASSERT(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath("data/UtilityMavenTestSuite/simple_maven_project"), false
);
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/simple_maven_project/src/main/java").makeAbsolute()
));
TS_ASSERT(!utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/simple_maven_project/src/test/java").makeAbsolute()
));
}
}
void test_maven_wrapper_detects_source_and_test_directories_of_simple_projects()
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
TS_ASSERT(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath("data/UtilityMavenTestSuite/simple_maven_project"), true
);
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/simple_maven_project/src/main/java").makeAbsolute()
));
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/simple_maven_project/src/test/java").makeAbsolute()
));
}
}
void test_maven_wrapper_detects_source_directories_of_nested_modules()
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
TS_ASSERT(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath("data/UtilityMavenTestSuite/nested_maven_project"), false
);
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_1/src/main/java").makeAbsolute()
));
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_2/src/main/java").makeAbsolute()
));
TS_ASSERT(!utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_1/src/test/java").makeAbsolute()
));
TS_ASSERT(!utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_2/src/test/java").makeAbsolute()
));
}
}
void test_maven_wrapper_detects_source_and_test_directories_of_nested_modules()
{
std::shared_ptr<PathDetector> mavenPathDetector = utility::getMavenExecutablePathDetector();
TS_ASSERT(!mavenPathDetector->getPaths().empty());
if (!mavenPathDetector->getPaths().empty())
{
std::vector<FilePath> result = utility::mavenGetAllDirectoriesFromEffectivePom(
mavenPathDetector->getPaths().front(), FilePath("data/UtilityMavenTestSuite/nested_maven_project"), true
);
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_1/src/main/java").makeAbsolute()
));
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_2/src/main/java").makeAbsolute()
));
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_1/src/test/java").makeAbsolute()
));
TS_ASSERT(utility::containsElement<FilePath>(
result, FilePath("data/UtilityMavenTestSuite/nested_maven_project/module_2/src/test/java").makeAbsolute()
));
}
}
};