com.liferay.jenkins.results.parser.test.clazz.RESTBuilderModulesTestClass Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.jenkins.results.parser
Show all versions of com.liferay.jenkins.results.parser
Liferay Jenkins Results Parser
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.jenkins.results.parser.test.clazz;
import com.liferay.jenkins.results.parser.test.clazz.group.BatchTestClassGroup;
import java.io.File;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;
/**
* @author Michael Hashimoto
*/
public class RESTBuilderModulesTestClass extends ModulesTestClass {
protected RESTBuilderModulesTestClass(
BatchTestClassGroup batchTestClassGroup, File testClassFile) {
super(batchTestClassGroup, testClassFile, "buildREST");
}
protected RESTBuilderModulesTestClass(
BatchTestClassGroup batchTestClassGroup, JSONObject jsonObject) {
super(batchTestClassGroup, jsonObject);
}
@Override
protected List getModulesProjectDirs() {
final List modulesProjectDirs = new ArrayList<>();
Path moduleBaseDirPath = getModuleBaseDirPath();
try {
Files.walkFileTree(
moduleBaseDirPath,
new SimpleFileVisitor() {
@Override
public FileVisitResult preVisitDirectory(
Path filePath,
BasicFileAttributes basicFileAttributes) {
File currentDirectory = filePath.toFile();
String filePathString = filePath.toString();
if (filePathString.endsWith("-impl")) {
File restConfigYAMLFile = new File(
currentDirectory, "rest-config.yaml");
File restOpenAPIYAMLFile = new File(
currentDirectory, "rest-openapi.yaml");
if (restConfigYAMLFile.exists() &&
restOpenAPIYAMLFile.exists()) {
modulesProjectDirs.add(currentDirectory);
return FileVisitResult.SKIP_SUBTREE;
}
}
return FileVisitResult.CONTINUE;
}
});
}
catch (IOException ioException) {
throw new RuntimeException(
"Unable to get module marker files from " + moduleBaseDirPath,
ioException);
}
return modulesProjectDirs;
}
}