Compare commits

...

17 Commits

Author SHA1 Message Date
jzhao
5d8dc7531f chore(TDI-50507): bump component-runtime to 1.38.12 (#6576) 2023-11-23 10:47:17 +08:00
Oleksandr Zhelezniak
8a6b2ab76a chore(TDI-50555): bump connectors 1.27.27 2023-11-20 18:51:50 +02:00
jzhao
5d277417ae fix(TDI-50399): Json:20230227 | CVE-2023-5072 (#6562) 2023-11-20 11:51:01 +08:00
msjian
c4c8ab5ba6 fix(TDQ-21531) : fix run match analysis get error when check "store on disk"(#6549) 2023-11-10 17:45:13 +08:00
Jill Yan
f660181adf APPINT-35965 downgrade plexus-io (#6508)
* APPINT-35965 downgrade plexus-io

* APPINT-35965 downgrade plexus-io
2023-10-30 08:30:00 +08:00
sbliu
46bb67ab7e add dependency to new version guava for maven-assembly-plugin plugin (#6501) 2023-10-26 14:35:09 +08:00
sbliu
22891b2e99 fix missing guava in junit (#6498) 2023-10-25 17:43:48 +08:00
jiezhang-tlnd
4b208e9fe4 fix junit (#6496) 2023-10-25 12:08:07 +08:00
sbliu
2387b83d0f fix(TUP-40275) upgrade guava to 32.0.1-jre (#6398)
* fix(TUP-40275) upgrade guava to 32.0.1-jre

* revert some changes
2023-10-24 10:09:45 +08:00
Jane Ding
aec62af46c fix(TUP-40439):In the ".sysConfig" of "support logs" that gather (#6451)
* fix(TUP-40439):In the ".sysConfig" of "support logs" that gather
"nexus.password" value is plain text
https://jira.talendforge.org/browse/TUP-40439

* fix(TUP-40439):In the ".sysConfig" of "support logs" that gather
"nexus.password" value is plain text
https://jira.talendforge.org/browse/TUP-40439
2023-10-20 11:29:32 +08:00
apoltavtsev
34a0e52678 APPINT-35122: Incorrect routelet module inside root pom is corrected (#6457) 2023-10-11 16:16:13 +02:00
apoltavtsev
274bfb2d40 APPINT-35949: [731] Compile error for CI+route+routelet (#6450)
* APPINT-35949: [731] Compile error for CI+route+routelet

* Update SyncChildrenSourceCodeProvider.java

* Update SyncChildrenTestReportsProvider.java

* Update SyncChildrenContextsResourcesProvider.java

* Update SyncChildrenSourceCodeProvider.java

* Update SyncChildrenContextsResourcesProvider.java

* Update SyncChildrenSourceCodeProvider.java

* Update SyncChildrenTestReportsProvider.java
2023-10-09 17:28:42 +02:00
apoltavtsev
984814d620 APPINT-35418: Refer to wrong route in blueprint.xml when two routes use same routelet and deploy by CI (#6433) 2023-10-05 16:06:31 +02:00
Fabien Désiles
bbc6e17412 chore(TDI-50354): Bump Connectors 1.27.26 in Studio 7.3 (#6438)
https://jira.talendforge.org/browse/TDI-50354
2023-10-02 17:35:54 +02:00
zyuan-talend
6665603efc fix(TUP-39924): upgrade org.codehaus.plexus:plexus-archiver to 4.8.0,plexus-io to 3.4.1 , maven-assembly-plugin to 3.6.0 and plexus-util to 4.0.0 for incompatibility.. (#6356)
* fix(TUP-39924): upgrade org.codehaus.plexus:plexus-archiver to 4.8.0,
plexus-io to 3.4.1 , maven-assembly-plugin to 3.6.0 and plexus-util to
4.0.0 for incompatibility.

* fix(TUP-39924): plexus-archiver:3.6.0/4.2.0/4.2.1/4.2.2 |
CVE-2023-37460.
2023-09-21 16:30:44 +08:00
Emmanuel GALLOIS
ae1b013c5f feat(TDI-50266): bump component-runtime to 1.38.11 (#6409) 2023-09-20 10:54:58 +02:00
Emmanuel GALLOIS
8b0ea868e9 feat(TDI-48822): bump component-runtime to 1.38.10 (#6381) 2023-09-12 10:59:26 +02:00
26 changed files with 645 additions and 43 deletions

View File

@@ -728,8 +728,8 @@ public final class ProcessUtils {
}
return null;
}
private static boolean isRoute(Property property) {
public static boolean isRoute(Property property) {
return property!= null && (ERepositoryObjectType.getType(property).equals(ERepositoryObjectType.PROCESS_ROUTE) ||
ERepositoryObjectType.getType(property).equals(ERepositoryObjectType.PROCESS_ROUTE_MICROSERVICE));
}
@@ -768,6 +768,39 @@ public final class ProcessUtils {
return false;
}
public static boolean isRouteWithRoutelets(Item item) {
if (item!= null && item instanceof ProcessItem) {
for (Object obj : ((ProcessItem) item).getProcess().getNode()) {
if (obj instanceof NodeType) {
if (isRouteletNode((NodeType) obj)) {
return true;
}
}
}
}
return false;
}
public static boolean isRouteletNode(NodeType node) {
String jobIds = getParameterValue(node.getElementParameter(), "PROCESS_TYPE:PROCESS_TYPE_PROCESS");
String jobVersion = getParameterValue(node.getElementParameter(), "PROCESS_TYPE:PROCESS_TYPE_VERSION"); //$NON-NLS-1$
ProcessItem processItem = ItemCacheManager.getProcessItem(jobIds, jobVersion);
if (processItem != null) {
return ERepositoryObjectType.getType(processItem.getProperty()).equals(
ERepositoryObjectType.PROCESS_ROUTELET);
}
return false;
}
public static String getParameterValue(EList<ElementParameterType> listParamType, String paramName) {
for (ElementParameterType pType : listParamType) {
if (pType != null && paramName.equals(pType.getName())) {
return pType.getValue();
}
}
return null;
}
public static int getAssertAmount(IProcess process) {
int count = 0;
@@ -1058,6 +1091,28 @@ public final class ProcessUtils {
}
return false;
}
public static boolean isChildRouteProcess(Item item) {
if (item!= null && item instanceof ProcessItem) {
for (Object obj : ((ProcessItem) item).getProcess().getNode()) {
if (obj instanceof NodeType) {
if (((NodeType) obj).getComponentName().equals("tRouteInput")) {
return true;
}
}
}
}
return false;
}
public static boolean isRoutelet(Property p) {
if (p != null) {
return ERepositoryObjectType.getType(p).equals(ERepositoryObjectType.PROCESS_ROUTELET);
}
return false;
}
public static String escapeJava(String input) {
return StringEscapeUtils.escapeJava(input);

View File

@@ -42,6 +42,8 @@ public class JobInfoProperties extends Properties {
public static final String PROJECT_NAME = "project"; //$NON-NLS-1$
public static final String JOB_ID = "jobId"; //$NON-NLS-1$
public static final String JOB_PARENT_ID = "jobParentId"; //$NON-NLS-1$
public static final String JOB_NAME = "job"; //$NON-NLS-1$
@@ -92,6 +94,10 @@ public class JobInfoProperties extends Properties {
setProperty(BRANCH, branchSelection);
}
if (processItem.getProperty() != null && processItem.getProperty().getParentItem() != null) {
setProperty(JOB_PARENT_ID, processItem.getProperty().getParentItem().getProperty().getId());
}
setProperty(JOB_ID, jobInfo.getJobId());
setProperty(JOB_NAME, jobInfo.getJobName());
String jobType = processItem.getProcess().getJobType();

View File

@@ -22,6 +22,8 @@ public interface IBuildParametes {
static final String SERVICE = "Service"; //$NON-NLS-1$
static final String ITEM = "Item"; //$NON-NLS-1$
static final String PARENT_ITEM = "ParentItem"; //$NON-NLS-1$
static final String VERSION = "Version"; //$NON-NLS-1$

View File

@@ -1608,6 +1608,11 @@ public class ProcessorUtilities {
}
}
// if (isCIMode() && "Routelets".equals(node.getComponent().getOriginalFamilyName())) {
if ("Routelets".equals(node.getComponent().getOriginalFamilyName())) {
processItem.getProperty().setParentItem(ItemCacheManager.getProcessItem(currentProcess.getId(), currentProcess.getVersion()));
}
int subJobOption = GENERATE_ALL_CHILDS;
if (BitwiseOptionUtils.containOption(option, GENERATE_WITH_FIRST_CHILD)) {
subJobOption = GENERATE_MAIN_ONLY;
@@ -2547,7 +2552,7 @@ public class ProcessorUtilities {
return jobInfos;
}
private static boolean isRouteletNode(NodeType node) {
public static boolean isRouteletNode(NodeType node) {
String jobIds = getParameterValue(node.getElementParameter(), "PROCESS_TYPE:PROCESS_TYPE_PROCESS");
String jobVersion = getParameterValue(node.getElementParameter(), "PROCESS_TYPE:PROCESS_TYPE_VERSION"); //$NON-NLS-1$
ProcessItem processItem = ItemCacheManager.getProcessItem(jobIds, jobVersion);
@@ -2945,4 +2950,12 @@ public class ProcessorUtilities {
public static boolean isNeedExportItemsForDQ() {
return needExportItemsForDQ;
}
public static boolean isMicroservice(Item item) {
if (item == null || item.getProperty() == null || item.getProperty().getAdditionalProperties() == null) {
return false;
}
return "ROUTE_MICROSERVICE".equals(item.getProperty().getAdditionalProperties()
.get(TalendProcessArgumentConstant.ARG_BUILD_TYPE));
}
}

View File

@@ -44,6 +44,11 @@
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -39,12 +39,22 @@
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@@ -88,10 +98,35 @@
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.2.0</version>
<exclusions><!-- fix CVE to plexus-io:3.2.0-->
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
@@ -104,6 +139,11 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>

View File

@@ -26,12 +26,16 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
@@ -39,6 +43,16 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<build>

View File

@@ -19,8 +19,17 @@
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
@@ -48,7 +57,7 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.commons</groupId>
@@ -56,6 +65,16 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -41,6 +41,11 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
@@ -98,7 +103,7 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<version>3.6.0</version>
<exclusions>
<exclusion>
<groupId>commons-codec</groupId>
@@ -107,15 +112,23 @@
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@@ -183,6 +196,21 @@
<artifactId>jboss-marshalling</artifactId>
<version>2.0.12.Final</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -42,7 +42,7 @@
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20230227</version>
<version>20231013</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
@@ -221,6 +221,11 @@
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -10,7 +10,7 @@
<artifactId>studio-tacokit-dependencies</artifactId>
<packaging>pom</packaging>
<properties>
<tacokit.components.version>1.27.25</tacokit.components.version>
<tacokit.components.version>1.27.27</tacokit.components.version>
</properties>
<repositories>
<repository>

View File

@@ -11,7 +11,7 @@
<packaging>pom</packaging>
<properties>
<tcomp.version>1.38.9</tcomp.version>
<tcomp.version>1.38.12</tcomp.version>
<slf4j.version>1.7.32</slf4j.version>
<log4j2.version>2.17.1</log4j2.version>
<reload4j.version>1.2.19</reload4j.version>

View File

@@ -44,7 +44,17 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.24</version>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -64,13 +74,18 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -93,6 +108,11 @@
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -103,9 +123,14 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.24</version>
<version>4.0.0</version>
</dependency>
<dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
@@ -118,12 +143,12 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.0.0</version>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
@@ -135,6 +160,11 @@
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
<configuration>
<archive>
@@ -145,7 +175,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<version>3.6.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
@@ -155,7 +185,12 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.24</version>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-xml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -170,13 +205,18 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -204,11 +244,21 @@
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
</dependency>
</dependencies>
</plugin>
<plugin>

View File

@@ -45,6 +45,7 @@ public enum ETalendMavenVariables {
JobletName,
JobId,
JobParentId,
JobName,
JobType,
JobFinalName,

View File

@@ -25,7 +25,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -35,7 +34,6 @@ import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.model.Activation;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.Profile;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
@@ -58,6 +56,7 @@ import org.eclipse.swt.widgets.Display;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.utils.MojoType;
import org.talend.commons.utils.VersionUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IESBService;
import org.talend.core.ILibraryManagerService;
@@ -67,6 +66,7 @@ import org.talend.core.model.general.ILibrariesService;
import org.talend.core.model.general.ModuleNeeded;
import org.talend.core.model.general.ModuleNeeded.ELibraryInstallStatus;
import org.talend.core.model.general.Project;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.process.ProcessUtils;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.ProjectReference;
@@ -99,6 +99,7 @@ import org.talend.designer.maven.utils.MavenProjectUtils;
import org.talend.designer.maven.utils.PomIdsHelper;
import org.talend.designer.maven.utils.PomUtil;
import org.talend.designer.runprocess.IRunProcessService;
import org.talend.designer.runprocess.ProcessorUtilities;
import org.talend.repository.ProjectManager;
import org.talend.repository.RepositoryWorkUnit;
import org.talend.repository.model.RepositoryConstants;
@@ -631,9 +632,37 @@ public class AggregatorPomsHelper {
public String getJobProjectName(Property property) {
return projectTechName + "_" + getJobProjectFolderName(property).toUpperCase(); //$NON-NLS-1$
}
public static String getJobLabel(Property property) {
if (property == null) {
return "";
}
if (property.getParentItem() != null) {
Property parentProperty = property.getParentItem().getProperty();
return parentProperty.getLabel() + "_" + parentProperty.getVersion().replace(".", "_") + "_" + property.getLabel();
}
return property.getLabel();
}
public static String getJobId(Property property) {
if (property == null) {
return "";
}
if (property.getParentItem() != null) {
Property parentProperty = property.getParentItem().getProperty();
return property.getId() + "_" + parentProperty.getId() + "_" + parentProperty.getVersion().replace(".", "_");
}
return property.getId();
}
public static String getJobProjectFolderName(Property property) {
return getJobProjectFolderName(property.getLabel(), property.getVersion());
return getJobProjectFolderName(getJobLabel(property), property.getVersion());
}
public static String getJobProjectFolderName(String label, String version) {
@@ -642,7 +671,7 @@ public class AggregatorPomsHelper {
public static String getJobProjectId(Property property) {
String _projectTechName = ProjectManager.getInstance().getProject(property).getTechnicalLabel();
return getJobProjectId(_projectTechName, property.getId(), property.getVersion());
return getJobProjectId(_projectTechName, getJobId(property), property.getVersion());
}
public static String getJobProjectId(String projectTechName, String id, String version) {
@@ -683,7 +712,7 @@ public class AggregatorPomsHelper {
AggregatorPomsHelper helper = new AggregatorPomsHelper(projectTechName);
IPath itemRelativePath = getItemRelativePath.apply(property);
String version = realVersion == null ? property.getVersion() : realVersion;
String jobFolderName = getJobProjectFolderName(property.getLabel(), version);
String jobFolderName = getJobProjectFolderName(getJobLabel(property), version);
ERepositoryObjectType type = ERepositoryObjectType.getItemType(property.getItem());
IFolder jobFolder = null;
if (PomIdsHelper.skipFolders()) {
@@ -978,6 +1007,12 @@ public class AggregatorPomsHelper {
}
Item item = object.getProperty().getItem();
if (ProjectManager.getInstance().isInCurrentMainProject(item)) {
// remove original child routelets projects as they will be created during parent Route generation
if (ProcessUtils.isRoutelet(item.getProperty())) {
continue;
}
monitor.subTask("Synchronize job pom: " + item.getProperty().getLabel() //$NON-NLS-1$
+ "_" + item.getProperty().getVersion()); //$NON-NLS-1$
if (runProcessService != null) {
@@ -993,11 +1028,92 @@ public class AggregatorPomsHelper {
modules.add(getModulePath(pomFile));
}
}
}
monitor.worked(1);
if (monitor.isCanceled()) {
return;
}
monitor.worked(1);
if (monitor.isCanceled()) {
return;
}
// Generate individual routelet projects/poms for each Route (CI mode only)
if (ProcessUtils.isRoute(item.getProperty()) && ProcessUtils.isRouteWithRoutelets(item)) {
Set<JobInfo> allJobInfos = ProcessorUtilities.getChildrenJobInfo(item, true, true);
for (JobInfo childJob : allJobInfos) {
if (childJob.getProcessItem() != null && childJob.getProcessItem().getProperty() != null ) {
if (!ProcessUtils.isRoutelet(childJob.getProcessItem().getProperty())) {
continue;
}
Property childJobProperty = childJob.getProcessItem().getProperty();
String jobGroupID = (String) childJob.getProcessItem().getProperty().getAdditionalProperties().get(MavenConstants.NAME_GROUP_ID);
String jobCustomVersion = (String) childJob.getProcessItem().getProperty().getAdditionalProperties().get(MavenConstants.NAME_USER_VERSION);
boolean jobUseSnapshot = childJob.getProcessItem().getProperty().getAdditionalProperties().containsKey(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT);
Property routeProperty = item.getProperty();
String routeGroupID = PomIdsHelper.getJobGroupId(routeProperty);
String routeVersion = VersionUtils.getPublishVersion(routeProperty.getVersion());
String routeCustomVersion = (String) routeProperty.getAdditionalProperties().get(MavenConstants.NAME_USER_VERSION);
boolean routeUseSnapshot = routeProperty.getAdditionalProperties().containsKey(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT);
IFile routePomFile = getItemPomFolder(item.getProperty()).getFile(TalendMavenConstants.POM_FILE_NAME);
// Inherit child job parameters from parent route
childJobProperty.setParentItem(item);
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_GROUP_ID, routeGroupID);
if (routeCustomVersion != null) {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_USER_VERSION, routeCustomVersion);
} else {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_USER_VERSION, routeVersion);
}
if (routeUseSnapshot) {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT, "true");
} else {
childJobProperty.getAdditionalProperties().remove(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT);
}
runProcessService.generatePom(childJob.getProcessItem(), TalendProcessOptionConstants.GENERATE_POM_NO_FILTER);
IFile childPomFile = getItemPomFolder(childJobProperty).getFile(TalendMavenConstants.POM_FILE_NAME);
if (childPomFile.getProject().getName().equalsIgnoreCase(routePomFile.getProject().getName())) {
modules.add(getModulePath(childPomFile));
}
// restore original Job parameters
childJobProperty.setParentItem(null);
if ( jobGroupID!= null) {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_GROUP_ID, jobGroupID);
}else {
childJobProperty.getAdditionalProperties().remove(MavenConstants.NAME_GROUP_ID);
}
if (jobUseSnapshot) {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT, "true");
}else {
childJobProperty.getAdditionalProperties().remove(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT);
}
if (jobCustomVersion!=null) {
childJobProperty.getAdditionalProperties().put(MavenConstants.NAME_USER_VERSION, jobCustomVersion);
} else {
childJobProperty.getAdditionalProperties().remove(MavenConstants.NAME_USER_VERSION);
}
}
}
}
}
monitor.worked(1);
if (monitor.isCanceled()) {
return;
}
}
// sync project pom again with all modules.
monitor.subTask("Synchronize project pom with modules"); //$NON-NLS-1$

View File

@@ -149,10 +149,30 @@ public abstract class AbstractMavenProcessorPom extends CreateMavenBundleTemplat
variablesValuesMap.put(ETalendMavenVariables.JobGroupId, PomIdsHelper.getJobGroupId(property));
variablesValuesMap.put(ETalendMavenVariables.JobVersion, PomIdsHelper.getJobVersion(property));
}
variablesValuesMap.put(ETalendMavenVariables.JobArtifactId, PomIdsHelper.getJobArtifactId(property));
variablesValuesMap.put(ETalendMavenVariables.TalendJobVersion, property.getVersion());
final String jobName = JavaResourcesHelper.escapeFileName(process.getName());
variablesValuesMap.put(ETalendMavenVariables.JobName, jobName);
if(ProcessUtils.isRoutelet(property)) {
if(property.getParentItem() != null) {
String routeArtifactID = PomIdsHelper.getJobArtifactId(property.getParentItem().getProperty());
String jobArtifactID = PomIdsHelper.getJobArtifactId(property);
String routeVersion = property.getParentItem().getProperty().getVersion().replace(".", "_");
String jobName = (jobArtifactID.startsWith(routeArtifactID))? jobArtifactID :
routeArtifactID + "_" + routeVersion + "_" + jobArtifactID;
variablesValuesMap.put(ETalendMavenVariables.JobGroupId, PomIdsHelper.getJobGroupId(property.getParentItem().getProperty()));
variablesValuesMap.put(ETalendMavenVariables.JobArtifactId, jobName);
variablesValuesMap.put(ETalendMavenVariables.JobName, jobName);
variablesValuesMap.put(ETalendMavenVariables.JobVersion, PomIdsHelper.getJobVersion(property.getParentItem().getProperty()));
} else {
variablesValuesMap.put(ETalendMavenVariables.JobArtifactId, PomIdsHelper.getJobArtifactId(property));
final String jobName = JavaResourcesHelper.escapeFileName(process.getName());
variablesValuesMap.put(ETalendMavenVariables.JobName, jobName);
}
} else {
variablesValuesMap.put(ETalendMavenVariables.JobArtifactId, PomIdsHelper.getJobArtifactId(property));
final String jobName = JavaResourcesHelper.escapeFileName(process.getName());
variablesValuesMap.put(ETalendMavenVariables.JobName, jobName);
}
if (property != null) {
Project currentProject = ProjectManager.getInstance().getProject(property);

View File

@@ -267,6 +267,8 @@ public class CreateMavenJobPom extends AbstractMavenProcessorPom {
jobInfoProp.getProperty(JobInfoProperties.CONTEXT_NAME, context.getName()));
checkPomProperty(properties, "talend.job.id", ETalendMavenVariables.JobId,
jobInfoProp.getProperty(JobInfoProperties.JOB_ID, process.getId()));
checkPomProperty(properties, "talend.job.parent.id", ETalendMavenVariables.JobParentId,
jobInfoProp.getProperty(JobInfoProperties.JOB_PARENT_ID, ""));
checkPomProperty(properties, "talend.job.type", ETalendMavenVariables.JobType,
jobInfoProp.getProperty(JobInfoProperties.JOB_TYPE));

View File

@@ -10,4 +10,5 @@ bin.includes = META-INF/,\
templates/,\
lib/crypto-utils.jar,\
lib/slf4j-api-1.7.25.jar,\
distribution/license.json
distribution/license.json,\
lib/jboss-marshalling-2.0.12.Final.jar

View File

@@ -400,6 +400,36 @@ public interface PropertiesPackage extends EPackage {
*/
int ITEM = 6;
/**
* The meta object id for the parent '{@link org.talend.core.model.properties.impl.ItemImpl <em>Item</em>}' class. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @see org.talend.core.model.properties.impl.ItemImpl
* @see org.talend.core.model.properties.impl.PropertiesPackageImpl#getParentItem()
* @generated
*/
int PARENT_ITEM = 109;
/**
* The meta object id for the '{@link org.talend.core.model.properties.impl.ItemImpl <em>Item</em>}' class. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @see org.talend.core.model.properties.impl.ItemImpl
* @see org.talend.core.model.properties.impl.PropertiesPackageImpl#getParentItem()
* @generated
*/
int PARENT_ITEM__PROPERTY = 110;
/**
* The feature id for the parent '<em><b>Item</b></em>' reference.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
* @ordered
*/
int PROPERTY__PARENT_ITEM = 111;
/**
* The meta object id for the '{@link org.talend.core.model.properties.impl.BusinessProcessItemImpl <em>Business Process Item</em>}' class.
* <!-- begin-user-doc --> <!-- end-user-doc -->

View File

@@ -419,5 +419,33 @@ public interface Property extends EObject {
* @generated
*/
void setItem(Item value);
/**
* Returns the value of the parent '<em><b>Item</b></em>' reference. It is bidirectional and its opposite is '
* {@link org.talend.core.model.properties.Item#getProperty <em>Property</em>}'. <!-- begin-user-doc -->
* <p>
* If the meaning of the parent '<em>Item</em>' reference isn't clear, there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
*
* @return the value of the parent'<em>Item</em>' reference.
* @see #setParentItem(Item)
* @see org.talend.core.model.properties.PropertiesPackage#getProperty_Item()
* @see org.talend.core.model.properties.Item#getProperty
* @model opposite="property"
* @generated
*/
Item getParentItem();
/**
* Sets the value of the parent '{@link org.talend.core.model.properties.Property#getItem <em>Item</em>}' reference. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @param value the new value of the parent '<em>Item</em>' reference.
* @see #getParentItem()
* @generated
*/
void setParentItem(Item value);
} // Property

View File

@@ -227,6 +227,17 @@ public class PropertyImpl extends EObjectImpl implements Property {
* @ordered
*/
protected Item item;
/**
* The cached value of the parent '{@link #getParentItem() <em>Item</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getParentItem()
* @generated
* @ordered
*/
protected Item parentItem;
/**
* The cached value of the '{@link #getAuthor() <em>Author</em>}' reference.
@@ -542,6 +553,23 @@ public class PropertyImpl extends EObjectImpl implements Property {
}
return item;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Item getParentItem() {
if (parentItem != null && parentItem.eIsProxy()) {
InternalEObject oldItem = (InternalEObject)parentItem;
parentItem = (Item)eResolveProxy(oldItem);
if (parentItem != oldItem) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, PropertiesPackage.PROPERTY__PARENT_ITEM, oldItem, parentItem));
}
}
return parentItem;
}
/**
* <!-- begin-user-doc -->
@@ -551,6 +579,15 @@ public class PropertyImpl extends EObjectImpl implements Property {
public Item basicGetItem() {
return item;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Item basicGetParentItem() {
return parentItem;
}
/**
* <!-- begin-user-doc -->
@@ -585,6 +622,13 @@ public class PropertyImpl extends EObjectImpl implements Property {
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.PROPERTY__ITEM, newItem, newItem));
}
public void setParentItem(Item newItem) {
Item oldItem = parentItem;
parentItem = newItem;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.PROPERTY__PARENT_ITEM, oldItem, newItem));
}
/**
* <!-- begin-user-doc -->

View File

@@ -457,7 +457,41 @@ public class ExportLogsWizardPage extends WizardPage {
for (Entry<Object, Object> en : p.entrySet()) {
sb.append(en.getKey() + "=" + en.getValue() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
}
writeToFile(dest, ".sysConfig", sb); //$NON-NLS-1$
StringBuffer processedData = processSensitiveDataHidden(sb.toString());
writeToFile(dest, ".sysConfig", processedData); //$NON-NLS-1$
}
private StringBuffer processSensitiveDataHidden(String data) {
StringBuffer processedData = new StringBuffer();
while (true) {
String line;
int index = data.indexOf("\n");
if (index == -1) {
line = data.toString();
String processedLine = line;
int equalsIndex = line.indexOf('=');
if (equalsIndex != -1) {
String key = line.substring(0, equalsIndex).trim();
if (key.toLowerCase().contains("password")) {
processedLine = key + "=" + "***";
}
}
processedData.append(processedLine);
break;
}
line = data.substring(0, index);
String processedLine = line;
int equalsIndex = line.indexOf('=');
if (equalsIndex != -1) {
String key = line.substring(0, equalsIndex).trim();
if (key.toLowerCase().contains("password")) {
processedLine = key + "=" + "***";
}
}
processedData.append(processedLine).append("\n");
data = data.substring(index + 1);
}
return processedData;
}
private void writeToFile(File dest, String fileName, StringBuffer sb) {

View File

@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.process.ProcessUtils;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.runtime.process.ITalendProcessJavaProject;
import org.talend.core.runtime.repository.build.IBuildResourcesProvider;
@@ -70,6 +71,9 @@ public class SyncChildrenContextsResourcesProvider implements IBuildResourcesPro
final IFolder mainResourcesFolder = processJavaProject.getExternalResourcesFolder();
final File targetFolder = mainResourcesFolder.getLocation().toFile();
dependenciesItems.stream().filter(jobInfo -> !jobInfo.isJoblet()).map(JobInfo::getProcessItem).forEach(item -> {
if (ProcessUtils.isRoutelet(item.getProperty())) {
item.getProperty().setParentItem(processItem);
}
ITalendProcessJavaProject childJavaProject = runProcessService.getTalendJobJavaProject(item.getProperty());
if (childJavaProject != null) {
final IFolder childResourcesFolder = childJavaProject.getExternalResourcesFolder();

View File

@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.process.ProcessUtils;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.runtime.process.ITalendProcessJavaProject;
import org.talend.core.runtime.repository.build.IBuildResourcesProvider;
@@ -67,6 +68,9 @@ public class SyncChildrenSourceCodeProvider implements IBuildResourcesProvider {
final File targetFolder = mainSrcFolder.getLocation().toFile();
dependenciesItems.stream().filter(jobInfo -> !jobInfo.isJoblet()).map(JobInfo::getProcessItem).forEach(item -> {
if (ProcessUtils.isRoutelet(item.getProperty())) {
item.getProperty().setParentItem(processItem);
}
ITalendProcessJavaProject childJavaProject = runProcessService.getTalendJobJavaProject(item.getProperty());
if (childJavaProject != null) {
final IFolder childSrcFolder = childJavaProject.getSrcFolder();

View File

@@ -22,6 +22,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.process.ProcessUtils;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.runtime.process.ITalendProcessJavaProject;
import org.talend.core.runtime.repository.build.IBuildResourcesProvider;
@@ -65,6 +66,9 @@ public class SyncChildrenTestReportsProvider implements IBuildResourcesProvider
if (jobInfo.isJoblet()) {
continue;
}
if (ProcessUtils.isRoutelet(jobInfo.getProcessItem().getProperty())) {
jobInfo.getProcessItem().getProperty().setParentItem(processItem);
}
ITalendProcessJavaProject childJavaProject = runProcessService
.getTalendJobJavaProject(jobInfo.getProcessItem().getProperty());
if (childJavaProject != null) {

View File

@@ -27,6 +27,11 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</exclusion>
<!-- for TUP-39614 -->
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@@ -44,7 +49,29 @@
<artifactId>plexus-component-annotations</artifactId>
<version>1.7.1</version>
</dependency>
<!-- TUP-39924 start-->
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.6.0</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
</dependency>
<!-- TUP-39924 end -->
</dependencies>
<build>
<plugins>
@@ -102,6 +129,56 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-artifact</id>
<phase>generate-sources</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.9.3</version>
<type>pom</type>
<overWrite>false</overWrite>
<outputDirectory>${project.basedir}/tmp/org/junit/junit-bom/5.9.3</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.7.2</version>
<type>pom</type>
<overWrite>false</overWrite>
<outputDirectory>${project.basedir}/tmp/org/junit/junit-bom/5.7.2</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.apache.maven</groupId>
<artifactId>maven-bom</artifactId>
<version>4.0.0-alpha-5</version>
<type>pom</type>
<overWrite>false</overWrite>
<outputDirectory>${project.basedir}/tmp/org/apache/maven/maven-bom/4.0.0-alpha-5</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.2.0</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.basedir}/tmp/org/codehaus/plexus/plexus-io/3.2.0</outputDirectory>
</artifactItem>
</artifactItems>
<outputDirectory>${project.basedir}/tmp</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>