Compare commits

...

4 Commits

Author SHA1 Message Date
undx
0d23acac28 Merge branch 'maintenance/7.3' into undx/TCOMP-1752_JobServer 2020-08-12 13:15:00 +02:00
undx
903c239444 feat(TCOMP-1752): add TaCoKit Resources folders 2020-08-09 19:48:16 +02:00
undx
071777f408 feat(TCOMP-1752): skip TaCoKit dependencies 2020-08-09 19:48:06 +02:00
undx
a5c9ecb967 feat(TCOMP-1752): remove TaCoKit dependencies 2020-08-09 19:47:52 +02:00
4 changed files with 46 additions and 9 deletions

View File

@@ -51,6 +51,11 @@ public interface ITalendProcessJavaProject {
*/
IFolder getExternalResourcesFolder();
/**
* src/main/tacokit-resources as external resources folder
*/
IFolder getTaCoKitResourcesFolder();
/**
* src/main/resources as internal resources folder
*/

View File

@@ -1492,13 +1492,15 @@ public class ProcessorUtilities {
}
while (relativepath.hasNext()) {
String relativePath = relativepath.next();
Set<URL> sources = resouece.getResourcesByRelativePath(relativePath);
for (URL sourceUrl : sources) {
File currentResource = new File(
org.talend.commons.utils.io.FilesUtils.getFileRealPath(sourceUrl.getPath()));
if (currentResource.exists()) {
FilesUtils.copyDirectory(currentResource, new File(
targetFolder.getLocation().toPortableString() + File.separator + pathStr));
if (!(relativePath.startsWith("MAVEN-INF") || relativePath.startsWith("TALEND-INF"))) {
Set<URL> sources = resouece.getResourcesByRelativePath(relativePath);
for (URL sourceUrl : sources) {
File currentResource = new File(
org.talend.commons.utils.io.FilesUtils.getFileRealPath(sourceUrl.getPath()));
if (currentResource.exists()) {
FilesUtils.copyDirectory(currentResource, new File(
targetFolder.getLocation().toPortableString() + File.separator + pathStr));
}
}
}
}

View File

@@ -27,6 +27,8 @@ public class MavenSystemFolders {
public static final ProjectSystemFolder EXT_RESOURCES = new ProjectSystemFolder("src/main/ext-resources", "target/classes");
public static final ProjectSystemFolder TCK_RESOURCES = new ProjectSystemFolder("src/main/tacokit-resources", "target/classes");
public static final ProjectSystemFolder BUNDLE_RESOURCES = new ProjectSystemFolder("src/main/bundle-resources", "target/classes");
public static final ProjectSystemFolder RESOURCES_TEST = new ProjectSystemFolder("src/test/resources", "target/test-classes");

View File

@@ -34,6 +34,7 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.Property;
import org.talend.core.runtime.process.LastGenerationInfo;
import org.talend.core.runtime.process.TalendProcessOptionConstants;
import org.talend.core.service.ITaCoKitDependencyService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.designer.maven.utils.PomUtil;
import org.talend.designer.maven.utils.SortableDependency;
@@ -50,9 +51,16 @@ public class ProcessorDependenciesManager {
private final Property property;
private final ITaCoKitDependencyService tckService;
public ProcessorDependenciesManager(IProcessor processor) {
this.processor = processor;
property = processor.getProperty();
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITaCoKitDependencyService.class)) {
tckService = GlobalServiceRegister.getDefault().getService(ITaCoKitDependencyService.class);
} else {
tckService = null;
}
}
/**
@@ -61,10 +69,30 @@ public class ProcessorDependenciesManager {
@SuppressWarnings({ "rawtypes", "unchecked" })
public boolean updateDependencies(IProgressMonitor progressMonitor, Model model) throws ProcessorException {
try {
Set<ModuleNeeded> jobModules = new HashSet<>();
Set<ModuleNeeded> testcaseModules = new HashSet<>();
//
if (tckService != null && tckService
.hasTaCoKitComponents(tckService.getJobComponents(property.getItem()))) {
final Set<String> depsonly = tckService
.getTaCoKitOnlyDependencies(tckService.getJobComponents(property.getItem()));
for (ModuleNeeded module : getProcessNeededModules()) {
if (depsonly.stream().noneMatch(dep -> dep.equals(module.getModuleName()))) {
jobModules.add(module);
}
}
for (ModuleNeeded module : getTestcaseNeededModules(property)) {
if (depsonly.stream().noneMatch(dep -> dep.equals(module.getModuleName()))) {
testcaseModules.add(module);
}
}
} else {
jobModules = getProcessNeededModules();
testcaseModules = getTestcaseNeededModules(property);
}
//
Set<ModuleNeeded> neededLibraries = new HashSet<>();
Set<String> uniqueDependencies = new HashSet<>();
Set<ModuleNeeded> jobModules = getProcessNeededModules();
Set<ModuleNeeded> testcaseModules = getTestcaseNeededModules(property);
neededLibraries.addAll(jobModules);
neededLibraries.addAll(testcaseModules);
if (!neededLibraries.isEmpty()) {