From 12e1401fc1cc1b66d283ea08a9185eb0f4bbfc43 Mon Sep 17 00:00:00 2001 From: David Windell Date: Mon, 26 Jun 2017 11:29:14 +0100 Subject: [PATCH 01/11] Add Alpine support to ls-json (#4947) * Add Alpine support to ls-json Signed-off-by: David Windell * Add nodejs if not installed Signed-off-by: David Windell --- .../resources/org.eclipse.che.ls.json.script.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/agents/ls-json/src/main/resources/org.eclipse.che.ls.json.script.sh b/agents/ls-json/src/main/resources/org.eclipse.che.ls.json.script.sh index c520fee176..2f10505b90 100644 --- a/agents/ls-json/src/main/resources/org.eclipse.che.ls.json.script.sh +++ b/agents/ls-json/src/main/resources/org.eclipse.che.ls.json.script.sh @@ -139,6 +139,19 @@ elif echo ${LINUX_TYPE} | grep -qi "opensuse"; then ${SUDO} zypper in nodejs } +# Alpine 3.3 +############ +elif echo ${LINUX_TYPE} | grep -qi "alpine"; then + test "${PACKAGES}" = "" || { + ${SUDO} apk update + ${SUDO} apk add ${PACKAGES}; + } + + command -v nodejs >/dev/null 2>&1 || { + ${SUDO} apk update + ${SUDO} apk add nodejs; + } + else >&2 echo "Unrecognized Linux Type" >&2 cat $FILE From e30af7cfa2439a2a1ed52f530d018638cd2207c9 Mon Sep 17 00:00:00 2001 From: David Windell Date: Mon, 26 Jun 2017 11:31:04 +0100 Subject: [PATCH 02/11] Add Alpine support to ls-php (#4946) Signed-off-by: David Windell --- .../src/main/resources/org.eclipse.che.ls.php.script.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agents/ls-php/src/main/resources/org.eclipse.che.ls.php.script.sh b/agents/ls-php/src/main/resources/org.eclipse.che.ls.php.script.sh index a495a7ec73..73ca1cb081 100644 --- a/agents/ls-php/src/main/resources/org.eclipse.che.ls.php.script.sh +++ b/agents/ls-php/src/main/resources/org.eclipse.che.ls.php.script.sh @@ -94,6 +94,14 @@ elif echo ${LINUX_TYPE} | grep -qi "opensuse"; then test "${PACKAGES}" = "" || { ${SUDO} zypper install -y ${PACKAGES}; } + +# Alpine 3.3 +############ +elif echo ${LINUX_TYPE} | grep -qi "alpine"; then + test "${PACKAGES}" = "" || { + ${SUDO} apk update + ${SUDO} apk add ${PACKAGES}; + } else >&2 echo "Unrecognized Linux Type" From 7b15c1e519884dbc7c762158c509f4c5188fc973 Mon Sep 17 00:00:00 2001 From: Mykola Morhun Date: Mon, 26 Jun 2017 17:41:00 +0300 Subject: [PATCH 03/11] CODENVY-2284: Add additional logs if start from snapshot fail (#5465) --- .../environment/server/CheEnvironmentEngine.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/CheEnvironmentEngine.java b/wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/CheEnvironmentEngine.java index c78b30f561..c37607c4ac 100644 --- a/wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/CheEnvironmentEngine.java +++ b/wsmaster/che-core-api-workspace/src/main/java/org/eclipse/che/api/environment/server/CheEnvironmentEngine.java @@ -940,8 +940,11 @@ public class CheEnvironmentEngine { } } catch (NotFoundException e) { try { - machineLogger.writeLine("Failed to boot machine from snapshot: snapshot not found. " + - "Machine will be created from origin source."); + machineLogger.writeLine( + format("Failed to boot machine %s of workspace %s, because snapshot not found. " + + "The machine will be created from origin source.", + machine.getConfig().getName(), + machine.getWorkspaceId())); } catch (IOException ignore) { } } } @@ -949,8 +952,10 @@ public class CheEnvironmentEngine { instance = machineStarter.startMachine(machineLogger, machineSource); } catch (SourceNotFoundException e) { if (recover) { - LOG.error("Image of snapshot for machine " + machine.getConfig().getName() + - " not found. " + "Machine will be created from origin source."); + LOG.error(format("The snapshot of the image for the machine %s of the workspace %s not found. " + + "The machine will be created from origin source.", + machine.getConfig().getName(), + machine.getWorkspaceId())); machine = originMachine; instance = machineStarter.startMachine(machineLogger, null); } else { From 6f0b74ed25d73de07ebc63ffad3290d89f19cb9e Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Mon, 26 Jun 2017 17:56:19 +0300 Subject: [PATCH 04/11] Merge Bartlomiej Laczkowski PhpUnit testing PR (#5468) * Initial support for PHPUnit testing. Signed-off-by: Bartlomiej Laczkowski * Added improvements for exceptions handling and presentation model. Signed-off-by: Bartlomiej Laczkowski * Improved test results presentation model and tests execution rules. Signed-off-by: Bartlomiej Laczkowski * Small fixup after merge with master. Signed-off-by: Bartlomiej Laczkowski * Added combined printer file that conforms different PHPUnit versions. Signed-off-by: Bartlomiej Laczkowski * Fixed possible NPE issue while opening PHPUnit test case source file. Signed-off-by: Bartlomiej Laczkowski * Bump up PHPUnit plug-ins version to 5.12.0. * Small fixup after merge with master. Signed-off-by: Bartlomiej Laczkowski * Format code to be in line with Che code conventions. Signed-off-by: Bartlomiej Laczkowski * Small fix, add debugId Signed-off-by: Vitalii Parfonov --- assembly/assembly-ide-war/pom.xml | 4 + assembly/assembly-wsagent-war/pom.xml | 4 + .../testing/junit/server/JUnitTestRunner.java | 14 + .../testing/testng/server/TestNGRunner.java | 14 + .../che-plugin-testing-phpunit-ide/pom.xml | 76 +++ .../testing/phpunit/ide/PHPUnitGinModule.java | 30 ++ .../phpunit/ide/PHPUnitTestActionGroup.java | 60 +++ .../ide/PHPUnitTestLocalizationConstant.java | 34 ++ .../phpunit/ide/PHPUnitTestResources.java | 27 + .../ide/action/PHPRunContainerTestAction.java | 103 ++++ .../ide/action/PHPRunScriptTestAction.java | 98 ++++ .../action/PHPRunScriptTestEditorAction.java | 82 +++ .../plugin/testing/phpunit/PHPUnit.gwt.xml | 21 + ...PHPUnitTestLocalizationConstant.properties | 16 + .../plugin/testing/phpunit/ide/svg/test.svg | 18 + .../testing/phpunit/ide/svg/test_all.svg | 74 +++ .../che-plugin-testing-phpunit-server/pom.xml | 73 +++ .../phpunit/server/PHPUnitMessageParser.java | 145 ++++++ .../phpunit/server/PHPUnitTestEngine.java | 287 +++++++++++ .../server/PHPUnitTestResultsProvider.java | 181 +++++++ .../phpunit/server/PHPUnitTestRunner.java | 83 ++++ .../server/inject/PHPUnitGuiceModule.java | 32 ++ .../server/model/AbstractPHPUnitElement.java | 92 ++++ .../model/AbstractPHPUnitTestEvent.java | 69 +++ .../model/AbstractPHPUnitTestResult.java | 104 ++++ .../phpunit/server/model/PHPUnitTestCase.java | 103 ++++ .../server/model/PHPUnitTestException.java | 62 +++ .../phpunit/server/model/PHPUnitTestRoot.java | 37 ++ .../server/model/PHPUnitTestSuite.java | 123 +++++ .../server/model/PHPUnitTestWarning.java | 40 ++ .../server/model/PHPUnitTraceFrame.java | 80 +++ .../phpunit-printer/ZendPHPUnitLogger.php | 465 ++++++++++++++++++ .../plugin-testing-phpunit/pom.xml | 39 ++ plugins/plugin-testing-php/pom.xml | 45 ++ .../che-plugin-testing-ide/pom.xml | 9 +- .../plugin/testing/ide/TestActionRunner.java | 104 ++++ .../che/plugin/testing/ide/TestResources.java | 23 +- .../plugin/testing/ide/TestServiceClient.java | 32 +- .../testing/ide/inject/TestingGinModule.java | 6 +- .../testing/ide/view/TestResultPresenter.java | 24 +- .../testing/ide/view/TestResultView.java | 16 + .../testing/ide/view/TestResultViewImpl.java | 240 ++++++--- .../navigation/SimpleLocationHandler.java | 155 ++++++ .../view/navigation/TestClassNavigation.java | 2 + .../factory/TestResultNodeFactory.java | 22 +- .../nodes/AbstractTestResultTreeNode.java | 113 +++++ .../navigation/nodes/TestResultClassNode.java | 1 + .../navigation/nodes/TestResultGroupNode.java | 1 + .../nodes/TestResultMethodNode.java | 1 + .../view/navigation/nodes/TestResultNode.java | 107 ++++ .../navigation/nodes/TestResultRootNode.java | 94 ++++ .../nodes/TestResultTraceFrameNode.java | 93 ++++ .../testing/ide/svg/test_result_failure.svg | 52 ++ .../testing/ide/svg/test_result_skipped.svg | 52 ++ .../testing/ide/svg/test_result_success.svg | 52 ++ .../ide/svg/test_result_trace_frame.svg | 21 + .../testing/ide/svg/test_result_warning.svg | 52 ++ .../ide/view/TestResultViewImpl.ui.xml | 34 +- plugins/pom.xml | 1 + pom.xml | 10 + wsagent/che-core-api-testing-shared/pom.xml | 5 +- .../che/api/testing/shared/TestResult.java | 1 + .../shared/common/TestResultStatus.java | 22 + .../testing/shared/common/TestResultType.java | 22 + .../testing/shared/dto/SimpleLocationDto.java | 51 ++ .../api/testing/shared/dto/TestResultDto.java | 125 +++++ .../testing/shared/dto/TestResultRootDto.java | 124 +++++ .../shared/dto/TestResultTraceDto.java | 53 ++ .../shared/dto/TestResultTraceFrameDto.java | 51 ++ wsagent/che-core-api-testing/pom.xml | 6 +- .../api/testing/server/TestingService.java | 86 +++- .../exceptions/TestFrameworkException.java | 31 ++ .../testing/server/framework/TestRunner.java | 29 ++ ...gServiceTest.java => TestServiceTest.java} | 2 +- 74 files changed, 4526 insertions(+), 134 deletions(-) create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitGinModule.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestActionGroup.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestResources.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunContainerTestAction.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestAction.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestEditorAction.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/PHPUnit.gwt.xml create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.properties create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test.svg create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test_all.svg create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitMessageParser.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestEngine.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestResultsProvider.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestRunner.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/inject/PHPUnitGuiceModule.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitElement.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestEvent.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestResult.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestCase.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestException.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestRoot.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestSuite.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestWarning.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTraceFrame.java create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/resources/phpunit-printer/ZendPHPUnitLogger.php create mode 100644 plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml create mode 100644 plugins/plugin-testing-php/pom.xml create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestActionRunner.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/SimpleLocationHandler.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/AbstractTestResultTreeNode.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultNode.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultRootNode.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultTraceFrameNode.java create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_failure.svg create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_skipped.svg create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_success.svg create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_trace_frame.svg create mode 100644 plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_warning.svg create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultStatus.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultType.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/SimpleLocationDto.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultDto.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultRootDto.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceDto.java create mode 100644 wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceFrameDto.java create mode 100644 wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/exceptions/TestFrameworkException.java rename wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/{TestingServiceTest.java => TestServiceTest.java} (99%) diff --git a/assembly/assembly-ide-war/pom.xml b/assembly/assembly-ide-war/pom.xml index 30c14c8674..5d47e732e8 100644 --- a/assembly/assembly-ide-war/pom.xml +++ b/assembly/assembly-ide-war/pom.xml @@ -199,6 +199,10 @@ org.eclipse.che.plugin che-plugin-testing-junit-ide + + org.eclipse.che.plugin + che-plugin-testing-phpunit-ide + org.eclipse.che.plugin che-plugin-testing-testng-ide diff --git a/assembly/assembly-wsagent-war/pom.xml b/assembly/assembly-wsagent-war/pom.xml index 17318b4bda..81215e9305 100644 --- a/assembly/assembly-wsagent-war/pom.xml +++ b/assembly/assembly-wsagent-war/pom.xml @@ -115,6 +115,10 @@ org.eclipse.che.plugin che-plugin-testing-junit-server + + org.eclipse.che.plugin + che-plugin-testing-phpunit-server + org.eclipse.che.plugin che-plugin-testing-testng-server diff --git a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/src/main/java/org/eclipse/che/plugin/testing/junit/server/JUnitTestRunner.java b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/src/main/java/org/eclipse/che/plugin/testing/junit/server/JUnitTestRunner.java index ff4b536885..6725527de8 100644 --- a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/src/main/java/org/eclipse/che/plugin/testing/junit/server/JUnitTestRunner.java +++ b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/src/main/java/org/eclipse/che/plugin/testing/junit/server/JUnitTestRunner.java @@ -32,6 +32,8 @@ import org.eclipse.che.api.testing.server.listener.AbstractTestListener; import org.eclipse.che.api.testing.server.listener.OutputTestListener; import org.eclipse.che.api.testing.shared.TestCase; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.che.dto.server.DtoFactory; import org.eclipse.che.plugin.testing.classpath.server.TestClasspathProvider; import org.eclipse.che.plugin.testing.classpath.server.TestClasspathRegistry; @@ -542,4 +544,16 @@ public class JUnitTestRunner implements TestRunner { dtoResult.setTestCases(testList); return dtoResult; } + + @Override + public TestResultRootDto runTests(Map testParameters) throws Exception { + // New API - Not supported yet + return null; + } + + @Override + public List getTestResults(List testResultsPath) { + // New API - Not supported yet + return null; + } } diff --git a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/src/main/java/org/eclipse/che/plugin/testing/testng/server/TestNGRunner.java b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/src/main/java/org/eclipse/che/plugin/testing/testng/server/TestNGRunner.java index 8847d3bed0..866849b788 100644 --- a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/src/main/java/org/eclipse/che/plugin/testing/testng/server/TestNGRunner.java +++ b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/src/main/java/org/eclipse/che/plugin/testing/testng/server/TestNGRunner.java @@ -32,6 +32,8 @@ import org.eclipse.che.api.testing.server.listener.AbstractTestListener; import org.eclipse.che.api.testing.server.listener.OutputTestListener; import org.eclipse.che.api.testing.shared.TestCase; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.che.dto.server.DtoFactory; import org.eclipse.che.plugin.testing.classpath.server.TestClasspathProvider; import org.eclipse.che.plugin.testing.classpath.server.TestClasspathRegistry; @@ -350,4 +352,16 @@ public class TestNGRunner implements TestRunner { } }); } + + @Override + public TestResultRootDto runTests(Map testParameters) throws Exception { + // New API - Not supported yet + return null; + } + + @Override + public List getTestResults(List testResultsPath) { + // New API - Not supported yet + return null; + } } diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml new file mode 100644 index 0000000000..ec5907cbe2 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml @@ -0,0 +1,76 @@ + + + + 4.0.0 + + che-plugin-testing-phpunit + org.eclipse.che.plugin + 5.14.0-SNAPSHOT + + che-plugin-testing-phpunit-ide + Che Plugin :: PHP Testing :: PHPUnit IDE + + + com.google.inject + guice + + + javax.validation + validation-api + + + org.eclipse.che.core + che-core-commons-gwt + + + org.eclipse.che.core + che-core-ide-api + + + org.eclipse.che.core + che-core-ide-app + + + org.eclipse.che.plugin + che-plugin-testing-ide + + + org.vectomatic + lib-gwt-svg + + + com.google.gwt + gwt-user + provided + + + com.google.gwt.inject + gin + provided + + + + + + src/main/java + + **/*.java + + + + src/main/resources + + + + diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitGinModule.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitGinModule.java new file mode 100644 index 0000000000..a2b5cf6aad --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitGinModule.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide; + +import org.eclipse.che.ide.api.extension.ExtensionGinModule; +import org.eclipse.che.plugin.testing.ide.TestAction; + +import com.google.gwt.inject.client.AbstractGinModule; +import com.google.gwt.inject.client.multibindings.GinMultibinder; + +/** + * PHPUnit Gin module. + * + * @author Bartlomiej Laczkowski + */ +@ExtensionGinModule +public class PHPUnitGinModule extends AbstractGinModule { + @Override + protected void configure() { + GinMultibinder.newSetBinder(binder(), TestAction.class).addBinding().to(PHPUnitTestActionGroup.class); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestActionGroup.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestActionGroup.java new file mode 100644 index 0000000000..aa3989e071 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestActionGroup.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide; + +import org.eclipse.che.ide.api.action.Action; +import org.eclipse.che.ide.api.action.ActionManager; +import org.eclipse.che.ide.api.action.DefaultActionGroup; +import org.eclipse.che.ide.api.keybinding.KeyBindingAgent; +import org.eclipse.che.plugin.testing.ide.TestAction; +import org.eclipse.che.plugin.testing.phpunit.ide.action.PHPRunContainerTestAction; +import org.eclipse.che.plugin.testing.phpunit.ide.action.PHPRunScriptTestAction; +import org.eclipse.che.plugin.testing.phpunit.ide.action.PHPRunScriptTestEditorAction; + +import com.google.inject.Inject; + +/** + * PHPUnit test action implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestActionGroup implements TestAction { + + private final Action runScriptTestAction; + private final Action runScriptTestEditorAction; + private final Action runContainerTestAction; + + @Inject + public PHPUnitTestActionGroup(ActionManager actionManager, + PHPRunScriptTestAction runScriptTestAction, + PHPRunScriptTestEditorAction runScriptTestEditorAction, + PHPRunContainerTestAction runContainerTestAction, + KeyBindingAgent keyBinding) { + actionManager.registerAction("PHPRunScriptTestAction", runScriptTestAction); + actionManager.registerAction("PHPRunScriptTestEditorAction", runScriptTestEditorAction); + actionManager.registerAction("PHPRunContainerTestAction", runContainerTestAction); + this.runScriptTestAction = runScriptTestAction; + this.runScriptTestEditorAction = runScriptTestEditorAction; + this.runContainerTestAction = runContainerTestAction; + } + + @Override + public void addMainMenuItems(DefaultActionGroup testMainMenu) { + testMainMenu.add(runScriptTestEditorAction); + testMainMenu.add(runContainerTestAction); + } + + @Override + public void addContextMenuItems(DefaultActionGroup testContextMenu) { + testContextMenu.add(runScriptTestAction); + testContextMenu.add(runContainerTestAction); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.java new file mode 100644 index 0000000000..95d178c397 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide; + +import com.google.gwt.i18n.client.Messages; + +/** + * Localization constants. Interface to represent the constants defined in resource bundle: 'PHPUnitTestLocalizationConstant.properties'. + * + * @author Bartlomiej Laczkowski + */ +public interface PHPUnitTestLocalizationConstant extends Messages { + + @Key("action.runScript.title") + String actionRunScriptTitle(); + + @Key("action.runScript.description") + String actionRunScriptDescription(); + + @Key("action.runContainer.title") + String actionRunContainerTitle(); + + @Key("action.runContainer.description") + String actionRunContainerDescription(); + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestResources.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestResources.java new file mode 100644 index 0000000000..1c73817d8b --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestResources.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide; + +import org.vectomatic.dom.svg.ui.SVGResource; + +import com.google.gwt.resources.client.ClientBundle; + +/** + * PHPUnit ide part resources. + * + * @author Bartlomiej Laczkowski + */ +public interface PHPUnitTestResources extends ClientBundle { + + @Source("org/eclipse/che/plugin/testing/phpunit/ide/svg/test.svg") + SVGResource testIcon(); + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunContainerTestAction.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunContainerTestAction.java new file mode 100644 index 0000000000..0b255aad72 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunContainerTestAction.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide.action; + +import static org.eclipse.che.ide.workspace.perspectives.project.ProjectPerspective.PROJECT_PERSPECTIVE_ID; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import javax.validation.constraints.NotNull; + +import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; +import org.eclipse.che.ide.api.action.ActionEvent; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.resources.Container; +import org.eclipse.che.ide.api.resources.Project; +import org.eclipse.che.ide.api.selection.Selection; +import org.eclipse.che.ide.api.selection.SelectionAgent; +import org.eclipse.che.ide.resources.tree.ContainerNode; +import org.eclipse.che.plugin.testing.ide.TestActionRunner; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestLocalizationConstant; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestResources; + +import com.google.inject.Inject; + +/** + * "Run Container" PHPUnit test action. + * + * @author Bartlomiej Laczkowski + */ +public class PHPRunContainerTestAction extends AbstractPerspectiveAction { + + private final TestActionRunner runner; + private final AppContext appContext; + private final SelectionAgent selectionAgent; + + @Inject + public PHPRunContainerTestAction(TestActionRunner runner, + PHPUnitTestResources resources, + AppContext appContext, + SelectionAgent selectionAgent, + PHPUnitTestLocalizationConstant localization) { + super(Arrays.asList(PROJECT_PERSPECTIVE_ID), + localization.actionRunContainerTitle(), + localization.actionRunScriptDescription(), + null, + resources.testIcon()); + this.runner = runner; + this.appContext = appContext; + this.selectionAgent = selectionAgent; + } + + @Override + public void actionPerformed(ActionEvent e) { + final Selection selection = selectionAgent.getSelection(); + final Object possibleNode = selection.getHeadElement(); + if (possibleNode instanceof ContainerNode) { + Container container = ((ContainerNode) possibleNode).getData(); + final Project project = appContext.getRootProject(); + Map parameters = new HashMap<>(); + parameters.put("testTarget", container.getLocation().toString()); + runner.run("PHPUnit", project.getPath(), parameters); + } + } + + @Override + public void updateInPerspective(@NotNull ActionEvent e) { + if ((appContext.getRootProject() == null)) { + e.getPresentation().setVisible(true); + e.getPresentation().setEnabled(false); + return; + } + final Selection selection = selectionAgent.getSelection(); + if (selection == null || selection.isEmpty()) { + e.getPresentation().setEnabled(false); + return; + } + if (selection.isMultiSelection()) { + e.getPresentation().setEnabled(false); + return; + } + final Object possibleNode = selection.getHeadElement(); + if (possibleNode instanceof ContainerNode) { + String projectType = ((ContainerNode) possibleNode).getData().getProject().getType(); + if ("php".equalsIgnoreCase(projectType) || "composer".equalsIgnoreCase(projectType)) { + e.getPresentation().setVisible(true); + e.getPresentation().setEnabled(true); + return; + } + } + e.getPresentation().setVisible(false); + e.getPresentation().setEnabled(false); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestAction.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestAction.java new file mode 100644 index 0000000000..35ac2bee86 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestAction.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide.action; + +import static org.eclipse.che.ide.workspace.perspectives.project.ProjectPerspective.PROJECT_PERSPECTIVE_ID; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import javax.validation.constraints.NotNull; + +import org.eclipse.che.ide.api.action.AbstractPerspectiveAction; +import org.eclipse.che.ide.api.action.ActionEvent; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.resources.Project; +import org.eclipse.che.ide.api.resources.VirtualFile; +import org.eclipse.che.ide.api.selection.Selection; +import org.eclipse.che.ide.api.selection.SelectionAgent; +import org.eclipse.che.ide.resources.tree.FileNode; +import org.eclipse.che.plugin.testing.ide.TestActionRunner; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestLocalizationConstant; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestResources; + +import com.google.inject.Inject; + +/** + * "Run Script" PHPUnit test action. + * + * @author Bartlomiej Laczkowski + */ +public class PHPRunScriptTestAction extends AbstractPerspectiveAction { + + private final TestActionRunner runner; + private final AppContext appContext; + private final SelectionAgent selectionAgent; + + @Inject + public PHPRunScriptTestAction(TestActionRunner runner, + PHPUnitTestResources resources, + AppContext appContext, + SelectionAgent selectionAgent, + PHPUnitTestLocalizationConstant localization) { + super(Arrays.asList(PROJECT_PERSPECTIVE_ID), + localization.actionRunScriptTitle(), + localization.actionRunScriptDescription(), + null, + resources.testIcon()); + this.runner = runner; + this.appContext = appContext; + this.selectionAgent = selectionAgent; + } + + @Override + public void actionPerformed(ActionEvent e) { + final Selection selection = selectionAgent.getSelection(); + final Object possibleNode = selection.getHeadElement(); + if (possibleNode instanceof FileNode) { + VirtualFile file = ((FileNode) possibleNode).getData(); + final Project project = appContext.getRootProject(); + Map parameters = new HashMap<>(); + parameters.put("testTarget", file.getLocation().toString()); + runner.run("PHPUnit", project.getPath(), parameters); + } + } + + @Override + public void updateInPerspective(@NotNull ActionEvent e) { + if ((appContext.getRootProject() == null)) { + e.getPresentation().setVisible(true); + e.getPresentation().setEnabled(false); + return; + } + final Selection selection = selectionAgent.getSelection(); + if (selection == null || selection.isEmpty()) { + e.getPresentation().setEnabled(false); + return; + } + if (selection.isMultiSelection()) { + e.getPresentation().setEnabled(false); + return; + } + final Object possibleNode = selection.getHeadElement(); + boolean enable = possibleNode instanceof FileNode + && (((FileNode) possibleNode).getData().getExtension().equals("php") + || ((FileNode) possibleNode).getData().getExtension().equals("phtml")); + e.getPresentation().setEnabled(enable); + e.getPresentation().setVisible(enable); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestEditorAction.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestEditorAction.java new file mode 100644 index 0000000000..5c579faa66 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/java/org/eclipse/che/plugin/testing/phpunit/ide/action/PHPRunScriptTestEditorAction.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.ide.action; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.che.ide.api.action.ActionEvent; +import org.eclipse.che.ide.api.action.ProjectAction; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.editor.EditorAgent; +import org.eclipse.che.ide.api.editor.EditorInput; +import org.eclipse.che.ide.api.editor.EditorPartPresenter; +import org.eclipse.che.ide.api.filetypes.FileTypeRegistry; +import org.eclipse.che.ide.api.resources.Project; +import org.eclipse.che.ide.api.resources.VirtualFile; +import org.eclipse.che.ide.api.selection.SelectionAgent; +import org.eclipse.che.plugin.testing.ide.TestActionRunner; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestLocalizationConstant; +import org.eclipse.che.plugin.testing.phpunit.ide.PHPUnitTestResources; + +import com.google.inject.Inject; + +/** + * "Run Script" PHPUnit test editor action. + * + * @author Bartlomiej Laczkowski + */ +public class PHPRunScriptTestEditorAction extends ProjectAction { + + private final TestActionRunner runner; + private final AppContext appContext; + private final EditorAgent editorAgent; + private final FileTypeRegistry fileTypeRegistry; + + @Inject + public PHPRunScriptTestEditorAction(TestActionRunner runner, + EditorAgent editorAgent, + FileTypeRegistry fileTypeRegistry, + PHPUnitTestResources resources, + AppContext appContext, + SelectionAgent selectionAgent, + PHPUnitTestLocalizationConstant localization) { + super(localization.actionRunScriptTitle(), localization.actionRunScriptDescription(), resources.testIcon()); + this.runner = runner; + this.appContext = appContext; + this.editorAgent = editorAgent; + this.fileTypeRegistry = fileTypeRegistry; + } + + @Override + public void actionPerformed(ActionEvent e) { + final Project project = appContext.getRootProject(); + EditorPartPresenter editorPart = editorAgent.getActiveEditor(); + final VirtualFile file = editorPart.getEditorInput().getFile(); + Map parameters = new HashMap<>(); + parameters.put("testTarget", file.getLocation().toString()); + runner.run("PHPUnit", project.getPath(), parameters); + } + + @Override + protected void updateProjectAction(ActionEvent e) { + if (editorAgent.getActiveEditor() != null) { + EditorInput input = editorAgent.getActiveEditor().getEditorInput(); + VirtualFile file = input.getFile(); + final String fileExtension = fileTypeRegistry.getFileTypeByFile(file).getExtension(); + if ("php".equals(fileExtension) || "phtml".equals(fileExtension)) { + e.getPresentation().setEnabledAndVisible(true); + return; + } + } + e.getPresentation().setEnabledAndVisible(false); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/PHPUnit.gwt.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/PHPUnit.gwt.xml new file mode 100644 index 0000000000..f020bd77ec --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/PHPUnit.gwt.xml @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.properties b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.properties new file mode 100644 index 0000000000..20348356e8 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/PHPUnitTestLocalizationConstant.properties @@ -0,0 +1,16 @@ +# +# Copyright (c) 2012-2017 Codenvy, S.A. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Rogue Wave Software, Inc. - initial API and implementation +# + +##### Actions ##### +action.runScript.title = PHPUnit +action.runScript.description = Run the currently selected PHPUnit test script +action.runContainer.title = PHPUnit +action.runContainer.description = Run all the tests available under PHPUnit test container diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test.svg b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test.svg new file mode 100644 index 0000000000..79b385d2dd --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test_all.svg b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test_all.svg new file mode 100644 index 0000000000..42353ffae0 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/src/main/resources/org/eclipse/che/plugin/testing/phpunit/ide/svg/test_all.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml new file mode 100644 index 0000000000..0ad7d6bb22 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + che-plugin-testing-phpunit + org.eclipse.che.plugin + 5.14.0-SNAPSHOT + + che-plugin-testing-phpunit-server + Che Plugin :: PHP Testing :: PHPUnit Server + + + com.google.code.gson + gson + + + com.google.inject + guice + + + com.google.inject.extensions + guice-multibindings + + + commons-io + commons-io + + + javax.inject + javax.inject + + + org.eclipse.che.core + che-core-api-core + + + org.eclipse.che.core + che-core-api-dto + + + org.eclipse.che.core + che-core-api-project + + + org.eclipse.che.core + che-core-api-testing + + + org.eclipse.che.core + che-core-api-testing-shared + + + org.eclipse.che.core + che-core-commons-inject + + + org.slf4j + slf4j-api + + + diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitMessageParser.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitMessageParser.java new file mode 100644 index 0000000000..306f66d022 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitMessageParser.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server; + +import java.util.ArrayList; +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestCase; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestException; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestRoot; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestSuite; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestWarning; + +/** + * PHPUnit message parser. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitMessageParser { + + public static final String CALL_DYNAMIC = "->"; + public static final String CALL_STATIC = "::"; + private static final String ELEMENT_EVENT = "event"; + private static final String ELEMENT_EXCEPTION = "exception"; + private static final String ELEMENT_TARGET_TESTSUITE = "testsuite"; + private static final String ELEMENT_TARGET_TESTCASE = "testcase"; + private static final String ELEMENT_TEST = "test"; + private static final String ELEMENT_WARNINGS = "warnings"; + public static final String PROPERTY_CLASS = "class"; + public static final String PROPERTY_CODE = "code"; + public static final String PROPERTY_COUNT = "tests"; + public static final String PROPERTY_FILE = "file"; + public static final String PROPERTY_FILTERED = "filtered"; + public static final String PROPERTY_LINE = "line"; + public static final String PROPERTY_MESSAGE = "message"; + public static final String PROPERTY_DIFF = "diff"; + public static final String PROPERTY_NAME = "name"; + public static final String PROPERTY_TIME = "time"; + public static final String PROPERTY_TARGET = "target"; + public static final String PROPERTY_TRACE = "trace"; + public static final String STATUS_ERROR = "error"; + public static final String STATUS_WARNING = "warning"; + public static final String STATUS_FAIL = "fail"; + public static final String STATUS_INCOMPLETE = "incomplete"; + public static final String STATUS_PASS = "pass"; + public static final String STATUS_SKIP = "skip"; + public static final String TAG_END = "end"; + public static final String TAG_START = "start"; + + private PHPUnitTestSuite currentGroup; + private PHPUnitTestCase currentTestCase; + + public PHPUnitMessageParser(PHPUnitTestRoot testRoot) { + this.currentGroup = testRoot; + } + + /** + * Parses provided message from PHPUnit printer. + * + * @param message + */ + public void parse(final Map message) { + if (message == null) { + return; + } + final String target = (String) message.get(PROPERTY_TARGET); + final String event = (String) message.get(ELEMENT_EVENT); + final Map mTest = (Map) message.get(ELEMENT_TEST); + if (target.equals(ELEMENT_TARGET_TESTSUITE)) { + parseGroupStart(event, mTest); + if (event.equals(TAG_END)) { + parseGroupEnd(); + } + } else if (target.equals(ELEMENT_TARGET_TESTCASE)) { + if (event.equals(TAG_START)) { + parseTestStart(event, mTest); + } else { + parseTestEnd(message, event, mTest); + } + } + } + + private void parseGroupStart(final String event, final Map mTest) { + if (event.equals(TAG_START)) { + final PHPUnitTestSuite group = new PHPUnitTestSuite(mTest, currentGroup); + currentGroup.addChild(group, false); + group.setParent(currentGroup); + currentGroup = group; + } + } + + private void parseGroupEnd() { + final PHPUnitTestSuite group = currentGroup; + currentGroup = (PHPUnitTestSuite) currentGroup.getParent(); + currentGroup.addChild(group, true); + } + + private void parseTestStart(final String event, final Map mTest) { + final PHPUnitTestCase testCase = new PHPUnitTestCase(mTest, currentGroup, event); + currentTestCase = testCase; + currentGroup.addChild(testCase, false); + } + + private void parseTestEnd(final Map message, final String event, final Map mTest) { + final PHPUnitTestCase testCase = currentTestCase; + testCase.updateStatus(event); + final Map exception = (Map) message.get(ELEMENT_EXCEPTION); + if (exception != null) + parseException(testCase, exception); + final Map warnings = (Map) message.get(ELEMENT_WARNINGS); + if (warnings != null) + parseWarnings(testCase, warnings); + final String time = (String) message.get(PROPERTY_TIME); + testCase.setTime(Double.valueOf(time)); + currentGroup.addChild(testCase, true); + } + + /** + * @param testCase + * @param exception + */ + private void parseException(final PHPUnitTestCase testCase, final Map exception) { + testCase.setException(new PHPUnitTestException(exception, testCase)); + } + + private void parseWarnings(final PHPUnitTestCase testCase, final Map warnings) { + Map mWarning; + // keep initial order + for (int i = 0; (mWarning = (Map) warnings.get(String.valueOf(i))) != null; ++i) { + if (testCase.getWarnings() == null) + testCase.setWarnings(new ArrayList(warnings.size())); + final PHPUnitTestWarning warning = new PHPUnitTestWarning(mWarning, testCase); + testCase.getWarnings().add(i, warning); + } + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestEngine.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestEngine.java new file mode 100644 index 0000000000..45dd533294 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestEngine.java @@ -0,0 +1,287 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server; + +import static org.eclipse.che.plugin.testing.phpunit.server.PHPUnitTestRunner.LOG; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.ServerSocket; +import java.net.Socket; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadFactory; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; +import org.eclipse.che.api.core.ServerException; +import org.eclipse.che.api.core.util.AbstractLineConsumer; +import org.eclipse.che.api.core.util.CommandLine; +import org.eclipse.che.api.core.util.ProcessUtil; +import org.eclipse.che.api.project.server.ProjectManager; +import org.eclipse.che.api.project.server.VirtualFileEntry; +import org.eclipse.che.api.testing.server.exceptions.TestFrameworkException; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.api.vfs.Path; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestRoot; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.internal.LinkedTreeMap; + +/** + * PHPUnit tests running engine. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestEngine { + + private final class PrinterListener implements Runnable { + + private ServerSocket serverSocket; + private Socket socket; + private Gson gson = new GsonBuilder().create(); + private ExecutorService threadExecutor; + + public PrinterListener() { + threadExecutor = Executors.newSingleThreadExecutor(new ThreadFactory() { + @Override + public Thread newThread(Runnable r) { + final Thread thread = new Thread(r, "PHPUnitPrinterListener"); + thread.setDaemon(true); + return thread; + } + }); + } + + @Override + public void run() { + try { + serverSocket = new ServerSocket(PRINTER_PORT, 1); + serverSocket.setSoTimeout(3000); + serverSocket.setReuseAddress(true); + // Release engine to perform tests + latchReady.countDown(); + socket = serverSocket.accept(); + handleReport(socket); + } catch (final IOException e) { + Thread.currentThread().interrupt(); + } finally { + shutdown(); + } + } + + void shutdown() { + try { + if (socket != null && !socket.isClosed()) + socket.close(); + } catch (final Exception e) {} + try { + if (serverSocket != null && !serverSocket.isClosed()) + serverSocket.close(); + } catch (final IOException e) {} + threadExecutor.shutdown(); + } + + void startup() { + threadExecutor.submit(this); + } + + @SuppressWarnings("unchecked") + private void handleReport(final Socket socket) { + try { + final BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); + final PHPUnitMessageParser messageParser = new PHPUnitMessageParser(phpTestsRoot); + String line; + Map value = null; + while ((line = reader.readLine()) != null) { + try { + value = gson.fromJson(line, LinkedTreeMap.class); + messageParser.parse(value); + } catch (final Throwable e) { + value = null; + } + } + latchDone.countDown(); + shutdown(); + } catch (final IOException e) { + Thread.currentThread().interrupt(); + shutdown(); + } + } + } + + private static final String PRINTER_NAME = "ZendPHPUnitLogger"; + private static final String PRINTER_DIRECTORY = "phpunit-printer"; + private static final String PHPUNIT_GLOBAL = "phpunit"; + private static final String PHPUNIT_COMPOSER = "/vendor/bin/phpunit"; + private static final int PRINTER_PORT = 7478; + + private final ProjectManager projectManager; + private final CountDownLatch latchReady = new CountDownLatch(1); + private final CountDownLatch latchDone = new CountDownLatch(1); + + private PHPUnitTestRoot phpTestsRoot; + private PHPUnitTestResultsProvider testResultsProvider; + + public PHPUnitTestEngine(ProjectManager projectManager) { + this.projectManager = projectManager; + } + + /** + * Executes PHP unit tests with the use of provided parameters. + * + * @param testParameters + * @return + * @throws Exception + */ + public TestResultRootDto executeTests(Map testParameters) throws Exception { + String projectPath = testParameters.get("projectPath"); + String projectAbsolutePath = testParameters.get("absoluteProjectPath"); + String testTargetRelativePath = testParameters.get("testTarget"); + File testTargetFile = getTestTargetFile(testTargetRelativePath, projectAbsolutePath); + File testTargetWorkingDirectory = + testTargetFile.isDirectory() ? testTargetFile : testTargetFile.getParentFile(); + // Get appropriate path to executable + String phpUnitExecutable = PHPUNIT_GLOBAL; + if (hasComposerRunner(projectPath)) { + phpUnitExecutable = projectAbsolutePath + PHPUNIT_COMPOSER; + } + // Get appropriate logger for PHP unit version + final File printerFile = getPrinterFile(); + final String printerDirAbsolutePath = printerFile.getParentFile().getAbsolutePath(); + PrinterListener printerListener = new PrinterListener(); + printerListener.startup(); + // Reset provider & tests root + testResultsProvider = new PHPUnitTestResultsProvider(); + phpTestsRoot = new PHPUnitTestRoot(); + // Wait for listener thread to be started + try { + latchReady.await(); + } catch (InterruptedException e) { + LOG.error(e.getMessage(), e); + } + final CommandLine cmdRunTests = new CommandLine(phpUnitExecutable, + "--include-path", + printerDirAbsolutePath, + "--printer", + PRINTER_NAME, + getTestTarget(testTargetFile)); + ProcessBuilder pb = new ProcessBuilder().redirectErrorStream(true) + .directory(testTargetWorkingDirectory) + .command(cmdRunTests.toShellCommand()); + pb.environment().put("ZEND_PHPUNIT_PORT", String.valueOf(PRINTER_PORT)); + Process processRunPHPUnitTests = pb.start(); + final StringBuilder stdErrOut = new StringBuilder(); + ProcessUtil.process(processRunPHPUnitTests, new AbstractLineConsumer() { + @Override + public void writeLine(String line) throws IOException { + if (!line.isEmpty()) + stdErrOut.append(line + "\n"); + } + }); + int exitValue = processRunPHPUnitTests.waitFor(); + try { + latchDone.await(); + } catch (InterruptedException e) { + LOG.error(e.getMessage(), e); + } + if (exitValue != 0 && stdErrOut.length() > 0 && phpTestsRoot.getChildren() == null) { + throw new TestFrameworkException("PHPUnit Error:\n" + stdErrOut.toString()); + } + return testResultsProvider.getTestResultsRoot(phpTestsRoot); + } + + /** + * Returns test results for given result path. + * + * @param testResultsPath + * @return test results for given result path + */ + public List getTestResults(List testResultsPath) { + return testResultsProvider.getTestResults(testResultsPath); + } + + private File getPrinterFile() { + final String phpLoggerLocation = PRINTER_DIRECTORY + '/' + PRINTER_NAME + ".php"; + final File tmpDir = new File(System.getProperty("java.io.tmpdir")); + final File tmpPrinterFile = new File(tmpDir, phpLoggerLocation); + if (!tmpPrinterFile.exists()) { + try { + tmpPrinterFile.getParentFile().mkdir(); + tmpPrinterFile.createNewFile(); + InputStream printerFileContent = getClass().getClassLoader().getResourceAsStream(phpLoggerLocation); + FileUtils.copyInputStreamToFile(printerFileContent, tmpPrinterFile); + } catch (Exception e) { + LOG.error(e.getMessage(), e); + } finally { + if (tmpPrinterFile.exists()) { + tmpPrinterFile.getParentFile().deleteOnExit(); + tmpPrinterFile.deleteOnExit(); + } + } + } + return tmpPrinterFile; + } + + private File getTestTargetFile(String testTargetRelativePath, String projectAbsolutePath) { + if (Path.of(testTargetRelativePath).length() > 1) + return new File(Path.of(projectAbsolutePath) + .newPath(Path.of(testTargetRelativePath).subPath(1)) + .toString()); + return new File(Path.of(projectAbsolutePath).toString()); + } + + private String getTestTarget(File testTargetFile) { + if (testTargetFile.isDirectory()) { + if ((new File(testTargetFile, "phpunit.xml").exists() + || new File(testTargetFile, "phpunit.xml.dist").exists())) { + return ""; + } + return testTargetFile.getAbsolutePath(); + } + return FilenameUtils.removeExtension(testTargetFile.getAbsolutePath()); + } + + @SuppressWarnings("unchecked") + private boolean hasComposerRunner(String projectPath) { + VirtualFileEntry composerJson; + try { + composerJson = projectManager.getProjectsRoot().getChild(projectPath + "/composer.json"); + if (composerJson == null) + return false; + } catch (ServerException e) { + return false; + } + try (InputStream inputStream = composerJson.getVirtualFile().getContent(); + InputStreamReader reader = new InputStreamReader(inputStream);) { + Gson gson = new GsonBuilder().create(); + Map composerJsonMap = gson.fromJson(reader, LinkedTreeMap.class); + Map requireDev = (Map) composerJsonMap.get("require-dev"); + if (requireDev != null && requireDev.get("phpunit/phpunit") != null) + return true; + Map require = (Map) composerJsonMap.get("require"); + if (require != null && require.get("phpunit/phpunit") != null) + return true; + } catch (Exception e) { + LOG.error(e.getMessage(), e); + } + return false; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestResultsProvider.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestResultsProvider.java new file mode 100644 index 0000000000..d7c7f843e8 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestResultsProvider.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server; + +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.api.testing.shared.common.TestResultType; +import org.eclipse.che.api.testing.shared.dto.SimpleLocationDto; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceFrameDto; +import org.eclipse.che.dto.server.DtoFactory; +import org.eclipse.che.plugin.testing.phpunit.server.model.AbstractPHPUnitTestResult; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestCase; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestException; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestRoot; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTestSuite; +import org.eclipse.che.plugin.testing.phpunit.server.model.PHPUnitTraceFrame; + +/** + * Test results provider. + * + * @author Bartlomiej Laczkowski + */ +class PHPUnitTestResultsProvider { + + private final Map testResultsCache = new HashMap<>(); + + /** + * Builds and returns test results root. + * + * @param resultsRoot + * @return test results root + */ + public TestResultRootDto getTestResultsRoot(PHPUnitTestRoot resultsRoot) { + TestResultRootDto testResultRootDto = DtoFactory.getInstance().createDto(TestResultRootDto.class); + testResultRootDto.setTestFrameworkName(PHPUnitTestRunner.RUNNER_ID); + testResultRootDto.setStatus(getStatus(resultsRoot.getStatus())); + testResultRootDto.setResultPath(Collections.singletonList("php-tests-root")); + testResultRootDto.setName(getRootLabel(resultsRoot.getStatus())); + testResultRootDto.setInfoText(getTimeString(resultsRoot.getTime())); + testResultRootDto.setEmpty(resultsRoot.getChildren() == null); + // Add PHP related test result to cache + testResultsCache.put(getKey(testResultRootDto.getResultPath()), resultsRoot); + return testResultRootDto; + } + + /** + * Builds and returns test results for given path. + * + * @param testResultsPath + * @return test results for given path + */ + public List getTestResults(List testResultsPath) { + String key = getKey(testResultsPath); + AbstractPHPUnitTestResult phpTestResult = testResultsCache.get(key); + int testChildCounter = 0; + List testResults = new ArrayList<>(); + for (AbstractPHPUnitTestResult phpChildResult : phpTestResult.getChildren()) { + List childResultsPath = new ArrayList<>(testResultsPath); + childResultsPath.add(String.valueOf(testChildCounter++)); + TestResultDto testResultDto = getTestResult(phpChildResult, childResultsPath); + testResults.add(testResultDto); + } + return testResults; + } + + private TestResultDto getTestResult(AbstractPHPUnitTestResult phpTestResult, List testResultPath) { + TestResultDto testResultDto = DtoFactory.getInstance().createDto(TestResultDto.class); + testResultDto.setStatus(getStatus(phpTestResult.getStatus())); + testResultDto.setResultPath(testResultPath); + testResultDto.setName(phpTestResult.getName()); + testResultDto.setTrace(getTestTrace(phpTestResult)); + testResultDto.setInfoText(getTimeString(phpTestResult.getTime())); + testResultDto.setType(phpTestResult instanceof PHPUnitTestSuite ? TestResultType.TEST_SUITE + : TestResultType.TEST_CASE); + SimpleLocationDto simpleLocationDto = DtoFactory.getInstance().createDto(SimpleLocationDto.class); + simpleLocationDto.setResourcePath(phpTestResult.getFile()); + simpleLocationDto.setLineNumber(phpTestResult.getLine() - 1); + testResultDto.setTestLocation(simpleLocationDto); + // Add PHP related test result to cache + testResultsCache.put(getKey(testResultDto.getResultPath()), phpTestResult); + return testResultDto; + } + + private TestResultTraceDto getTestTrace(AbstractPHPUnitTestResult phpTestResult) { + TestResultTraceDto testResultTraceDto = DtoFactory.getInstance().createDto(TestResultTraceDto.class); + if (phpTestResult instanceof PHPUnitTestCase) { + PHPUnitTestCase phpTestCase = (PHPUnitTestCase) phpTestResult; + PHPUnitTestException phpTestEvent = phpTestCase.getException(); + if (phpTestEvent != null) { + testResultTraceDto.setMessage(phpTestEvent.getExceptionClass() + ": " + phpTestEvent.getMessage()); + List traceFrames = new ArrayList<>(); + for (PHPUnitTraceFrame phpTraceFrame : phpTestEvent.getTrace()) { + TestResultTraceFrameDto testResultTraceFrameDto = + DtoFactory.getInstance() + .createDto(TestResultTraceFrameDto.class); + testResultTraceFrameDto.setTraceFrame(phpTraceFrame.toString()); + SimpleLocationDto simpleLocationDto = DtoFactory.getInstance().createDto(SimpleLocationDto.class); + simpleLocationDto.setResourcePath(phpTraceFrame.getFile()); + simpleLocationDto.setLineNumber(phpTraceFrame.getLine() - 1); + testResultTraceFrameDto.setLocation(simpleLocationDto); + traceFrames.add(testResultTraceFrameDto); + } + testResultTraceDto.setTraceFrames(traceFrames); + return testResultTraceDto; + } + } + return null; + } + + private String getKey(List resultsPath) { + StringBuilder sb = new StringBuilder(); + Iterator resultsPathIterator = resultsPath.iterator(); + sb.append(resultsPathIterator.next()); + while (resultsPathIterator.hasNext()) { + sb.append("->" + resultsPathIterator.next()); + } + return sb.toString(); + } + + private TestResultStatus getStatus(int phpStatus) { + switch (phpStatus) { + case AbstractPHPUnitTestResult.STATUS_PASS: { + return TestResultStatus.SUCCESS; + } + case AbstractPHPUnitTestResult.STATUS_WARNING: { + return TestResultStatus.WARNING; + } + case AbstractPHPUnitTestResult.STATUS_FAIL: { + return TestResultStatus.FAILURE; + } + case AbstractPHPUnitTestResult.STATUS_ERROR: { + return TestResultStatus.ERROR; + } + case AbstractPHPUnitTestResult.STATUS_SKIP: + case AbstractPHPUnitTestResult.STATUS_INCOMPLETE: { + return TestResultStatus.SKIPPED; + } + } + return null; + } + + private String getRootLabel(int phpStatus) { + switch (phpStatus) { + case AbstractPHPUnitTestResult.STATUS_PASS: { + return "Tests Passed"; + } + case AbstractPHPUnitTestResult.STATUS_FAIL: + case AbstractPHPUnitTestResult.STATUS_ERROR: { + return "Tests Failed"; + } + case AbstractPHPUnitTestResult.STATUS_SKIP: + case AbstractPHPUnitTestResult.STATUS_INCOMPLETE: { + return "Tests Skipped"; + } + } + return "Test Results"; + } + + private String getTimeString(double time) { + return "(" + (new DecimalFormat("0.000")).format(time) + " ms)"; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestRunner.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestRunner.java new file mode 100644 index 0000000000..ce033797bd --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/PHPUnitTestRunner.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server; + +import java.util.List; +import java.util.Map; + +import javax.inject.Inject; + +import org.eclipse.che.api.project.server.ProjectManager; +import org.eclipse.che.api.testing.server.framework.TestRunner; +import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * PHPUnit implementation for the test runner service. + * + *
+ * Available Parameters for {@link PHPUnitTestRunner#runTests(Map)}
+ *
+ * projectPath : Relative path to the project directory
+ * absoluteProjectPath : Absolute path to the project directory
+ * testTarget : Path to test target (container or script).
+ * 
+ * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestRunner implements TestRunner { + + public static final Logger LOG = LoggerFactory.getLogger(PHPUnitTestRunner.class); + public static final String RUNNER_ID = "PHPUnit"; + + private final PHPUnitTestEngine testEngine; + + @Inject + public PHPUnitTestRunner(ProjectManager projectManager) { + testEngine = new PHPUnitTestEngine(projectManager); + } + + /** + * {@inheritDoc} + */ + @Override + public String getName() { + return RUNNER_ID; + } + + /** + * {@inheritDoc} + */ + @Override + public TestResultRootDto runTests(Map testParameters) throws Exception { + return testEngine.executeTests(testParameters); + } + + /** + * {@inheritDoc} + */ + @Override + public List getTestResults(List testResultsPath) { + return testEngine.getTestResults(testResultsPath); + } + + /** + * {@inheritDoc} + */ + @Override + public TestResult execute(Map testParameters) throws Exception { + return null; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/inject/PHPUnitGuiceModule.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/inject/PHPUnitGuiceModule.java new file mode 100644 index 0000000000..6f86d5795a --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/inject/PHPUnitGuiceModule.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.inject; + +import static com.google.inject.multibindings.Multibinder.newSetBinder; + +import org.eclipse.che.api.testing.server.framework.TestRunner; +import org.eclipse.che.inject.DynaModule; +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitTestRunner; + +import com.google.inject.AbstractModule; + +/** + * PHPUnit Guice module. + * + * @author Bartlomiej Laczkowski + */ +@DynaModule +public class PHPUnitGuiceModule extends AbstractModule { + @Override + protected void configure() { + newSetBinder(binder(), TestRunner.class).addBinding().to(PHPUnitTestRunner.class); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitElement.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitElement.java new file mode 100644 index 0000000000..a23050c8c5 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitElement.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Abstract implementation for PHP unit model elements. + * + * @author Bartlomiej Laczkowski + */ +abstract public class AbstractPHPUnitElement { + + protected String file = ""; + protected boolean isFiltered = false; + protected int line = 0; + protected AbstractPHPUnitElement parent; + + public AbstractPHPUnitElement(final Map properties, final AbstractPHPUnitElement parent) { + if (properties != null) + init(properties); + if (parent != null) + setParent(parent); + } + + /** + * Sets this element parent. + * + * @param parent + */ + public void setParent(final AbstractPHPUnitElement parent) { + this.parent = parent; + } + + /** + * Returns related element file path. + * + * @return related element file path + */ + public String getFile() { + return file; + } + + /** + * Returns related element file line. + * + * @return related element file line + */ + public int getLine() { + return line; + } + + /** + * Returns element's parent. + * + * @return element's parent + */ + public AbstractPHPUnitElement getParent() { + return parent; + } + + /** + * Checks if this element is filtered. + * + * @return true if this element is filtered, false otherwise + */ + public boolean isFiltered() { + return isFiltered; + } + + private void init(final Map properties) { + final String pFile = (String) properties.get(PHPUnitMessageParser.PROPERTY_FILE); + if (pFile != null) { + file = (String) properties.get(PHPUnitMessageParser.PROPERTY_FILE); + line = Integer.parseInt((String) properties.get(PHPUnitMessageParser.PROPERTY_LINE)); + } + if (properties.get(PHPUnitMessageParser.PROPERTY_FILTERED) != null) { + isFiltered = true; + } + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestEvent.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestEvent.java new file mode 100644 index 0000000000..0ddd06579e --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestEvent.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Abstract implementation for PHP unit test event elements. + * + * @author Bartlomiej Laczkowski + */ +public abstract class AbstractPHPUnitTestEvent extends AbstractPHPUnitElement { + + protected String message; + protected String diff; + protected List trace; + + public AbstractPHPUnitTestEvent(final Map event, final AbstractPHPUnitElement parent) { + super(event, parent); + message = (String) event.get(PHPUnitMessageParser.PROPERTY_MESSAGE); + diff = (String) event.get(PHPUnitMessageParser.PROPERTY_DIFF); + final Map mTrace = (Map) event.get(PHPUnitMessageParser.PROPERTY_TRACE); + if (mTrace == null || mTrace.isEmpty()) + return; + trace = new ArrayList(mTrace.size()); + for (int i = 0; i < mTrace.size(); ++i) { + trace.add(new PHPUnitTraceFrame((Map) mTrace.get(String.valueOf(i)), this)); + } + } + + /** + * Returns element description. + * + * @return element description + */ + public String getMessage() { + return message; + } + + /** + * Returns diff. + * + * @return diff + */ + public String getDiff() { + return diff; + } + + /** + * Returns element related trace. + * + * @return element related trace + */ + public List getTrace() { + return trace; + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestResult.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestResult.java new file mode 100644 index 0000000000..845b6f1c53 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/AbstractPHPUnitTestResult.java @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.Map; +import java.util.Set; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Abstract implementation for PHP unit test result elements. + * + * @author Bartlomiej Laczkowski + */ +public abstract class AbstractPHPUnitTestResult extends AbstractPHPUnitElement { + + public static final int STATUS_STARTED = 0; + public static final int STATUS_PASS = 1; + public static final int STATUS_SKIP = 2; + public static final int STATUS_INCOMPLETE = 3; + public static final int STATUS_WARNING = 4; + public static final int STATUS_FAIL = 5; + public static final int STATUS_ERROR = 6; + + protected String name = ""; + protected int status = 0; + protected double time = 0; + + public AbstractPHPUnitTestResult(final Map test, final PHPUnitTestSuite parent) { + super(test, parent); + if (test != null) + name = (String) test.get(PHPUnitMessageParser.PROPERTY_NAME); + } + + /** + * Implementors should return this element children. + * + * @return this element children + */ + public abstract Set getChildren(); + + /** + * Returns element name. + * + * @return element name. + */ + public String getName() { + return name; + } + + /** + * Returns number of run count. + * + * @return number of run count + */ + public int getRunCount() { + return 1; + } + + /** + * Returns element status. + * + * @return element status. + */ + public int getStatus() { + return status; + } + + /** + * Sets element status. + * + * @param status + */ + public void setStatus(final int status) { + this.status = status; + } + + /** + * Returns execution time. + * + * @return execution time + */ + public double getTime() { + return time; + } + + /** + * Sets the execution time. + * + * @param time + */ + public void setTime(double time) { + this.time = time; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestCase.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestCase.java new file mode 100644 index 0000000000..dcc7af2c48 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestCase.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Test case model element implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestCase extends AbstractPHPUnitTestResult { + + protected PHPUnitTestException exception = null; + protected List warnings = null; + + public PHPUnitTestCase(final Map test, final PHPUnitTestSuite parent) { + super(test, parent); + } + + public PHPUnitTestCase(final Map test, final PHPUnitTestSuite parent, final String sStatus) { + this(test, parent); + updateStatus(sStatus); + } + + @Override + public Set getChildren() { + return Collections.emptySet(); + } + + /** + * Updates status of this test case. + * + * @param sStatus + */ + public void updateStatus(String sStatus) { + if (sStatus.equals(PHPUnitMessageParser.STATUS_PASS)) + status = STATUS_PASS; + else if (sStatus.equals(PHPUnitMessageParser.STATUS_SKIP)) + status = STATUS_SKIP; + else if (sStatus.equals(PHPUnitMessageParser.STATUS_INCOMPLETE)) + status = STATUS_INCOMPLETE; + else if (sStatus.equals(PHPUnitMessageParser.STATUS_WARNING)) + status = STATUS_WARNING; + else if (sStatus.equals(PHPUnitMessageParser.STATUS_FAIL)) + status = STATUS_FAIL; + else if (sStatus.equals(PHPUnitMessageParser.STATUS_ERROR)) + status = STATUS_ERROR; + else if (sStatus.equals(PHPUnitMessageParser.TAG_START)) + status = STATUS_STARTED; + } + + /** + * returns related exception if there is any. + * + * @return related exception if there is any + */ + public PHPUnitTestException getException() { + return exception; + } + + /** + * Returns related warnings if there are any. + * + * @return related warnings if there are any + */ + public List getWarnings() { + return warnings; + } + + /** + * Sets test case related exception. + * + * @param exception + */ + public void setException(final PHPUnitTestException exception) { + this.exception = exception; + + } + + /** + * Sets test case related warnings. + * + * @param warnings + */ + public void setWarnings(final List warnings) { + this.warnings = warnings; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestException.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestException.java new file mode 100644 index 0000000000..3e79c04418 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestException.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Test exception model element implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestException extends AbstractPHPUnitTestEvent { + + private static final String TOP_CLASS = "Exception"; //$NON-NLS-1$ + private String exceptionClass = TOP_CLASS; + + public PHPUnitTestException(Map exception, PHPUnitTestCase parent) { + super(exception, parent); + exceptionClass = (String) exception.get(PHPUnitMessageParser.PROPERTY_CLASS); + } + + /** + * Returns exception class. + * + * @return exception class + */ + public String getExceptionClass() { + return exceptionClass; + } + + /** + * Sets abnormal exception if occurred. + * + * @param testCase + */ + public static void addAbnormalException(PHPUnitTestCase testCase) { + // if(ABNORMAL_EXCEPTION == null) { + Map exception = new HashMap(); + exception.put(PHPUnitMessageParser.PROPERTY_CLASS, "An unexpected termination has occurred"); + exception.put(PHPUnitMessageParser.PROPERTY_MESSAGE, "The test case was unexpectedly terminated"); + PHPUnitTestException abnormalException = new PHPUnitTestException(exception, null); + abnormalException.setParent(testCase); + testCase.setException(abnormalException); + testCase.setStatus(AbstractPHPUnitTestResult.STATUS_ERROR); + PHPUnitTestSuite parent = (PHPUnitTestSuite) testCase.getParent(); + if (parent != null) { + parent.setStatus(testCase.getStatus()); + } + testCase.setException(new PHPUnitTestException(exception, testCase)); + } +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestRoot.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestRoot.java new file mode 100644 index 0000000000..45c60ad374 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestRoot.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +/** + * Tests root element. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestRoot extends PHPUnitTestSuite { + + public PHPUnitTestRoot() { + super(null, null); + } + + @Override + public String getName() { + return "Test Results"; + } + + @Override + public void setStatus(final int status) { + statusCount.counts[status]++; + this.status = Math.max(this.status, status); + if (parent != null) + ((PHPUnitTestSuite) parent).setStatus(status); + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestSuite.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestSuite.java new file mode 100644 index 0000000000..eb10ac47c7 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestSuite.java @@ -0,0 +1,123 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Set; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Test suite model element implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestSuite extends AbstractPHPUnitTestResult { + + protected class StatusCount { + public int[] counts = { 0, 0, 0, 0, 0, 0, 0 }; // STATUS_STARTED, + // STATUS_PASS, + // STATUS_SKIP, + // STATUS_INCOMPLETE, + // STATUS_FAIL, + // STATUS_ERROR + } + + protected final StatusCount statusCount = new StatusCount(); + private Set children = null; + private int runCount = 0; + private int totalCount; + + public PHPUnitTestSuite(final Map test, final PHPUnitTestSuite parent) { + super(test, parent); + if (test == null) + totalCount = 0; + else + totalCount = Integer.parseInt((String) test.get(PHPUnitMessageParser.PROPERTY_COUNT)); + } + + @Override + public Set getChildren() { + return children; + } + + @Override + public int getRunCount() { + return runCount; + } + + @Override + public int getStatus() { + return status; + } + + @Override + public void setStatus(final int status) { + statusCount.counts[status]++; + this.status = Math.max(this.status, status); + if (parent != null) + ((PHPUnitTestSuite) parent).setStatus(status); + } + + /** + * Adds child element to this test suite. + * + * @param test + * @param finished + */ + public void addChild(final AbstractPHPUnitTestResult test, boolean finished) { + if (children == null) { + children = new LinkedHashSet<>(); + } + children.add(test); + if (test instanceof PHPUnitTestCase && finished) { + addRunCount(1); + } + time += test.getTime(); + setStatus(test.getStatus()); + } + + /** + * Returns status count. + * + * @param status + * @return status count for provided status + */ + public int getStatusCount(final int status) { + return statusCount.counts[status]; + } + + /** + * Returns total tests count. + * + * @return total tests count + */ + public int getTotalCount() { + return totalCount; + } + + /** + * Sets test suite element parent. + * + * @param group + */ + public void setParent(final PHPUnitTestSuite group) { + parent = group; + } + + private void addRunCount(final int count) { + runCount += count; + if (parent != null) + ((PHPUnitTestSuite) parent).addRunCount(count); + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestWarning.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestWarning.java new file mode 100644 index 0000000000..00d9d1fea7 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTestWarning.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Test warning model element implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTestWarning extends AbstractPHPUnitTestEvent { + + private String code = ""; //$NON-NLS-1$ + + public PHPUnitTestWarning(final Map warning, final AbstractPHPUnitElement parent) { + super(warning, parent); + code = (String) warning.get(PHPUnitMessageParser.PROPERTY_CODE); + } + + /** + * Returns warning related code. + * + * @return warning related code + */ + public String getCode() { + return code; + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTraceFrame.java b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTraceFrame.java new file mode 100644 index 0000000000..538d71880c --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/java/org/eclipse/che/plugin/testing/phpunit/server/model/PHPUnitTraceFrame.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.phpunit.server.model; + +import java.nio.file.Paths; +import java.util.Map; + +import org.eclipse.che.plugin.testing.phpunit.server.PHPUnitMessageParser; + +/** + * Trace frame model element implementation. + * + * @author Bartlomiej Laczkowski + */ +public class PHPUnitTraceFrame extends AbstractPHPUnitElement { + + private String traceFunction = ""; //$NON-NLS-1$ + private String traceClass = ""; //$NON-NLS-1$ + private String traceType = PHPUnitMessageParser.CALL_DYNAMIC; + + public PHPUnitTraceFrame(final Map frame, final AbstractPHPUnitTestEvent parent) { + super(frame, parent); + traceFunction = (String) frame.get("function"); //$NON-NLS-1$ + traceClass = (String) frame.get("class"); //$NON-NLS-1$ + traceType = (String) frame.get("type"); //$NON-NLS-1$ + } + + /** + * Returns trace frame function name. + * + * @return trace frame function name + */ + public String getFunction() { + return traceFunction; + } + + /** + * Returns trace frame class name. + * + * @return trace frame class name + */ + public String getClassName() { + return traceClass; + } + + /** + * Returns trace frame type. + * + * @return trace frame type + */ + public String getTraceType() { + return traceType; + } + + @Override + public String toString() { + final StringBuffer result = new StringBuffer(1); + if (traceClass != null) + result.append(traceClass); + if (traceType != null) + result.append(traceType); + result.append(traceFunction); + if (file != null) { + String fileName = Paths.get(file).getFileName().toString(); + result.append('(' + fileName + ':' + line + ')'); + } else { + result.append("()"); + } + return result.toString(); + } + +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/resources/phpunit-printer/ZendPHPUnitLogger.php b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/resources/phpunit-printer/ZendPHPUnitLogger.php new file mode 100644 index 0000000000..a116604458 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/src/main/resources/phpunit-printer/ZendPHPUnitLogger.php @@ -0,0 +1,465 @@ +cleanTest(); + + $port = $_SERVER['ZEND_PHPUNIT_PORT']; + if (! isset($port)) { + $port = 7478; + } + $this->out = fsockopen('127.0.0.1', $port, $errno, $errstr, 5); + } + + public function startTestSuite(TestSuite $suite) + { + $this->writeTest($suite, 'start'); + } + + public function startTest(Test $test) + { + $this->cleanTest(); + $this->writeTest($test, 'start'); + ZendPHPUnitErrorHandlerTracer::getInstance()->start(); + } + + public function addError(Test $test, \Exception $e, $time) + { + $this->status = 'error'; + $this->exception = $e; + } + + public function addWarning(Test $test, Warning $e, $time) { + $this->status = 'warning'; + $this->exception = $e; + } + + public function addFailure(Test $test, AssertionFailedError $e, $time) + { + $this->status = 'fail'; + $this->exception = $e; + } + + public function addIncompleteTest(Test $test, \Exception $e, $time) + { + $this->status = 'incomplete'; + $this->exception = $e; + } + + public function addSkippedTest(Test $test, \Exception $e, $time) + { + $this->status = 'skip'; + $this->exception = $e; + } + + public function endTest(Test $test, $time) + { + $this->warnings = ZendPHPUnitErrorHandlerTracer::getInstance()->stop(); + $this->time = $time; + $this->writeTest($test, $this->status); + } + + public function endTestSuite(TestSuite $suite) + { + $this->writeTest($suite, 'end'); + } + + public function addRiskyTest(Test $test, \Exception $e, $time) + {} + + public function flush() + { + parent::flush(); + } + + private function cleanTest() + { + $this->status = 'pass'; + $this->exception = null; + $this->warnings = array(); + $this->time = 0; + } + + private function writeArray($array) + { + $result = $this->writeJson($this->encodeJson($array)); + return $result; + } + + private function writeTest(Test $test, $event) + { + // echo out test output + if ($test instanceof TestCase) { + $hasPerformed = false; + if (method_exists($test, 'hasPerformedExpectationsOnOutput')) { + $hasPerformed = $test->hasPerformedExpectationsOnOutput(); + } else { + $hasPerformed = $test->hasExpectationOnOutput(); + } + + if (! $hasPerformed && $test->getActualOutput() != null) { + echo $test->getActualOutput(); + } + } + // write log + $result = array( + 'event' => $event + ); + if ($test instanceof TestSuite) { + if (preg_match("*::*", $test->getName()) != 0) { // if it is a dataprovider test suite + // $result['target'] = 'testsuite-dataprovider'; + $result['target'] = 'testsuite'; + if ($event == 'start') + $this->dataProviderNumerator = 0; + elseif ($event == 'end') + $this->dataProviderNumerator = - 1; + } else { + $result['target'] = 'testsuite'; + $this->dataProviderNumerator = - 1; + } + try { + $class = new ReflectionClass($test->getName()); + $name = $class->getName(); + $file = $class->getFileName(); + $line = $class->getStartLine(); + $result['test'] = array( + 'name' => $name, + 'tests' => $test->count(), + 'file' => $file, + 'line' => $line + ); + } catch (ReflectionException $re) { + $name = $test->getName(); + $result['test'] = array( + 'name' => $name, + 'tests' => $test->count() + ); + } + } else { // If we're dealing with TestCase + $result['target'] = 'testcase'; + $result['time'] = $this->time; + $class = new ReflectionClass($test); + try { + $method = $class->getMethod($test->getName()); + if ($this->dataProviderNumerator < 0) { + $method_name = $method->getName(); + } else { + $method_name = $method->getName() . "[" . $this->dataProviderNumerator . "]"; + if ($event == 'start') { + $this->dataProviderNumerator ++; + } + } + $result['test'] = array( + 'name' => $method_name, + 'file' => $method->getFileName(), + 'line' => $method->getStartLine() + ); + } catch (ReflectionException $re) { + $result['test'] = array( + 'name' => $test->getName() + ); + } + } + if ($this->exception !== null) { + $message = $this->exception->getMessage(); + $diff = ""; + if ($this->exception instanceof ExpectationFailedException) { + if (method_exists($this->exception, "getDescription")) { + $message = $this->exception->getDescription(); + } else + if (method_exists($this->exception, "getMessage")) { // PHPUnit 3.6.3 + $message = $this->exception->getMessage(); + } + if (method_exists($this->exception, "getComparisonFailure") && method_exists($this->exception->getComparisonFailure(), "getDiff")) { + $diff = $this->exception->getComparisonFailure()->getDiff(); + } + } + $message = trim(preg_replace('/\s+/m', ' ', $message)); + $result += array( + 'exception' => array( + 'message' => $message, + 'diff' => $diff, + 'class' => get_class($this->exception), + 'file' => $this->exception->getFile(), + 'line' => $this->exception->getLine(), + 'trace' => ZendPHPUnitLogger::filterTrace($this->exception->getTrace()) + ) + ); + if (! isset($result['exception']['file'])) { + $result['exception']['filtered'] = true; + } + } + if (! empty($this->warnings)) { + $result += array( + 'warnings' => $this->warnings + ); + } + if (! $this->writeArray($result)) { + die(); + } + } + + private function writeJson($buffer) + { + if ($this->out && ! @feof($this->out)) { + return @fwrite($this->out, "$buffer\n"); + } + } + + private function escapeString($string) + { + return str_replace(array( + "\\", + "\"", + '/', + "\b", + "\f", + "\n", + "\r", + "\t" + ), array( + '\\\\', + '\"', + '\/', + '\b', + '\f', + '\n', + '\r', + '\t' + ), $string); + } + + private function encodeJson($array) + { + $result = ''; + if (is_scalar($array)) + $array = array( + $array + ); + $first = true; + foreach ($array as $key => $value) { + if (! $first) + $result .= ','; + else + $first = false; + $result .= sprintf('"%s":', $this->escapeString($key)); + if (is_array($value) || is_object($value)) + $result .= sprintf('%s', $this->encodeJson($value)); + else + $result .= sprintf('"%s"', $this->escapeString($value)); + } + return '{' . $result . '}'; + } + + public static function filterTrace($trace) + { + $filteredTrace = array(); + foreach ($trace as $frame) { + if (! isset($frame['file'])) + continue; + $filteredFrame = array( + 'file' => $frame['file'], + 'line' => $frame['line'], + 'function' => $frame['function'] + ); + if (isset($frame['class'])) + $filteredFrame += array( + 'class' => $frame['class'], + 'type' => $frame['type'] + ); + $filteredTrace[] = $filteredFrame; + } + return $filteredTrace; + } +} + +class ZendPHPUnitErrorHandlerTracer extends ZendPHPUnitErrorHandler +{ + + private static $ZendPHPUnitErrorHandlerTracer; + + /** + * + * @return ZendPHPUnitErrorHandlerTracer + */ + public static function getInstance() + { + if (self::$ZendPHPUnitErrorHandlerTracer === null) { + self::$ZendPHPUnitErrorHandlerTracer = new self(); + } + return self::$ZendPHPUnitErrorHandlerTracer; + } + + public static $errorCodes = array( + E_ERROR => 'Error', + E_WARNING => 'Warning', + E_PARSE => 'Parsing Error', + E_NOTICE => 'Notice', + E_CORE_ERROR => 'Core Error', + E_CORE_WARNING => 'Core Warning', + E_COMPILE_ERROR => 'Compile Error', + E_COMPILE_WARNING => 'Compile Warning', + E_USER_ERROR => 'User Error', + E_USER_WARNING => 'User Warning', + E_USER_NOTICE => 'User Notice', + E_STRICT => 'Runtime Notice', + E_RECOVERABLE_ERROR => 'Recoverable Error', + E_DEPRECATED => 'Deprecated', + E_USER_DEPRECATED => 'User Deprecated' + ); + + protected $warnings; + + public function handle($errno, $errstr, $errfile, $errline) + { + parent::handle($errno, $errstr, $errfile, $errline); + $warning = array( + 'code' => isset(self::$errorCodes[$errno]) ? self::$errorCodes[$errno] : $errno, + 'message' => $errstr, + 'file' => $errfile, + 'line' => $errline, + 'trace' => ZendPHPUnitLogger::filterTrace(debug_backtrace()), + 'time' => PHP_Timer::resourceUsage() + ); + $return = false; + switch ($errno) { // ignoring user abort + case E_USER_ERROR: + case E_RECOVERABLE_ERROR: + throw new ZendPHPUnitUserErrorException($warning['message'], $errno); + } + $this->warnings[] = $warning; + return $return; + } + + public function start() + { + $this->warnings = array(); + parent::start(); + } + + public function stop() + { + parent::stop(); + $return = $this->warnings; + $this->warnings = array(); + return $return; + } +} + +class ZendPHPUnitErrorHandler +{ + + private static $ZendPHPUnitErrorHandler; + + /** + * + * @return ZendPHPUnitErrorHandler + */ + public static function getInstance() + { + if (self::$ZendPHPUnitErrorHandler === null) { + self::$ZendPHPUnitErrorHandler = new self(); + } + return self::$ZendPHPUnitErrorHandler; + } + + public function handle($errno, $errstr, $errfile, $errline) + { + if (error_reporting() === 0) { + return false; + } + + if ($errfile === __FILE__ || (stripos($errfile, dirname(dirname(__FILE__))) === 0 && $errno !== E_USER_NOTICE)) + return true; + + // handle errors same as PHPUnit_Util_ErrorHandler + if ($errno == E_STRICT) { + if (PHPUnit_Framework_Error_Notice::$enabled !== TRUE) { + return FALSE; + } + + $exception = 'PHPUnit_Framework_Error_Notice'; + } + + else + if ($errno == E_WARNING) { + if (PHPUnit_Framework_Error_Warning::$enabled !== TRUE) { + return FALSE; + } + + $exception = 'PHPUnit_Framework_Error_Warning'; + } + + else + if ($errno == E_NOTICE) { + trigger_error($errstr, E_USER_NOTICE); + return FALSE; + } + + else { + $exception = 'PHPUnit_Framework_Error'; + } + + throw new $exception($errstr, $errno, $errfile, $errline, $trace = null); + } + + public function start() + { + set_error_handler(array( + &$this, + 'handle' + )); + } + + public function stop() + { + restore_error_handler(); + } +} + +class ZendPHPUnitUserErrorException extends Exception +{ +} diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml new file mode 100644 index 0000000000..1ed4a7f316 --- /dev/null +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml @@ -0,0 +1,39 @@ + + + + 4.0.0 + + che-plugin-testing-php-parent + org.eclipse.che.plugin + 5.14.0-SNAPSHOT + + che-plugin-testing-phpunit + pom + Che Plugin :: PHP Testing :: PHPUnit Parent + + che-plugin-testing-phpunit-ide + che-plugin-testing-phpunit-server + + + + + + org.eclipse.che.core + che-core-api-dto-maven-plugin + ${project.version} + + + + + diff --git a/plugins/plugin-testing-php/pom.xml b/plugins/plugin-testing-php/pom.xml new file mode 100644 index 0000000000..99ab375b80 --- /dev/null +++ b/plugins/plugin-testing-php/pom.xml @@ -0,0 +1,45 @@ + + + + 4.0.0 + + che-plugin-parent + org.eclipse.che.plugin + 5.14.0-SNAPSHOT + + che-plugin-testing-php-parent + pom + Che Plugin :: PHP Testing :: PHP Testing Parent + + plugin-testing-phpunit + + + + + + com.mycila + license-maven-plugin + + true + + + + org.eclipse.che.core + che-core-api-dto-maven-plugin + ${project.version} + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/pom.xml b/plugins/plugin-testing/che-plugin-testing-ide/pom.xml index 3a2dd77a40..0e192d8108 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/pom.xml +++ b/plugins/plugin-testing/che-plugin-testing-ide/pom.xml @@ -141,14 +141,7 @@ com.mycila license-maven-plugin - - **/**/TestingHandler.java - **/**/ExecutorPromiseMocker.java - **/**/PromiseMocker.java - **/**/FunctionAnswer.java - **/**/MockitoPrinter.java - **/**/TestServiceClientTest.java - + true diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestActionRunner.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestActionRunner.java new file mode 100644 index 0000000000..68f2f692eb --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestActionRunner.java @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide; + +import static org.eclipse.che.ide.api.notification.StatusNotification.DisplayMode.FLOAT_MODE; +import static org.eclipse.che.ide.api.notification.StatusNotification.Status.FAIL; +import static org.eclipse.che.ide.api.notification.StatusNotification.Status.PROGRESS; +import static org.eclipse.che.ide.api.notification.StatusNotification.Status.SUCCESS; + +import java.util.Map; + +import org.eclipse.che.api.promises.client.Operation; +import org.eclipse.che.api.promises.client.OperationException; +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.api.promises.client.PromiseError; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.ide.api.notification.NotificationManager; +import org.eclipse.che.ide.api.notification.StatusNotification; +import org.eclipse.che.plugin.testing.ide.view.TestResultPresenter; + +import com.google.inject.Inject; + +/** + * Test action runner. + * + * @author Bartlomiej Laczkowski + */ +public class TestActionRunner { + + private final TestServiceClient service; + private final NotificationManager notificationManager; + private final TestResultPresenter presenter; + + @Inject + public TestActionRunner(TestServiceClient service, + NotificationManager notificationManager, + TestResultPresenter presenter) { + this.service = service; + this.notificationManager = notificationManager; + this.presenter = presenter; + } + + public void run(String testFramework, String projectPath, Map parameters) { + presenter.clear(); + final StatusNotification notification = new StatusNotification("Running Tests...", PROGRESS, FLOAT_MODE); + notificationManager.notify(notification); + Promise testResultPromise = service.runTests(testFramework, projectPath, parameters); + testResultPromise.then(new Operation() { + @Override + public void apply(TestResultRootDto result) throws OperationException { + if (result.isEmpty()) { + notification.setStatus(FAIL); + notification.setTitle("No tests could be found"); + return; + } + notification.setStatus(SUCCESS); + switch (result.getStatus()) { + case SUCCESS: { + notification.setTitle("Test runner executed successfully"); + notification.setContent("All tests passed."); + break; + } + case FAILURE: { + notification.setTitle("Test runner executed successfully with test failures"); + notification.setContent("Some test(s) failed."); + break; + } + case ERROR: { + notification.setTitle("Test runner executed successfully with test errors"); + notification.setContent("Some test(s) failed with errors."); + break; + } + case WARNING: { + notification.setTitle("Test runner executed successfully with test warnings"); + notification.setContent("Some test(s) passed with warnings."); + break; + } + case SKIPPED: { + notification.setTitle("Test runner executed successfully with some tests skipped"); + notification.setContent("Some test(s) were skipped."); + break; + } + } + presenter.handleResponse(result); + } + }).catchError(new Operation() { + @Override + public void apply(PromiseError exception) throws OperationException { + notification.setTitle("Failed to execute test runner"); + notification.setContent("Please see dev-machine log for more details."); + notification.setStatus(FAIL); + } + }); + } + +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestResources.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestResources.java index 629b3d5e26..0dda1ea2ea 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestResources.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestResources.java @@ -18,19 +18,21 @@ import com.google.gwt.resources.client.ClientBundle; * Resources for test extension. * * @author Mirage Abeysekara - * */ public interface TestResources extends ClientBundle { - + @Source("org/eclipse/che/plugin/testing/ide/svg/test.svg") + @Deprecated SVGResource testIcon(); @Source("org/eclipse/che/plugin/testing/ide/svg/test_results_pass.svg") + @Deprecated SVGResource testResultsPass(); @Source("org/eclipse/che/plugin/testing/ide/svg/test_results_fail.svg") + @Deprecated SVGResource testResultsFail(); - + @Source("org/eclipse/che/plugin/testing/ide/svg/test_method_fail.svg") SVGResource testMethodFail(); @@ -42,4 +44,19 @@ public interface TestResources extends ClientBundle { @Source("org/eclipse/che/plugin/testing/ide/svg/show_failures_only_icon.svg") SVGResource showFailuresOnlyButtonIcon(); + + @Source("org/eclipse/che/plugin/testing/ide/svg/test_result_failure.svg") + SVGResource testResultFailureIcon(); + + @Source("org/eclipse/che/plugin/testing/ide/svg/test_result_success.svg") + SVGResource testResultSuccessIcon(); + + @Source("org/eclipse/che/plugin/testing/ide/svg/test_result_warning.svg") + SVGResource testResultWarningIcon(); + + @Source("org/eclipse/che/plugin/testing/ide/svg/test_result_skipped.svg") + SVGResource testResultSkippedIcon(); + + @Source("org/eclipse/che/plugin/testing/ide/svg/test_result_trace_frame.svg") + SVGResource testResultTraceFrameIcon(); } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java index 4acdf7d01b..01aefdaae9 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/TestServiceClient.java @@ -27,6 +27,8 @@ import org.eclipse.che.api.promises.client.js.JsPromiseError; import org.eclipse.che.api.promises.client.js.RejectFunction; import org.eclipse.che.api.promises.client.js.ResolveFunction; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.che.ide.MimeType; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.command.CommandImpl; @@ -110,7 +112,6 @@ public class TestServiceClient { this.processesPanelPresenter = processesPanelPresenter; this.testGoal = testGoal; } - public Promise getOrCreateTestCompileCommand() { List commands = commandManager.getCommands(); @@ -132,6 +133,7 @@ public class TestServiceClient { return promiseProvider.resolve(null); } + @Deprecated public Promise getTestResult(String projectPath, String testFramework, Map parameters) { return getTestResult(projectPath, testFramework, parameters, null); } @@ -255,4 +257,32 @@ public class TestServiceClient { .send(dtoUnmarshallerFactory.newUnmarshaller(TestResult.class)); } + public Promise runTests(String testFramework, String projectPath, Map parameters) { + StringBuilder sb = new StringBuilder(); + if (parameters != null) { + for (Map.Entry e : parameters.entrySet()) { + if (sb.length() > 0) { + sb.append('&'); + } + sb.append(URL.encode(e.getKey())).append('=').append(URL.encode(e.getValue())); + } + } + String url = appContext.getDevMachine().getWsAgentBaseUrl() + "/che/testing/runtests/?testFramework=" + testFramework + + "&projectPath=" + projectPath + "&" + sb.toString(); + return asyncRequestFactory.createGetRequest(url).header(HTTPHeader.ACCEPT, MimeType.APPLICATION_JSON) + .send(dtoUnmarshallerFactory.newUnmarshaller(TestResultRootDto.class)); + } + + public Promise> getTestResults(String testFramework, List testResultsPath) { + StringBuilder params = new StringBuilder(); + for (int i = 0; i < testResultsPath.size(); i++) { + params.append("&path" + i + '='); + params.append(testResultsPath.get(i)); + } + String url = appContext.getDevMachine().getWsAgentBaseUrl() + "/che/testing/gettestresults/?testFramework=" + + testFramework + params.toString(); + return asyncRequestFactory.createGetRequest(url).header(HTTPHeader.ACCEPT, MimeType.APPLICATION_JSON) + .send(dtoUnmarshallerFactory.newListUnmarshaller(TestResultDto.class)); + } + } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/inject/TestingGinModule.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/inject/TestingGinModule.java index d8ee0e3946..d24a150526 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/inject/TestingGinModule.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/inject/TestingGinModule.java @@ -10,13 +10,13 @@ *******************************************************************************/ package org.eclipse.che.plugin.testing.ide.inject; -import com.google.gwt.inject.client.AbstractGinModule; -import com.google.gwt.inject.client.assistedinject.GinFactoryModuleBuilder; - import org.eclipse.che.ide.api.extension.ExtensionGinModule; import org.eclipse.che.plugin.testing.ide.view.TestResultView; import org.eclipse.che.plugin.testing.ide.view.TestResultViewImpl; import org.eclipse.che.plugin.testing.ide.view.navigation.factory.TestResultNodeFactory; + +import com.google.gwt.inject.client.AbstractGinModule; +import com.google.gwt.inject.client.assistedinject.GinFactoryModuleBuilder; /** * Gin Module for test runner extension. * diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultPresenter.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultPresenter.java index 9f8b925aab..ae32193f4a 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultPresenter.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultPresenter.java @@ -11,6 +11,7 @@ package org.eclipse.che.plugin.testing.ide.view; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.che.ide.api.parts.PartStackType; import org.eclipse.che.ide.api.parts.WorkspaceAgent; import org.eclipse.che.ide.api.parts.base.BasePresenter; @@ -36,10 +37,8 @@ public class TestResultPresenter extends BasePresenter implements TestResultView private final TestResultView view; @Inject - public TestResultPresenter(WorkspaceAgent workspaceAgent, - TestLocalizationConstant localizationConstant, - TestResources resources, - TestResultView view) { + public TestResultPresenter(WorkspaceAgent workspaceAgent, TestLocalizationConstant localizationConstant, + TestResources resources, TestResultView view) { this.workspaceAgent = workspaceAgent; this.localizationConstant = localizationConstant; this.resources = resources; @@ -78,9 +77,26 @@ public class TestResultPresenter extends BasePresenter implements TestResultView * @param response * result of the test runner */ + @Deprecated public void handleResponse(TestResult response) { workspaceAgent.openPart(this, PartStackType.INFORMATION); workspaceAgent.setActivePart(this); view.showResults(response); } + + /** + * Activates test results part and shows the results. + * + * @param response + * result root of the test runner + */ + public void handleResponse(TestResultRootDto response) { + workspaceAgent.openPart(this, PartStackType.INFORMATION); + workspaceAgent.setActivePart(this); + view.showResults(response); + } + + public void clear() { + view.clear(); + } } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultView.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultView.java index 4f428f5c7e..63f89d183f 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultView.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultView.java @@ -11,6 +11,7 @@ package org.eclipse.che.plugin.testing.ide.view; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.che.ide.api.mvp.View; import org.eclipse.che.ide.api.parts.base.BaseActionDelegate; @@ -20,6 +21,7 @@ import org.eclipse.che.ide.api.parts.base.BaseActionDelegate; * @author Mirage Abeysekara */ public interface TestResultView extends View { + /** * Sets whether this panel is visible. * @@ -34,7 +36,21 @@ public interface TestResultView extends View { * @param result * test results which comes from the server */ + @Deprecated void showResults(TestResult result); + + /** + * Activate Test results part. + * + * @param result + * test results which comes from the server + */ + void showResults(TestResultRootDto result); + + /** + * Clears the result view. + */ + void clear(); interface ActionDelegate extends BaseActionDelegate { } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.java index 2c00c1f07c..a65ae6fbc8 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.java @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.che.plugin.testing.ide.view; +import static org.eclipse.che.ide.ui.smartTree.SelectionModel.Mode.SINGLE; import static org.eclipse.che.plugin.maven.shared.MavenAttributes.DEFAULT_TEST_SOURCE_FOLDER; import java.util.ArrayList; @@ -20,20 +21,6 @@ import java.util.List; import java.util.Map; import javax.validation.constraints.NotNull; -import com.google.common.base.Optional; -import com.google.gwt.core.client.GWT; -import com.google.gwt.dom.client.Style; -import com.google.gwt.event.logical.shared.SelectionEvent; -import com.google.gwt.event.logical.shared.SelectionHandler; -import com.google.gwt.uibinder.client.UiBinder; -import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.Timer; -import com.google.gwt.user.client.ui.FlowPanel; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.SplitLayoutPanel; -import com.google.gwt.user.client.ui.Widget; -import com.google.inject.Inject; -import com.google.inject.Singleton; import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; @@ -41,6 +28,9 @@ import org.eclipse.che.api.promises.client.Promise; import org.eclipse.che.api.promises.client.PromiseError; import org.eclipse.che.api.testing.shared.TestCase; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceFrameDto; import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.data.tree.Node; import org.eclipse.che.ide.api.data.tree.NodeInterceptor; @@ -62,12 +52,32 @@ import org.eclipse.che.ide.ui.smartTree.NodeStorage; import org.eclipse.che.ide.ui.smartTree.NodeUniqueKeyProvider; import org.eclipse.che.ide.ui.smartTree.Tree; import org.eclipse.che.ide.util.loging.Log; -import org.eclipse.che.plugin.testing.ide.TestResources; import org.eclipse.che.plugin.testing.ide.view.navigation.TestClassNavigation; import org.eclipse.che.plugin.testing.ide.view.navigation.factory.TestResultNodeFactory; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.AbstractTestResultTreeNode; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultClassNode; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultGroupNode; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultMethodNode; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultRootNode; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultTraceFrameNode; + +import com.google.common.base.Optional; +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.Unit; +import com.google.gwt.event.logical.shared.SelectionEvent; +import com.google.gwt.event.logical.shared.SelectionHandler; +import com.google.gwt.resources.client.CssResource; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.user.client.Timer; +import com.google.gwt.user.client.ui.DockLayoutPanel; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.SplitLayoutPanel; +import com.google.gwt.user.client.ui.Widget; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.google.web.bindery.event.shared.EventBus; /** * Implementation for TestResult view. Uses tree for presenting test results. @@ -76,46 +86,56 @@ import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultMethod */ @Singleton public class TestResultViewImpl extends BaseView - implements TestResultView, TestClassNavigation { + implements TestResultView, TestClassNavigation { interface TestResultViewImplUiBinder extends UiBinder { } - private static final TestResultViewImplUiBinder UI_BINDER = GWT.create(TestResultViewImplUiBinder.class); + interface Styles extends CssResource { - private final JavaNavigationService javaNavigationService; - private final AppContext appContext; - private final EditorAgent editorAgent; - private final TestResultNodeFactory nodeFactory; - private TestResult lastTestResult; - private Tree resultTree; - private int lastWentLine = 0; - private boolean showFailuresOnly = false; + String traceOutputMessage(); + + String traceOutputStack(); + + } + + private static final TestResultViewImplUiBinder UI_BINDER = GWT.create(TestResultViewImplUiBinder.class); + + private final JavaNavigationService javaNavigationService; + private final AppContext appContext; + private final EditorAgent editorAgent; + private final EventBus eventBus; + private final TestResultNodeFactory nodeFactory; + private TestResult lastTestResult; + private int lastWentLine = 0; + private boolean showFailuresOnly = false; @UiField(provided = true) - SplitLayoutPanel splitLayoutPanel; + SplitLayoutPanel splitLayoutPanel; @UiField - Label outputResult; + Styles style; @UiField - FlowPanel navigationPanel; + DockLayoutPanel navigationPanel; + + @UiField + FlowPanel traceOutputPanel; @Inject - public TestResultViewImpl(TestResources testResources, - PartStackUIResources resources, - JavaNavigationService javaNavigationService, - EditorAgent editorAgent, - AppContext appContext, - TestResultNodeFactory nodeFactory) { + public TestResultViewImpl(PartStackUIResources resources, JavaNavigationService javaNavigationService, + EditorAgent editorAgent, AppContext appContext, EventBus eventBus, TestResultNodeFactory nodeFactory) { super(resources); this.javaNavigationService = javaNavigationService; this.editorAgent = editorAgent; this.appContext = appContext; + this.eventBus = eventBus; this.nodeFactory = nodeFactory; splitLayoutPanel = new SplitLayoutPanel(1); setContentWidget(UI_BINDER.createAndBindUi(this)); + } + private Tree createTree() { NodeUniqueKeyProvider idProvider = new NodeUniqueKeyProvider() { @NotNull @Override @@ -125,47 +145,53 @@ public class TestResultViewImpl extends BaseView }; NodeStorage nodeStorage = new NodeStorage(idProvider); NodeLoader nodeLoader = new NodeLoader(Collections. emptySet()); - resultTree = new Tree(nodeStorage, nodeLoader); - resultTree.getSelectionModel().addSelectionHandler(new SelectionHandler() { - @Override - public void onSelection(SelectionEvent event) { - Node methodNode = event.getSelectedItem(); - if (methodNode instanceof TestResultMethodNode) { - outputResult.setText(((TestResultMethodNode)methodNode).getStackTrace()); - } - } - }); - resultTree.getElement().getStyle().setWidth(100, Style.Unit.PCT); - resultTree.getElement().getStyle().setHeight(100, Style.Unit.PCT); - navigationPanel.add(resultTree); - } - - /** - * {@inheritDoc} - */ - @Override - protected void focusView() { + Tree tree = new Tree(nodeStorage, nodeLoader); + tree.getSelectionModel().setSelectionMode(SINGLE); + return tree; } /** * {@inheritDoc} */ @Override + @Deprecated public void showResults(TestResult result) { - this.lastTestResult = result; + clear(); + lastTestResult = result; setTitle("Test Results (Framework: " + result.getTestFramework() + ")"); - buildTree(); + fillNavigationPanel(result); focusView(); } - private void buildTree() { - resultTree.getNodeStorage().clear(); - outputResult.setText(""); + /** + * {@inheritDoc} + */ + @Override + public void showResults(TestResultRootDto result) { + setTitle("Test Results (Framework: " + result.getTestFrameworkName() + ")"); + fillNavigationPanel(result); + focusView(); + } + + /** + * {@inheritDoc} + */ + @Override + public void clear() { + setTitle(""); + navigationPanel.clear(); + traceOutputPanel.clear(); + } + + @Deprecated + private void fillNavigationPanel(final TestResult result) { + Tree resultTree = buildResultTree(result); TestResultGroupNode root = nodeFactory.getTestResultGroupNode(lastTestResult, showFailuresOnly, new Runnable() { @Override public void run() { showFailuresOnly = !showFailuresOnly; - buildTree(); + clear(); + fillNavigationPanel(result); } }); HashMap> classNodeHashMap = new LinkedHashMap<>(); @@ -178,8 +204,8 @@ public class TestResultViewImpl extends BaseView classNodeHashMap.put(testCase.getClassName(), methodNodes); } classNodeHashMap.get(testCase.getClassName()) - .add(nodeFactory.getTestResultMethodNodeNode(!testCase.isFailed(), testCase.getMethod(), testCase.getTrace(), - testCase.getMessage(), testCase.getFailingLine(), this)); + .add(nodeFactory.getTestResultMethodNodeNode(!testCase.isFailed(), testCase.getMethod(), + testCase.getTrace(), testCase.getMessage(), testCase.getFailingLine(), this)); } List classNodes = new ArrayList<>(); for (Map.Entry> entry : classNodeHashMap.entrySet()) { @@ -188,11 +214,84 @@ public class TestResultViewImpl extends BaseView classNodes.add(classNode); } root.setChildren(classNodes); + navigationPanel.add(resultTree); resultTree.getNodeStorage().add(root); resultTree.expandAll(); } + private void fillNavigationPanel(TestResultRootDto result) { + Tree resultTree = buildResultTree(result); + TestResultRootNode root = nodeFactory.createTestResultRootNode(result, result.getTestFrameworkName()); + resultTree.getNodeStorage().add(root); + navigationPanel.add(resultTree); + } + + @Deprecated + private Tree buildResultTree(TestResult result) { + Tree resultTree = createTree(); + resultTree.getSelectionModel().addSelectionHandler(new SelectionHandler() { + @Override + public void onSelection(SelectionEvent event) { + Node selectedNode = event.getSelectedItem(); + if (selectedNode instanceof TestResultMethodNode) { + fillOutputPanel(((TestResultMethodNode) selectedNode).getStackTrace()); + } + } + }); + return resultTree; + } + + private Tree buildResultTree(TestResultRootDto result) { + Tree resultTree = createTree(); + resultTree.getSelectionModel().addSelectionHandler(new SelectionHandler() { + @Override + public void onSelection(SelectionEvent event) { + Node selectedNode = event.getSelectedItem(); + if (selectedNode instanceof AbstractTestResultTreeNode) { + fillOutputPanel((AbstractTestResultTreeNode) selectedNode); + } + } + }); + return resultTree; + } + + @Deprecated + private void fillOutputPanel(String text) { + traceOutputPanel.clear(); + Label traceMessageLabel = new Label(text); + traceMessageLabel.setStyleName(style.traceOutputMessage()); + traceOutputPanel.add(traceMessageLabel); + } + + private void fillOutputPanel(AbstractTestResultTreeNode node) { + traceOutputPanel.clear(); + TestResultTraceDto testTrace = node.getTestTrace(); + if (testTrace == null) + return; + Label traceOutputMessage = new Label(testTrace.getMessage()); + traceOutputMessage.setStyleName(style.traceOutputMessage()); + traceOutputMessage.setWordWrap(true); + traceOutputPanel.add(traceOutputMessage); + Tree traceTree = buildTraceTree(testTrace); + DockLayoutPanel traceOutputStack = new DockLayoutPanel(Unit.PX); + traceOutputStack.setStyleName(style.traceOutputStack()); + traceOutputStack.add(traceTree); + traceOutputPanel.add(traceOutputStack); + } + + private Tree buildTraceTree(TestResultTraceDto trace) { + Tree traceTree = createTree(); + List traceNodes = new ArrayList<>(); + for (TestResultTraceFrameDto traceFrame : trace.getTraceFrames()) { + TestResultTraceFrameNode traceNode = nodeFactory.createTestResultTraceFrameNode(traceFrame); + traceNodes.add(traceNode); + } + traceTree.getNodeStorage().add(traceNodes); + return traceTree; + } + @Override + @Deprecated public void gotoClass(final String packagePath, String className, String methodName, int line) { if (lastTestResult == null) { return; @@ -214,13 +313,10 @@ public class TestResultViewImpl extends BaseView @Override public void run() { EditorPartPresenter editorPart = editorAgent.getActiveEditor(); - final Document doc = ((TextEditor)editorPart).getDocument(); - if (line == -1 && - className != null && - methodName != null) { - Promise cuPromise = - javaNavigationService.getCompilationUnit(file.getProject().getLocation(), - className, true); + final Document doc = ((TextEditor) editorPart).getDocument(); + if (line == -1 && className != null && methodName != null) { + Promise cuPromise = javaNavigationService + .getCompilationUnit(file.getProject().getLocation(), className, true); cuPromise.then(new Operation() { @Override public void apply(CompilationUnit cu) throws OperationException { @@ -230,8 +326,10 @@ public class TestResultViewImpl extends BaseView if (methodName.equals(m.getElementName())) { Region methodRegion = m.getFileRegion(); if (methodRegion != null) { - lastWentLine = doc.getLineAtOffset(methodRegion.getOffset()); - doc.setCursorPosition(new TextPosition(lastWentLine - 1, 0)); + lastWentLine = doc + .getLineAtOffset(methodRegion.getOffset()); + doc.setCursorPosition( + new TextPosition(lastWentLine - 1, 0)); } } } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/SimpleLocationHandler.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/SimpleLocationHandler.java new file mode 100644 index 0000000000..5446968d22 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/SimpleLocationHandler.java @@ -0,0 +1,155 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide.view.navigation; + +import org.eclipse.che.api.promises.client.Operation; +import org.eclipse.che.api.promises.client.OperationException; +import org.eclipse.che.api.promises.client.PromiseError; +import org.eclipse.che.api.testing.shared.dto.SimpleLocationDto; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.editor.EditorAgent; +import org.eclipse.che.ide.api.editor.EditorPartPresenter; +import org.eclipse.che.ide.api.editor.document.Document; +import org.eclipse.che.ide.api.editor.text.TextPosition; +import org.eclipse.che.ide.api.editor.texteditor.TextEditor; +import org.eclipse.che.ide.api.resources.File; +import org.eclipse.che.ide.api.resources.VirtualFile; + +import com.google.common.base.Optional; +import com.google.gwt.user.client.Timer; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.inject.Inject; + +/** + * Simple location DTO handler. It is responsible for opening the provided location. + * + * @author Bartlomiej Laczkowski + */ +public class SimpleLocationHandler { + + private static final String PROJECTS_ROOT = "/projects"; + + private final EditorAgent editorAgent; + private final AppContext appContext; + + @Inject + public SimpleLocationHandler(EditorAgent editorAgent, AppContext appContext) { + this.editorAgent = editorAgent; + this.appContext = appContext; + } + + /** + * Tries to open provided location. + * + * @param location + */ + public void openFile(final SimpleLocationDto location) { + openFile(location, null); + } + + /** + * Tries to open provided location. Supports callback if there is a need. + * + * @param location + * @param callback + */ + public void openFile(final SimpleLocationDto location, final AsyncCallback callback) { + tryFindFileInWorkspace(location, new AsyncCallback() { + @Override + public void onSuccess(VirtualFile virtualFile) { + if (callback != null) + callback.onSuccess(virtualFile); + } + + @Override + public void onFailure(Throwable caught) { + if (callback != null) + callback.onFailure(caught); + } + }); + } + + private void tryFindFileInWorkspace(final SimpleLocationDto location, final AsyncCallback callback) { + if (location == null) { + return; + } + String resourcePath = location.getResourcePath(); + if (resourcePath == null || resourcePath.isEmpty()) { + return; + } + if (resourcePath.startsWith(PROJECTS_ROOT)) + resourcePath = resourcePath.substring(PROJECTS_ROOT.length() + 1); + try { + appContext.getWorkspaceRoot().getFile(resourcePath).then(new Operation>() { + @Override + public void apply(Optional file) throws OperationException { + if (file.isPresent()) { + openFileAndScrollToLine(file.get(), location.getLineNumber(), callback); + } else { + callback.onFailure(new IllegalArgumentException(location.getResourcePath() + " not found.")); + } + } + }).catchError(new Operation() { + @Override + public void apply(PromiseError arg) throws OperationException { + callback.onFailure(new IllegalArgumentException(location.getResourcePath() + " not found.")); + } + }); + } catch (IllegalStateException ignored) { + callback.onFailure(new IllegalArgumentException(location.getResourcePath() + " not found.")); + } + } + + private void openFileAndScrollToLine(final VirtualFile virtualFile, + final int scrollToLine, + final AsyncCallback callback) { + editorAgent.openEditor(virtualFile, new EditorAgent.OpenEditorCallback() { + @Override + public void onEditorOpened(EditorPartPresenter editor) { + new Timer() { + @Override + public void run() { + scrollToLine(editorAgent.getActiveEditor(), scrollToLine); + callback.onSuccess(virtualFile); + } + }.schedule(300); + } + + @Override + public void onEditorActivated(EditorPartPresenter editor) { + new Timer() { + @Override + public void run() { + scrollToLine(editorAgent.getActiveEditor(), scrollToLine); + callback.onSuccess(virtualFile); + } + }.schedule(300); + } + + @Override + public void onInitializationFailed() { + callback.onFailure(new IllegalStateException("Initialization " + virtualFile.getName() + + " in the editor failed")); + } + }); + } + + private void scrollToLine(EditorPartPresenter editor, int lineNumber) { + if (editor instanceof TextEditor) { + TextEditor textEditor = (TextEditor) editor; + Document document = textEditor.getDocument(); + if (document != null) { + TextPosition newPosition = new TextPosition(lineNumber, 0); + document.setCursorPosition(newPosition); + } + } + } +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/TestClassNavigation.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/TestClassNavigation.java index 23180e22d1..8e47fdffb2 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/TestClassNavigation.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/TestClassNavigation.java @@ -14,6 +14,7 @@ package org.eclipse.che.plugin.testing.ide.view.navigation; * Enables navigation to the failed test class. * @author Mirage Abeysekara */ +@Deprecated public interface TestClassNavigation { /** @@ -22,5 +23,6 @@ public interface TestClassNavigation { * @param packagePath * @param line */ + @Deprecated void gotoClass(String packagePath, String className, String methodName, int line); } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/factory/TestResultNodeFactory.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/factory/TestResultNodeFactory.java index 55173d2b8d..035d619792 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/factory/TestResultNodeFactory.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/factory/TestResultNodeFactory.java @@ -11,10 +11,16 @@ package org.eclipse.che.plugin.testing.ide.view.navigation.factory; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceFrameDto; import org.eclipse.che.plugin.testing.ide.view.navigation.TestClassNavigation; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultClassNode; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultGroupNode; import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultMethodNode; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultNode; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultRootNode; +import org.eclipse.che.plugin.testing.ide.view.navigation.nodes.TestResultTraceFrameNode; import com.google.inject.assistedinject.Assisted; @@ -25,16 +31,28 @@ import com.google.inject.assistedinject.Assisted; */ public interface TestResultNodeFactory { + TestResultRootNode createTestResultRootNode(TestResultRootDto testResultRootDto, + String frameworkName); + + TestResultNode createTestResultEntryNode(TestResultDto testResultDto, + String frameworkName); + + TestResultTraceFrameNode createTestResultTraceFrameNode(TestResultTraceFrameDto testResultTraceFrameDto); + + @Deprecated TestResultGroupNode getTestResultGroupNode(TestResult result, boolean showFailuresOnly, Runnable showOnlyFailuresDelegate); + @Deprecated TestResultClassNode getTestResultClassNodeNode(String className); + @Deprecated TestResultMethodNode getTestResultMethodNodeNode(boolean success, @Assisted("methodName") String methodName, - @Assisted("stackTrace") String stackTrace, - @Assisted("message") String message, + @Assisted("stackTrace") String stackTrace, + @Assisted("message") String message, int lineNumber, TestClassNavigation navigationHandler); + } diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/AbstractTestResultTreeNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/AbstractTestResultTreeNode.java new file mode 100644 index 0000000000..dcd0615e7f --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/AbstractTestResultTreeNode.java @@ -0,0 +1,113 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide.view.navigation.nodes; + +import static org.eclipse.che.ide.api.theme.Style.getEditorInfoTextColor; + +import javax.validation.constraints.NotNull; + +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceDto; +import org.eclipse.che.ide.api.data.tree.AbstractTreeNode; +import org.eclipse.che.ide.ui.smartTree.presentation.HasPresentation; +import org.eclipse.che.ide.ui.smartTree.presentation.NodePresentation; +import org.eclipse.che.plugin.testing.ide.TestResources; +import org.eclipse.che.plugin.testing.ide.TestServiceClient; +import org.eclipse.che.plugin.testing.ide.view.navigation.factory.TestResultNodeFactory; + +/** + * Abstract implementation of test result tree node. + * + * @author Bartlomiej Laczkowski + */ +public abstract class AbstractTestResultTreeNode extends AbstractTreeNode implements HasPresentation { + + protected final TestResources testResources; + protected final TestResultNodeFactory nodeFactory; + protected final TestServiceClient testServiceClient; + protected final String frameworkName; + private NodePresentation nodePresentation; + + private static final String TEXT_INFO_CSS = "color: " + getEditorInfoTextColor() + "; font-size: 11px"; + + public AbstractTestResultTreeNode(TestServiceClient testServiceClient, + TestResultNodeFactory nodeFactory, + TestResources testResources, + String frameworkName) { + this.testServiceClient = testServiceClient; + this.nodeFactory = nodeFactory; + this.testResources = testResources; + this.frameworkName = frameworkName; + } + + /** + * Implementors should return related test result trace if there is any. + * + * @return related test result trace + */ + public abstract TestResultTraceDto getTestTrace(); + + /** + * Implementors should return related test result info text if there is any. + * + * @return related test result info text + */ + public abstract String getTestInfoText(); + + /** + * Implementors should return related test result status. + * + * @return related test result status + */ + public abstract TestResultStatus getTestStatus(); + + @Override + public void updatePresentation(@NotNull NodePresentation presentation) { + String infoText = getTestInfoText(); + switch (getTestStatus()) { + case FAILURE: + case ERROR: { + presentation.setPresentableIcon(testResources.testResultFailureIcon()); + break; + } + case SUCCESS: { + presentation.setPresentableIcon(testResources.testResultSuccessIcon()); + break; + } + case WARNING: { + presentation.setPresentableIcon(testResources.testResultWarningIcon()); + break; + } + case SKIPPED: { + presentation.setPresentableIcon(testResources.testResultSkippedIcon()); + break; + } + } + presentation.setPresentableText(getName()); + if (infoText != null) { + presentation.setInfoText(infoText); + presentation.setInfoTextCss(TEXT_INFO_CSS); + } + } + + @Override + public NodePresentation getPresentation(boolean update) { + if (nodePresentation == null) { + nodePresentation = new NodePresentation(); + updatePresentation(nodePresentation); + } + if (update) { + updatePresentation(nodePresentation); + } + return nodePresentation; + } + +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultClassNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultClassNode.java index 581d6d0373..65c09d5071 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultClassNode.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultClassNode.java @@ -32,6 +32,7 @@ import com.google.inject.assistedinject.Assisted; * * @author Mirage Abeysekara */ +@Deprecated public class TestResultClassNode extends AbstractTreeNode implements HasPresentation { private final String className; diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultGroupNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultGroupNode.java index 5c84adc3a1..93fe41116c 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultGroupNode.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultGroupNode.java @@ -44,6 +44,7 @@ import elemental.html.SpanElement; * * @author Mirage Abeysekara */ +@Deprecated public class TestResultGroupNode extends AbstractTreeNode implements HasPresentation { private NodePresentation nodePresentation; diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultMethodNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultMethodNode.java index 023e0bb213..779802b4c0 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultMethodNode.java +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultMethodNode.java @@ -33,6 +33,7 @@ import com.google.inject.assistedinject.Assisted; * * @author Mirage Abeysekara */ +@Deprecated public class TestResultMethodNode extends AbstractTreeNode implements HasAction, HasPresentation { private String methodName; diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultNode.java new file mode 100644 index 0000000000..2704e1ae40 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultNode.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide.view.navigation.nodes; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.che.api.promises.client.Function; +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.api.testing.shared.common.TestResultType; +import org.eclipse.che.api.testing.shared.dto.SimpleLocationDto; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceDto; +import org.eclipse.che.ide.api.data.tree.HasAction; +import org.eclipse.che.ide.api.data.tree.Node; +import org.eclipse.che.plugin.testing.ide.TestResources; +import org.eclipse.che.plugin.testing.ide.TestServiceClient; +import org.eclipse.che.plugin.testing.ide.view.navigation.SimpleLocationHandler; +import org.eclipse.che.plugin.testing.ide.view.navigation.factory.TestResultNodeFactory; + +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; + +/** + * Test result node (i.e. test suite, test case). + * + * @author Bartlomiej Laczkowski + */ +public class TestResultNode extends AbstractTestResultTreeNode implements HasAction { + + private final TestResultDto testResultDto; + private final SimpleLocationHandler simpleLocationHandler; + + @Inject + public TestResultNode(TestServiceClient testServiceClient, + TestResultNodeFactory nodeFactory, + TestResources testResources, + SimpleLocationHandler simpleLocationHandler, + @Assisted TestResultDto testResultDto, + @Assisted String frameworkName) { + super(testServiceClient, nodeFactory, testResources, frameworkName); + this.testResultDto = testResultDto; + this.simpleLocationHandler = simpleLocationHandler; + } + + @Override + public String getName() { + return testResultDto.getName(); + } + + @Override + public boolean isLeaf() { + return testResultDto.getType() == TestResultType.TEST_CASE ? true : false; + } + + @Override + public String getTestInfoText() { + if (testResultDto.getInfoText() != null) + return testResultDto.getInfoText(); + return null; + } + + @Override + public TestResultStatus getTestStatus() { + return testResultDto.getStatus(); + } + + @Override + public TestResultTraceDto getTestTrace() { + return testResultDto.getTrace(); + } + + @Override + public void actionPerformed() { + SimpleLocationDto location = testResultDto.getTestLocation(); + if (location != null) { + simpleLocationHandler.openFile(location); + } + } + + @Override + protected Promise> getChildrenImpl() { + final List children = new ArrayList(); + Promise> promise = testServiceClient.getTestResults(frameworkName, + testResultDto.getResultPath()); + return promise.then(new Function, List>() { + @Override + public List apply(List arg) { + for (TestResultDto entry : arg) { + TestResultNode child = nodeFactory.createTestResultEntryNode(entry, frameworkName); + children.add(child); + } + return children; + } + }); + } + +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultRootNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultRootNode.java new file mode 100644 index 0000000000..a6773fd659 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultRootNode.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide.view.navigation.nodes; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.che.api.promises.client.Function; +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceDto; +import org.eclipse.che.ide.api.data.tree.Node; +import org.eclipse.che.plugin.testing.ide.TestResources; +import org.eclipse.che.plugin.testing.ide.TestServiceClient; +import org.eclipse.che.plugin.testing.ide.view.navigation.factory.TestResultNodeFactory; + +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; + +/** + * Test results root node. + * + * @author Bartlomiej Laczkowski + */ +public class TestResultRootNode extends AbstractTestResultTreeNode { + + private final TestResultRootDto testResultRootDto; + + @Inject + public TestResultRootNode(TestServiceClient testServiceClient, + TestResultNodeFactory nodeFactory, + TestResources testResources, + @Assisted TestResultRootDto testResultRootDto, + @Assisted String frameworkName) { + super(testServiceClient, nodeFactory, testResources, frameworkName); + this.testResultRootDto = testResultRootDto; + + } + + @Override + public String getName() { + return testResultRootDto.getName(); + } + + @Override + public boolean isLeaf() { + return false; + } + + @Override + public String getTestInfoText() { + if (testResultRootDto.getInfoText() != null) + return testResultRootDto.getInfoText(); + return null; + } + + @Override + public TestResultStatus getTestStatus() { + return testResultRootDto.getStatus(); + } + + @Override + public TestResultTraceDto getTestTrace() { + return testResultRootDto.getTrace(); + } + + @Override + protected Promise> getChildrenImpl() { + final List children = new ArrayList(); + Promise> promise = testServiceClient.getTestResults(frameworkName, + testResultRootDto.getResultPath()); + return promise.then(new Function, List>() { + @Override + public List apply(List arg) { + for (TestResultDto entry : arg) { + TestResultNode child = nodeFactory.createTestResultEntryNode(entry, frameworkName); + children.add(child); + } + return children; + } + }); + } + +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultTraceFrameNode.java b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultTraceFrameNode.java new file mode 100644 index 0000000000..221e1087de --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/java/org/eclipse/che/plugin/testing/ide/view/navigation/nodes/TestResultTraceFrameNode.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.plugin.testing.ide.view.navigation.nodes; + +import java.util.List; + +import javax.validation.constraints.NotNull; + +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.api.testing.shared.dto.SimpleLocationDto; +import org.eclipse.che.api.testing.shared.dto.TestResultTraceFrameDto; +import org.eclipse.che.ide.api.data.tree.AbstractTreeNode; +import org.eclipse.che.ide.api.data.tree.HasAction; +import org.eclipse.che.ide.api.data.tree.Node; +import org.eclipse.che.ide.ui.smartTree.presentation.HasPresentation; +import org.eclipse.che.ide.ui.smartTree.presentation.NodePresentation; +import org.eclipse.che.plugin.testing.ide.TestResources; +import org.eclipse.che.plugin.testing.ide.view.navigation.SimpleLocationHandler; + +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; + +/** + * Test result trace frame node. + * + * @author Bartlomiej Laczkowski + */ +public class TestResultTraceFrameNode extends AbstractTreeNode implements HasPresentation, HasAction { + + private final TestResources testResources; + private final SimpleLocationHandler simpleLocationHandler; + private final TestResultTraceFrameDto testResultTraceFrameDto; + private NodePresentation nodePresentation; + + @Inject + public TestResultTraceFrameNode(TestResources testResources, + SimpleLocationHandler simpleLocationHandler, + @Assisted TestResultTraceFrameDto testResultTraceFrameDto) { + this.testResources = testResources; + this.simpleLocationHandler = simpleLocationHandler; + this.testResultTraceFrameDto = testResultTraceFrameDto; + } + + @Override + public String getName() { + return testResultTraceFrameDto.getTraceFrame(); + } + + @Override + public boolean isLeaf() { + return true; + } + + @Override + public void updatePresentation(@NotNull NodePresentation presentation) { + presentation.setPresentableIcon(testResources.testResultTraceFrameIcon()); + presentation.setPresentableText(getName()); + } + + @Override + public NodePresentation getPresentation(boolean update) { + if (nodePresentation == null) { + nodePresentation = new NodePresentation(); + updatePresentation(nodePresentation); + } + if (update) { + updatePresentation(nodePresentation); + } + return nodePresentation; + } + + @Override + public void actionPerformed() { + SimpleLocationDto location = testResultTraceFrameDto.getLocation(); + if (location != null) { + simpleLocationHandler.openFile(location); + } + } + + @Override + protected Promise> getChildrenImpl() { + return null; + } + +} diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_failure.svg b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_failure.svg new file mode 100644 index 0000000000..227f0012b1 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_failure.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_skipped.svg b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_skipped.svg new file mode 100644 index 0000000000..7133aead36 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_skipped.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_success.svg b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_success.svg new file mode 100644 index 0000000000..d516285153 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_success.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_trace_frame.svg b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_trace_frame.svg new file mode 100644 index 0000000000..6ee05a002b --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_trace_frame.svg @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_warning.svg b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_warning.svg new file mode 100644 index 0000000000..fa5acfb9f8 --- /dev/null +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/svg/test_result_warning.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.ui.xml b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.ui.xml index 4839105dd4..9821c197e4 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.ui.xml +++ b/plugins/plugin-testing/che-plugin-testing-ide/src/main/resources/org/eclipse/che/plugin/testing/ide/view/TestResultViewImpl.ui.xml @@ -13,9 +13,14 @@ - - - .outputLabel { + + .traceOutputMessage { + font-family: mainFontFamily; + font-size: fontSize; + font-weight: normal; + line-height: normal; + padding-bottom: 5px; user-select: text; -moz-user-select: text; -webkit-user-select: text; @@ -23,28 +28,19 @@ overflow: scroll; margin: 2px; white-space: pre-wrap; - } - - .outputBackground{ - background-color: #1f1f1f; + } + .traceOutputStack { + height: 100%; + width: 100%; } - - - - - + - - - - - + - diff --git a/plugins/pom.xml b/plugins/pom.xml index 301370a8e6..3a31437b1c 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -57,6 +57,7 @@ plugin-zend-debugger plugin-testing plugin-testing-java + plugin-testing-php plugin-pullrequest-parent plugin-traefik diff --git a/pom.xml b/pom.xml index 082a676d42..0ce4bfda90 100644 --- a/pom.xml +++ b/pom.xml @@ -962,6 +962,16 @@ che-plugin-testing-junit-server ${che.version}
+ + org.eclipse.che.plugin + che-plugin-testing-phpunit-ide + ${che.version} + + + org.eclipse.che.plugin + che-plugin-testing-phpunit-server + ${che.version} + org.eclipse.che.plugin che-plugin-testing-testng-ide diff --git a/wsagent/che-core-api-testing-shared/pom.xml b/wsagent/che-core-api-testing-shared/pom.xml index 2b21bd8c65..8bf84450dd 100644 --- a/wsagent/che-core-api-testing-shared/pom.xml +++ b/wsagent/che-core-api-testing-shared/pom.xml @@ -42,10 +42,7 @@ com.mycila license-maven-plugin - - **/**/TestingOutput.java - **/**/Constants.java - + true diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/TestResult.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/TestResult.java index 5e5bc9f1b2..dad25039b4 100644 --- a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/TestResult.java +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/TestResult.java @@ -20,6 +20,7 @@ import org.eclipse.che.dto.shared.DTO; * @author Mirage Abeysekara */ @DTO +@Deprecated public interface TestResult { /** diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultStatus.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultStatus.java new file mode 100644 index 0000000000..a130f10d3f --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultStatus.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.common; + +/** + * Test result status enum. + * + * @author Bartlomiej Laczkowski + */ +public enum TestResultStatus { + + SUCCESS, SKIPPED, WARNING, FAILURE, ERROR; + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultType.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultType.java new file mode 100644 index 0000000000..d946d8ee3c --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/common/TestResultType.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.common; + +/** + * Test result type (test suite or test case). + * + * @author Bartlomiej Laczkowski + */ +public enum TestResultType { + + TEST_SUITE, TEST_CASE; + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/SimpleLocationDto.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/SimpleLocationDto.java new file mode 100644 index 0000000000..b3cb705740 --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/SimpleLocationDto.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.dto; + +import org.eclipse.che.dto.shared.DTO; + +/** + * Provides info about file to be opened in the editor and line number on which the selection should be made. + * + * @author Bartlomiej Laczkowski + */ +@DTO +public interface SimpleLocationDto { + + /** + * Returns path to resource that should be opened in the editor. + * + * @return path to resource that should be opened in the editor + */ + String getResourcePath(); + + /** + * Sets path to resource that should be opened in the editor. + * + * @param resourcePath + */ + void setResourcePath(String resourcePath); + + /** + * Returns line number that should be selected in the editor. + * + * @return line number that should be selected in the editor. + */ + int getLineNumber(); + + /** + * Sets the line number that should be selected in the editor. + * + * @param lineNumber + */ + void setLineNumber(int lineNumber); + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultDto.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultDto.java new file mode 100644 index 0000000000..3118cba96d --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultDto.java @@ -0,0 +1,125 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.dto; + +import java.util.List; + +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.api.testing.shared.common.TestResultType; +import org.eclipse.che.dto.shared.DTO; + +/** + * Test Result DTO. + * + * @author Bartlomiej Laczkowski + */ +@DTO +public interface TestResultDto { + + /** + * Returns test result type (i.e. test case or test suite). + * + * @return test result type (i.e. test case or test suite) + */ + TestResultType getType(); + + /** + * Sets test result type + * + * @param type + */ + void setType(TestResultType type); + + /** + * Returns test result status (success, failure, etc.) + * + * @return test result status + */ + TestResultStatus getStatus(); + + /** + * Sets test result status + * + * @param status + */ + void setStatus(TestResultStatus status); + + /** + * Returns test result name (i.e. test suite/test case name) + * + * @return test result name + */ + String getName(); + + /** + * Sets test result name + * + * @param name + */ + void setName(String name); + + /** + * Returns additional text (i.e. test execution time) that will be added as info text in related tree element label. + * + * @return info text + */ + String getInfoText(); + + /** + * Sets additional info text. + * + * @param infoText + */ + void setInfoText(String infoText); + + /** + * Returns test result related stack trace DTO. + * + * @return test result related stack trace DTO + */ + TestResultTraceDto getTrace(); + + /** + * Sets test result related stack trace DTO. + * + * @param traceDto + */ + void setTrace(TestResultTraceDto traceDto); + + /** + * Returns test result simple location DTO (i.e. file with related test case). + * + * @return test result simple location DTO + */ + SimpleLocationDto getTestLocation(); + + /** + * Sets test result simple location DTO. + * + * @param simpleLocationDto + */ + void setTestLocation(SimpleLocationDto simpleLocationDto); + + /** + * Returns path to test result. + * + * @return path to test result + */ + List getResultPath(); + + /** + * Sets path to test result. + * + * @param resultPath + */ + void setResultPath(List resultPath); + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultRootDto.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultRootDto.java new file mode 100644 index 0000000000..3c9e74d6d6 --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultRootDto.java @@ -0,0 +1,124 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.dto; + +import java.util.List; + +import org.eclipse.che.api.testing.shared.common.TestResultStatus; +import org.eclipse.che.dto.shared.DTO; + +/** + * Test result root DTO. + * + * @author Bartlomiej Laczkowski + */ +@DTO +public interface TestResultRootDto { + + /** + * Returns related test framework name. + * + * @return related test framework name + */ + String getTestFrameworkName(); + + /** + * Sets related test framework name. + * + * @param frameworkName + */ + void setTestFrameworkName(String frameworkName); + + /** + * Returns overall test result status (success/failure, etc.). + * + * @return overall test result status + */ + TestResultStatus getStatus(); + + /** + * Sets overall test result status + * + * @param status + */ + void setStatus(TestResultStatus status); + + /** + * Returns test result root name. + * + * @return test result root name + */ + String getName(); + + /** + * Sets test result root name. + * + * @param label + */ + void setName(String label); + + /** + * Returns additional text (i.e. test execution time) that will be added as info text in related tree element label. + * + * @return info text + */ + String getInfoText(); + + /** + * Sets additional info text. + * + * @param infoText + */ + void setInfoText(String infoText); + + /** + * Returns test result related stack trace DTO. + * + * @return test result related stack trace DTO + */ + TestResultTraceDto getTrace(); + + /** + * Sets test result related stack trace DTO. + * + * @param traceDto + */ + void setTrace(TestResultTraceDto traceDto); + + /** + * Returns path to test result root. + * + * @return path to test result root + */ + List getResultPath(); + + /** + * Sets path to test result root. + * + * @param resultPath + */ + void setResultPath(List resultPath); + + /** + * Returns true if this result root is empty (has no test results at all). + * + * @return true if this result root is empty, false otherwise + */ + boolean isEmpty(); + + /** + * Sets whether this result root is empty (has no test results at all) + * + * @param isEmpty + */ + void setEmpty(boolean isEmpty); + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceDto.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceDto.java new file mode 100644 index 0000000000..f875e41f79 --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceDto.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.dto; + +import java.util.List; + +import org.eclipse.che.dto.shared.DTO; + +/** + * Test result trace DTO. + * + * @author Bartlomiej Laczkowski + */ +@DTO +public interface TestResultTraceDto { + + /** + * Returns related message (i.e. error/exception description). + * + * @return related message + */ + String getMessage(); + + /** + * Sets related message (i.e. error/exception description). + * + * @param message + */ + void setMessage(String message); + + /** + * Returns list of stack frames for this trace. + * + * @return list of stack frames + */ + List getTraceFrames(); + + /** + * Sets list of stack frames for this trace. + * + * @param traceFrames + */ + void setTraceFrames(List traceFrames); + +} diff --git a/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceFrameDto.java b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceFrameDto.java new file mode 100644 index 0000000000..56392f3f1b --- /dev/null +++ b/wsagent/che-core-api-testing-shared/src/main/java/org/eclipse/che/api/testing/shared/dto/TestResultTraceFrameDto.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.shared.dto; + +import org.eclipse.che.dto.shared.DTO; + +/** + * Single trace frame DTO. + * + * @author Bartlomiej Laczkowski + */ +@DTO +public interface TestResultTraceFrameDto { + + /** + * Returns trace frame description/name. + * + * @return trace frame description/name + */ + String getTraceFrame(); + + /** + * Sets trace frame description/name. + * + * @param traceFrame + */ + void setTraceFrame(String traceFrame); + + /** + * Returns trace frame simple location DTO (i.e. file with related method/function definition). + * + * @return trace frame simple location DTO + */ + SimpleLocationDto getLocation(); + + /** + * Sets trace frame simple location DTO. + * + * @param location + */ + void setLocation(SimpleLocationDto location); + +} diff --git a/wsagent/che-core-api-testing/pom.xml b/wsagent/che-core-api-testing/pom.xml index 9839895e8f..192db46f3f 100644 --- a/wsagent/che-core-api-testing/pom.xml +++ b/wsagent/che-core-api-testing/pom.xml @@ -124,11 +124,7 @@ com.mycila license-maven-plugin - - **/**/TestingOutputImpl.java - **/**/AbstractTestListener.java - **/**/OutputTestListener.java - + true diff --git a/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/TestingService.java b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/TestingService.java index 4153172e8d..8dc38c2c9e 100644 --- a/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/TestingService.java +++ b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/TestingService.java @@ -11,6 +11,7 @@ package org.eclipse.che.api.testing.server; import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,10 +27,15 @@ import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; +import org.eclipse.che.api.testing.server.exceptions.TestFrameworkException; import org.eclipse.che.api.testing.server.framework.TestFrameworkRegistry; import org.eclipse.che.api.testing.server.framework.TestRunner; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; import org.eclipse.core.resources.ResourcesPlugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,6 +51,7 @@ import io.swagger.annotations.ApiResponses; @Path("che/testing") public class TestingService { + public static final Logger LOG = LoggerFactory.getLogger(TestingService.class); private final TestFrameworkRegistry frameworkRegistry; @Inject @@ -66,6 +73,7 @@ public class TestingService { * @return the test result of test case * @throws Exception when the test runner failed to execute test cases. */ + @Deprecated @GET @Path("run") @Produces(MediaType.APPLICATION_JSON) @@ -91,22 +99,55 @@ public class TestingService { } - private WebApplicationException translateException(Throwable e) { - if (e instanceof WebApplicationException) { - return (WebApplicationException)e; + @GET + @Path("runtests") + @Produces(MediaType.APPLICATION_JSON) + @ApiOperation(value = "Execute Java tests and return result root entry", notes = "The GET parameters are passed to the test framework implementation.") + @ApiResponses({ @ApiResponse(code = 200, message = "OK"), @ApiResponse(code = 500, message = "Server error") }) + public TestResultRootDto runTests(@Context UriInfo uriInfo) throws Exception { + Map queryParameters = getMap(uriInfo.getQueryParameters()); + String projectPath = queryParameters.get("projectPath"); + String absoluteProjectPath = ResourcesPlugin.getPathToWorkspace() + projectPath; + queryParameters.put("absoluteProjectPath", absoluteProjectPath); + String testFramework = queryParameters.get("testFramework"); + getTestRunner(testFramework); + TestResultRootDto result; + try { + result = frameworkRegistry.getTestRunner(testFramework).runTests(queryParameters); + } catch (TestFrameworkException e) { + LOG.error(e.getMessage()); + throw e; + } catch (Exception e) { + LOG.error(e.getMessage(), e); + throw e; } - Throwable cause = null; - if (e instanceof InvocationTargetException) { - cause = e.getCause(); + return result; + } + + @GET + @Path("gettestresults") + @Produces(MediaType.APPLICATION_JSON) + @ApiOperation(value = "Execute Java tests and return result root entry", notes = "The GET parameters are passed to the test framework implementation.") + @ApiResponses({ @ApiResponse(code = 200, message = "OK"), @ApiResponse(code = 500, message = "Server error") }) + public List getTestResults(@Context UriInfo uriInfo) throws Exception { + Map queryParameters = getMap(uriInfo.getQueryParameters()); + String testFramework = queryParameters.get("testFramework"); + int i = 0; + String item; + List testResultsPath = new ArrayList<>(); + while ((item = queryParameters.get("path" + (i++))) != null) { + testResultsPath.add(item); } - if (e instanceof RuntimeException) { - cause = e.getCause(); + getTestRunner(testFramework); + List result = frameworkRegistry.getTestRunner(testFramework).getTestResults(testResultsPath); + return result; + } + + private void getTestRunner(String testFramework) throws Exception { + TestRunner runner = frameworkRegistry.getTestRunner(testFramework); + if (runner == null) { + throw new Exception("No test frameworks found: " + testFramework); } - if (cause != null && cause != e) { - return translateException(cause); - } - return new WebApplicationException(Response.status(Response.Status.INTERNAL_SERVER_ERROR) - .entity("An unexpected error occured during test execution: " + e.toString()).build()); } private Map getMap(MultivaluedMap queryParameters) { @@ -126,4 +167,23 @@ public class TestingService { } return map; } + + private WebApplicationException translateException(Throwable e) { + if (e instanceof WebApplicationException) { + return (WebApplicationException)e; + } + Throwable cause = null; + if (e instanceof InvocationTargetException) { + cause = e.getCause(); + } + if (e instanceof RuntimeException) { + cause = e.getCause(); + } + if (cause != null && cause != e) { + return translateException(cause); + } + return new WebApplicationException(Response.status(Response.Status.INTERNAL_SERVER_ERROR) + .entity("An unexpected error occured during test execution: " + e.toString()).build()); + } + } diff --git a/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/exceptions/TestFrameworkException.java b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/exceptions/TestFrameworkException.java new file mode 100644 index 0000000000..37965565d4 --- /dev/null +++ b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/exceptions/TestFrameworkException.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2016 Rogue Wave Software, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Rogue Wave Software, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.api.testing.server.exceptions; + +import org.eclipse.che.api.core.ServerException; + +/** + * Test framework specific exception. + * + * @author Bartlomiej Laczkowski + */ +@SuppressWarnings("serial") +public class TestFrameworkException extends ServerException { + + public TestFrameworkException(String message) { + super(message); + } + + public TestFrameworkException(String message, Throwable throwable) { + super(message, throwable); + } + +} diff --git a/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/framework/TestRunner.java b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/framework/TestRunner.java index c13e7310ec..575810d3ca 100644 --- a/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/framework/TestRunner.java +++ b/wsagent/che-core-api-testing/src/main/java/org/eclipse/che/api/testing/server/framework/TestRunner.java @@ -10,9 +10,12 @@ *******************************************************************************/ package org.eclipse.che.api.testing.server.framework; +import java.util.List; import java.util.Map; import org.eclipse.che.api.testing.shared.TestResult; +import org.eclipse.che.api.testing.shared.dto.TestResultDto; +import org.eclipse.che.api.testing.shared.dto.TestResultRootDto; /** * Interface for defining test frameworks for the test runner. All test @@ -36,8 +39,34 @@ public interface TestRunner { * @throws Exception * when test runner execution fails. */ + @Deprecated TestResult execute(Map testParameters) throws Exception; + /** + * Call this method to execute the test cases and return the results. The + * test runner framework will automatically call this method to execute + * tests. + * + * @param testParameters + * Map of parameters for executing the test cases. Most of the + * parameters are coming from the REST service request are passed + * as a map. + * @return the test results. + * @throws Exception + * when test runner execution fails. + */ + TestResultRootDto runTests(Map testParameters) throws Exception; + + /** + * Call this method to get child elements for test result that is stored + * under given path (i.e. test cases/test suites that are grouped by related + * test suite). + * + * @param testResultsPath + * @return child elements for test result under given path + */ + List getTestResults(List testResultsPath); + /** * The test runner framework will call this method to get the framework name * for registration. diff --git a/wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestingServiceTest.java b/wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestServiceTest.java similarity index 99% rename from wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestingServiceTest.java rename to wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestServiceTest.java index 4bef8f98f1..1683f35e82 100644 --- a/wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestingServiceTest.java +++ b/wsagent/che-core-api-testing/src/test/java/org/eclipse/che/api/testing/server/TestServiceTest.java @@ -40,7 +40,7 @@ import com.jayway.restassured.response.Response; * @author Mirage Abeysekara */ @Listeners(value = {EverrestJetty.class, MockitoTestNGListener.class}) -public class TestingServiceTest { +public class TestServiceTest { private final String SERVICE_PATH = "/che/testing"; private final String SERVICE_PATH_RUN_ACTION = SERVICE_PATH + "/run"; From 4f52716a987b2e664644f37bbbeabba5d3a11137 Mon Sep 17 00:00:00 2001 From: Roman Iuvshyn Date: Mon, 26 Jun 2017 18:05:45 +0300 Subject: [PATCH 05/11] add notification file (#5441) --- dockerfiles/che/Dockerfile | 1 + dockerfiles/che/open-jdk-source-file-location | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 dockerfiles/che/open-jdk-source-file-location diff --git a/dockerfiles/che/Dockerfile b/dockerfiles/che/Dockerfile index dfcbc88e61..4fd8733e8e 100644 --- a/dockerfiles/che/Dockerfile +++ b/dockerfiles/che/Dockerfile @@ -36,5 +36,6 @@ RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/reposit EXPOSE 8000 8080 COPY entrypoint.sh /entrypoint.sh +COPY open-jdk-source-file-location /open-jdk-source-file-location ENTRYPOINT ["/entrypoint.sh"] ADD eclipse-che.tar.gz /home/user/ diff --git a/dockerfiles/che/open-jdk-source-file-location b/dockerfiles/che/open-jdk-source-file-location new file mode 100644 index 0000000000..6030b59b83 --- /dev/null +++ b/dockerfiles/che/open-jdk-source-file-location @@ -0,0 +1,12 @@ +This package distributes OpenJDK binaries that are licensed under the GPL. +The source code and build scripts used to create this binary are available for download at: + +* eclipse che image parent: `FROM openjdk:8u111-jre-alpine` + * official openjdk image parent: `FROM alpine:3.4` + * summary of alpine `openjdk8u111-b14` package reference - https://pkgs.alpinelinux.org/package/v3.4/community/x86_64/openjdk8-jre + * alpine build scripts for `openjdk8u111-b14` reference - https://git.alpinelinux.org/cgit/aports/tree/community/openjdk8?id=027d8ceca1422c0ffc3fe3a22523f22abedd694c + * build performed by running `APKBUILD` script which will: + * define jdk version reference - https://git.alpinelinux.org/cgit/aports/tree/community/openjdk8/APKBUILD?id=027d8ceca1422c0ffc3fe3a22523f22abedd694c#n5 + * grab official jdk sources by version from "http://hg.openjdk.java.net" reference - https://git.alpinelinux.org/cgit/aports/tree/community/openjdk8/APKBUILD?id=027d8ceca1422c0ffc3fe3a22523f22abedd694c#n43 + * add alpine specific patches reference - https://git.alpinelinux.org/cgit/aports/tree/community/openjdk8?id=027d8ceca1422c0ffc3fe3a22523f22abedd694c + * perform build From eab04ddd6b8385822d249f4ebe3edb465489891e Mon Sep 17 00:00:00 2001 From: Roman Iuvshin Date: Thu, 29 Jun 2017 07:59:05 +0000 Subject: [PATCH 06/11] RELEASE: Set next development version --- agents/che-core-api-agent-shared/pom.xml | 2 +- agents/che-core-api-agent/pom.xml | 2 +- agents/exec/pom.xml | 2 +- agents/git-credentials/pom.xml | 2 +- agents/go-agents/pom.xml | 2 +- agents/ls-csharp/pom.xml | 2 +- agents/ls-json/pom.xml | 2 +- agents/ls-php/pom.xml | 2 +- agents/ls-python/pom.xml | 2 +- agents/ls-typescript/pom.xml | 2 +- agents/pom.xml | 4 ++-- agents/ssh/pom.xml | 2 +- agents/terminal/pom.xml | 2 +- agents/unison/pom.xml | 2 +- assembly/assembly-ide-war/pom.xml | 2 +- assembly/assembly-main/pom.xml | 2 +- assembly/assembly-wsagent-server/pom.xml | 2 +- assembly/assembly-wsagent-war/pom.xml | 2 +- assembly/assembly-wsmaster-war/pom.xml | 2 +- assembly/pom.xml | 4 ++-- core/che-core-api-core/pom.xml | 2 +- core/che-core-api-dto-maven-plugin/pom.xml | 2 +- core/che-core-api-dto/pom.xml | 2 +- core/che-core-api-model/pom.xml | 2 +- core/che-core-db-vendor-h2/pom.xml | 2 +- core/che-core-db-vendor-postgresql/pom.xml | 2 +- core/che-core-db/pom.xml | 2 +- core/che-core-typescript-dto-maven-plugin/pom.xml | 2 +- core/commons/che-core-commons-annotations/pom.xml | 2 +- core/commons/che-core-commons-inject/pom.xml | 2 +- core/commons/che-core-commons-j2ee/pom.xml | 2 +- core/commons/che-core-commons-json/pom.xml | 2 +- core/commons/che-core-commons-lang/pom.xml | 2 +- core/commons/che-core-commons-schedule/pom.xml | 2 +- core/commons/che-core-commons-test/pom.xml | 2 +- core/commons/che-core-commons-xml/pom.xml | 2 +- core/commons/pom.xml | 2 +- core/pom.xml | 4 ++-- dashboard/pom.xml | 4 ++-- .../pom.xml | 2 +- ide/che-core-ide-api/pom.xml | 2 +- ide/che-core-ide-app/pom.xml | 2 +- ide/che-core-ide-generators/pom.xml | 2 +- ide/che-core-ide-stacks/pom.xml | 2 +- ide/che-core-ide-templates/pom.xml | 2 +- ide/che-core-ide-ui/pom.xml | 2 +- ide/che-core-orion-editor/pom.xml | 2 +- ide/che-ide-core/pom.xml | 2 +- ide/commons-gwt/pom.xml | 2 +- ide/gwt-logger/pom.xml | 2 +- ide/pom.xml | 2 +- .../plugin-composer/che-plugin-composer-ide/pom.xml | 2 +- .../plugin-composer/che-plugin-composer-server/pom.xml | 2 +- .../plugin-composer/che-plugin-composer-shared/pom.xml | 2 +- plugins/plugin-composer/pom.xml | 2 +- plugins/plugin-cpp/che-plugin-cpp-lang-ide/pom.xml | 2 +- plugins/plugin-cpp/che-plugin-cpp-lang-server/pom.xml | 2 +- plugins/plugin-cpp/che-plugin-cpp-lang-shared/pom.xml | 2 +- plugins/plugin-cpp/pom.xml | 2 +- .../plugin-csharp/che-plugin-csharp-lang-ide/pom.xml | 2 +- .../che-plugin-csharp-lang-server/pom.xml | 2 +- .../che-plugin-csharp-lang-shared/pom.xml | 2 +- plugins/plugin-csharp/pom.xml | 2 +- .../plugin-dashboard/che-plugin-ext-dashboard/pom.xml | 2 +- plugins/plugin-dashboard/pom.xml | 2 +- .../plugin-debugger/che-plugin-debugger-ide/pom.xml | 2 +- plugins/plugin-debugger/pom.xml | 2 +- plugins/plugin-docker/che-plugin-docker-client/pom.xml | 2 +- .../plugin-docker/che-plugin-docker-compose/pom.xml | 2 +- .../plugin-docker/che-plugin-docker-machine/pom.xml | 2 +- .../plugin-docker/che-plugin-openshift-client/pom.xml | 2 +- plugins/plugin-docker/pom.xml | 2 +- plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml | 2 +- plugins/plugin-gdb/che-plugin-gdb-server/pom.xml | 2 +- plugins/plugin-gdb/pom.xml | 2 +- plugins/plugin-git/che-plugin-git-ext-git/pom.xml | 2 +- plugins/plugin-git/pom.xml | 2 +- .../che-plugin-github-factory-resolver/pom.xml | 2 +- plugins/plugin-github/che-plugin-github-ide/pom.xml | 2 +- plugins/plugin-github/che-plugin-github-oauth2/pom.xml | 2 +- .../che-plugin-github-provider-github/pom.xml | 2 +- .../che-plugin-github-pullrequest/pom.xml | 2 +- plugins/plugin-github/che-plugin-github-server/pom.xml | 2 +- plugins/plugin-github/che-plugin-github-shared/pom.xml | 2 +- plugins/plugin-github/pom.xml | 2 +- plugins/plugin-gwt/che-plugin-gwt-ext-gwt/pom.xml | 2 +- plugins/plugin-gwt/pom.xml | 2 +- plugins/plugin-help/che-plugin-help-ext-client/pom.xml | 2 +- plugins/plugin-help/pom.xml | 2 +- .../che-plugin-java-debugger-ide/pom.xml | 2 +- .../che-plugin-java-debugger-server/pom.xml | 2 +- plugins/plugin-java-debugger/pom.xml | 2 +- .../org-eclipse-core-filebuffers/pom.xml | 2 +- .../org-eclipse-core-filesystem/pom.xml | 2 +- .../org-eclipse-core-resources/pom.xml | 2 +- .../che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml | 2 +- .../org-eclipse-jface-text/pom.xml | 2 +- .../che-plugin-java-ext-jdt/org-eclipse-jface/pom.xml | 2 +- .../org-eclipse-ltk-core-refactoring/pom.xml | 2 +- .../che-plugin-java-ext-jdt/org-eclipse-search/pom.xml | 2 +- .../che-plugin-java-ext-jdt/org-eclipse-ui-ide/pom.xml | 2 +- plugins/plugin-java/che-plugin-java-ext-jdt/pom.xml | 2 +- .../che-plugin-java-ext-lang-client/pom.xml | 2 +- .../che-plugin-java-ext-lang-server/pom.xml | 2 +- .../che-plugin-java-ext-lang-shared/pom.xml | 2 +- .../che-plugin-java-plain-ide/pom.xml | 2 +- .../che-plugin-java-plain-server/pom.xml | 2 +- .../che-plugin-java-plain-shared/pom.xml | 2 +- plugins/plugin-java/che-plugin-java-plain/pom.xml | 2 +- plugins/plugin-java/pom.xml | 2 +- plugins/plugin-json/che-plugin-json-server/pom.xml | 2 +- plugins/plugin-json/pom.xml | 2 +- .../plugin-keybinding-eclipse-ide/pom.xml | 2 +- plugins/plugin-keybinding-eclipse/pom.xml | 2 +- .../che-plugin-languageserver-ide/pom.xml | 2 +- plugins/plugin-languageserver/pom.xml | 2 +- .../che-plugin-machine-ext-server/pom.xml | 2 +- .../che-plugin-machine-ssh-client/pom.xml | 2 +- plugins/plugin-machine/pom.xml | 2 +- .../che-plugin-maven-generator-archetype/pom.xml | 2 +- plugins/plugin-maven/che-plugin-maven-ide/pom.xml | 2 +- plugins/plugin-maven/che-plugin-maven-server/pom.xml | 2 +- plugins/plugin-maven/che-plugin-maven-shared/pom.xml | 2 +- plugins/plugin-maven/che-plugin-maven-tools/pom.xml | 2 +- plugins/plugin-maven/che-plugin-maven-wsmaster/pom.xml | 2 +- .../plugin-maven/maven-server/maven-server-api/pom.xml | 2 +- .../maven-server/maven-server-impl/pom.xml | 2 +- plugins/plugin-maven/maven-server/pom.xml | 2 +- plugins/plugin-maven/pom.xml | 2 +- .../che-plugin-nodejs-debugger-ide/pom.xml | 2 +- .../che-plugin-nodejs-debugger-server/pom.xml | 2 +- plugins/plugin-nodejs-debugger/pom.xml | 2 +- .../plugin-nodejs/che-plugin-nodejs-lang-ide/pom.xml | 2 +- .../che-plugin-nodejs-lang-server/pom.xml | 2 +- .../che-plugin-nodejs-lang-shared/pom.xml | 2 +- plugins/plugin-nodejs/pom.xml | 2 +- plugins/plugin-orion/che-plugin-orion-compare/pom.xml | 2 +- plugins/plugin-orion/che-plugin-orion-editor/pom.xml | 2 +- plugins/plugin-orion/pom.xml | 2 +- plugins/plugin-php/che-plugin-php-lang-ide/pom.xml | 2 +- plugins/plugin-php/che-plugin-php-lang-server/pom.xml | 2 +- plugins/plugin-php/che-plugin-php-lang-shared/pom.xml | 2 +- plugins/plugin-php/pom.xml | 2 +- plugins/plugin-product-info/pom.xml | 2 +- .../che-plugin-pullrequest-ide/pom.xml | 2 +- .../che-plugin-pullrequest-server/pom.xml | 2 +- .../che-plugin-pullrequest-shared/pom.xml | 2 +- plugins/plugin-pullrequest-parent/pom.xml | 2 +- .../plugin-python/che-plugin-python-lang-ide/pom.xml | 2 +- .../che-plugin-python-lang-server/pom.xml | 2 +- .../che-plugin-python-lang-shared/pom.xml | 2 +- plugins/plugin-python/pom.xml | 2 +- plugins/plugin-sdk/che-plugin-sdk-ext-plugins/pom.xml | 2 +- plugins/plugin-sdk/che-plugin-sdk-tools/pom.xml | 2 +- plugins/plugin-sdk/pom.xml | 2 +- plugins/plugin-ssh-machine/pom.xml | 2 +- plugins/plugin-svn/che-plugin-svn-ext-ide/pom.xml | 2 +- plugins/plugin-svn/che-plugin-svn-ext-server/pom.xml | 2 +- plugins/plugin-svn/che-plugin-svn-ext-shared/pom.xml | 2 +- plugins/plugin-svn/pom.xml | 2 +- .../che-plugin-testing-classpath-maven-server/pom.xml | 2 +- .../che-plugin-testing-classpath-server/pom.xml | 2 +- .../plugin-testing-classpath/pom.xml | 2 +- .../che-plugin-testing-junit-ide/pom.xml | 2 +- .../che-plugin-testing-junit-server/pom.xml | 2 +- .../plugin-testing-java/plugin-testing-junit/pom.xml | 2 +- .../che-plugin-testing-testng-ide/pom.xml | 2 +- .../che-plugin-testing-testng-server/pom.xml | 2 +- .../plugin-testing-java/plugin-testing-testng/pom.xml | 2 +- plugins/plugin-testing-java/pom.xml | 2 +- .../che-plugin-testing-phpunit-ide/pom.xml | 2 +- .../che-plugin-testing-phpunit-server/pom.xml | 2 +- .../plugin-testing-php/plugin-testing-phpunit/pom.xml | 2 +- plugins/plugin-testing-php/pom.xml | 2 +- plugins/plugin-testing/che-plugin-testing-ide/pom.xml | 2 +- plugins/plugin-testing/pom.xml | 2 +- plugins/plugin-traefik/plugin-traefik-docker/pom.xml | 2 +- plugins/plugin-traefik/pom.xml | 2 +- plugins/plugin-urlfactory/pom.xml | 2 +- plugins/plugin-web/che-plugin-web-ext-server/pom.xml | 2 +- plugins/plugin-web/che-plugin-web-ext-shared/pom.xml | 2 +- plugins/plugin-web/che-plugin-web-ext-web/pom.xml | 2 +- plugins/plugin-web/pom.xml | 2 +- .../che-plugin-zend-debugger-ide/pom.xml | 2 +- .../che-plugin-zend-debugger-server/pom.xml | 2 +- plugins/plugin-zend-debugger/pom.xml | 2 +- plugins/pom.xml | 4 ++-- pom.xml | 10 +++++----- samples/pom.xml | 4 ++-- .../che-sample-plugin-actions-ide/pom.xml | 2 +- samples/sample-plugin-actions/pom.xml | 2 +- .../che-sample-plugin-embedjs-ide/pom.xml | 2 +- samples/sample-plugin-embedjs/pom.xml | 2 +- .../che-sample-plugin-filetype-ide/pom.xml | 2 +- samples/sample-plugin-filetype/pom.xml | 2 +- .../che-sample-plugin-json-ide/pom.xml | 2 +- .../che-sample-plugin-json-server/pom.xml | 2 +- .../che-sample-plugin-json-shared/pom.xml | 2 +- samples/sample-plugin-json/pom.xml | 2 +- .../che-sample-plugin-nativeaccess-ide/pom.xml | 2 +- samples/sample-plugin-nativeaccess/pom.xml | 2 +- .../che-sample-plugin-parts-ide/pom.xml | 2 +- samples/sample-plugin-parts/pom.xml | 2 +- .../che-sample-plugin-serverservice-ide/pom.xml | 2 +- .../che-sample-plugin-serverservice-server/pom.xml | 2 +- samples/sample-plugin-serverservice/pom.xml | 2 +- .../che-sample-plugin-wizard-ide/pom.xml | 2 +- .../che-sample-plugin-wizard-server/pom.xml | 2 +- .../che-sample-plugin-wizard-shared/pom.xml | 2 +- samples/sample-plugin-wizard/pom.xml | 2 +- wsagent/agent/pom.xml | 2 +- wsagent/che-core-api-debug-shared/pom.xml | 2 +- wsagent/che-core-api-debug/pom.xml | 2 +- wsagent/che-core-api-git-shared/pom.xml | 2 +- wsagent/che-core-api-git/pom.xml | 2 +- .../che-core-api-languageserver-maven-plugin/pom.xml | 2 +- wsagent/che-core-api-languageserver-shared/pom.xml | 2 +- wsagent/che-core-api-languageserver/pom.xml | 2 +- wsagent/che-core-api-oauth/pom.xml | 2 +- wsagent/che-core-api-project-shared/pom.xml | 2 +- wsagent/che-core-api-project/pom.xml | 4 ++-- wsagent/che-core-api-testing-shared/pom.xml | 2 +- wsagent/che-core-api-testing/pom.xml | 2 +- wsagent/che-core-git-impl-jgit/pom.xml | 2 +- wsagent/che-core-ssh-key-ide/pom.xml | 2 +- wsagent/che-core-ssh-key-server/pom.xml | 2 +- wsagent/che-wsagent-core/pom.xml | 2 +- wsagent/pom.xml | 4 ++-- wsagent/wsagent-local/pom.xml | 2 +- wsmaster/che-core-api-account/pom.xml | 2 +- wsmaster/che-core-api-auth-shared/pom.xml | 2 +- wsmaster/che-core-api-auth/pom.xml | 2 +- wsmaster/che-core-api-factory-shared/pom.xml | 2 +- wsmaster/che-core-api-factory/pom.xml | 2 +- wsmaster/che-core-api-machine-shared/pom.xml | 2 +- wsmaster/che-core-api-machine/pom.xml | 2 +- wsmaster/che-core-api-project-templates-shared/pom.xml | 2 +- wsmaster/che-core-api-project-templates/pom.xml | 2 +- wsmaster/che-core-api-ssh-shared/pom.xml | 2 +- wsmaster/che-core-api-ssh/pom.xml | 2 +- wsmaster/che-core-api-system-shared/pom.xml | 2 +- wsmaster/che-core-api-system/pom.xml | 2 +- wsmaster/che-core-api-user-shared/pom.xml | 2 +- wsmaster/che-core-api-user/pom.xml | 2 +- wsmaster/che-core-api-workspace-shared/pom.xml | 2 +- wsmaster/che-core-api-workspace/pom.xml | 2 +- wsmaster/che-core-sql-schema/pom.xml | 2 +- wsmaster/integration-tests/cascade-removal/pom.xml | 2 +- wsmaster/integration-tests/pom.xml | 2 +- wsmaster/integration-tests/postgresql-tck/pom.xml | 2 +- wsmaster/pom.xml | 4 ++-- wsmaster/wsmaster-local/pom.xml | 2 +- 252 files changed, 265 insertions(+), 265 deletions(-) diff --git a/agents/che-core-api-agent-shared/pom.xml b/agents/che-core-api-agent-shared/pom.xml index 06ec5b31b9..6c1dd13b0c 100644 --- a/agents/che-core-api-agent-shared/pom.xml +++ b/agents/che-core-api-agent-shared/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-api-agent-shared diff --git a/agents/che-core-api-agent/pom.xml b/agents/che-core-api-agent/pom.xml index f1f1688109..0b23a44eee 100644 --- a/agents/che-core-api-agent/pom.xml +++ b/agents/che-core-api-agent/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-api-agent diff --git a/agents/exec/pom.xml b/agents/exec/pom.xml index aab2dfd626..307db59696 100644 --- a/agents/exec/pom.xml +++ b/agents/exec/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT exec-agent Agent :: Exec diff --git a/agents/git-credentials/pom.xml b/agents/git-credentials/pom.xml index 60d311855e..2507583863 100644 --- a/agents/git-credentials/pom.xml +++ b/agents/git-credentials/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT git-credentials-agent Git Credentials Agent diff --git a/agents/go-agents/pom.xml b/agents/go-agents/pom.xml index 824edd9ed6..5ae878b7b5 100644 --- a/agents/go-agents/pom.xml +++ b/agents/go-agents/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT go-agents Agent :: Golang agents diff --git a/agents/ls-csharp/pom.xml b/agents/ls-csharp/pom.xml index b20bd67e6d..2d7ebdf14f 100644 --- a/agents/ls-csharp/pom.xml +++ b/agents/ls-csharp/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ls-csharp-agent Language Server C# Agent diff --git a/agents/ls-json/pom.xml b/agents/ls-json/pom.xml index 62e3f312b8..07d139aa4f 100644 --- a/agents/ls-json/pom.xml +++ b/agents/ls-json/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ls-json-agent Language Server Json Agent diff --git a/agents/ls-php/pom.xml b/agents/ls-php/pom.xml index ceea71ce61..1fd4869e1c 100644 --- a/agents/ls-php/pom.xml +++ b/agents/ls-php/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ls-php-agent Language Server PHP Agent diff --git a/agents/ls-python/pom.xml b/agents/ls-python/pom.xml index cc7a2a5fdb..44970aaee2 100644 --- a/agents/ls-python/pom.xml +++ b/agents/ls-python/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ls-python-agent Language Server python Agent diff --git a/agents/ls-typescript/pom.xml b/agents/ls-typescript/pom.xml index d10733abac..27e85d5b72 100644 --- a/agents/ls-typescript/pom.xml +++ b/agents/ls-typescript/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ls-typescript-agent Language Server typescript Agent diff --git a/agents/pom.xml b/agents/pom.xml index 16bccebe9a..616fea2089 100644 --- a/agents/pom.xml +++ b/agents/pom.xml @@ -16,11 +16,11 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-agents-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Agents Parent diff --git a/agents/ssh/pom.xml b/agents/ssh/pom.xml index 4361fb282a..56edf5a8f5 100644 --- a/agents/ssh/pom.xml +++ b/agents/ssh/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ssh-agent SSH Agent diff --git a/agents/terminal/pom.xml b/agents/terminal/pom.xml index bc25c5e09f..d369ba5349 100644 --- a/agents/terminal/pom.xml +++ b/agents/terminal/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT terminal-agent Agent :: Terminal diff --git a/agents/unison/pom.xml b/agents/unison/pom.xml index 04fd3464bb..c4a0a9063b 100644 --- a/agents/unison/pom.xml +++ b/agents/unison/pom.xml @@ -16,7 +16,7 @@ che-agents-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT unison-agent Unison Agent diff --git a/assembly/assembly-ide-war/pom.xml b/assembly/assembly-ide-war/pom.xml index 5d47e732e8..b25fe1d8ea 100644 --- a/assembly/assembly-ide-war/pom.xml +++ b/assembly/assembly-ide-war/pom.xml @@ -16,7 +16,7 @@ che-assembly-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT assembly-ide-war war diff --git a/assembly/assembly-main/pom.xml b/assembly/assembly-main/pom.xml index b41fcb69e6..973f539b92 100644 --- a/assembly/assembly-main/pom.xml +++ b/assembly/assembly-main/pom.xml @@ -16,7 +16,7 @@ che-assembly-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT assembly-main pom diff --git a/assembly/assembly-wsagent-server/pom.xml b/assembly/assembly-wsagent-server/pom.xml index 8086524b0e..07d7037f40 100644 --- a/assembly/assembly-wsagent-server/pom.xml +++ b/assembly/assembly-wsagent-server/pom.xml @@ -16,7 +16,7 @@ che-assembly-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT assembly-wsagent-server pom diff --git a/assembly/assembly-wsagent-war/pom.xml b/assembly/assembly-wsagent-war/pom.xml index 81215e9305..4768884b34 100644 --- a/assembly/assembly-wsagent-war/pom.xml +++ b/assembly/assembly-wsagent-war/pom.xml @@ -16,7 +16,7 @@ che-assembly-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT assembly-wsagent-war war diff --git a/assembly/assembly-wsmaster-war/pom.xml b/assembly/assembly-wsmaster-war/pom.xml index 59dcf7afd0..1264f2ee41 100644 --- a/assembly/assembly-wsmaster-war/pom.xml +++ b/assembly/assembly-wsmaster-war/pom.xml @@ -16,7 +16,7 @@ che-assembly-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT assembly-wsmaster-war war diff --git a/assembly/pom.xml b/assembly/pom.xml index 857efed005..c7c5a39261 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -16,12 +16,12 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che che-assembly-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che IDE :: Parent diff --git a/core/che-core-api-core/pom.xml b/core/che-core-api-core/pom.xml index c772bf2573..b2978ed389 100644 --- a/core/che-core-api-core/pom.xml +++ b/core/che-core-api-core/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-core jar diff --git a/core/che-core-api-dto-maven-plugin/pom.xml b/core/che-core-api-dto-maven-plugin/pom.xml index 55f237fd28..076bf4bbde 100644 --- a/core/che-core-api-dto-maven-plugin/pom.xml +++ b/core/che-core-api-dto-maven-plugin/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-dto-maven-plugin maven-plugin diff --git a/core/che-core-api-dto/pom.xml b/core/che-core-api-dto/pom.xml index a5369fbbaa..c20a4dd881 100644 --- a/core/che-core-api-dto/pom.xml +++ b/core/che-core-api-dto/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-dto jar diff --git a/core/che-core-api-model/pom.xml b/core/che-core-api-model/pom.xml index bce0939796..8f074dc69a 100644 --- a/core/che-core-api-model/pom.xml +++ b/core/che-core-api-model/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-model jar diff --git a/core/che-core-db-vendor-h2/pom.xml b/core/che-core-db-vendor-h2/pom.xml index dfe957c2dc..b387655bd7 100644 --- a/core/che-core-db-vendor-h2/pom.xml +++ b/core/che-core-db-vendor-h2/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-db-vendor-h2 Che Core :: DB :: Vendor H2 diff --git a/core/che-core-db-vendor-postgresql/pom.xml b/core/che-core-db-vendor-postgresql/pom.xml index 941b84f946..5a4d62ee29 100644 --- a/core/che-core-db-vendor-postgresql/pom.xml +++ b/core/che-core-db-vendor-postgresql/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-db-vendor-postgresql Che Core :: DB :: Vendor PostgreSQL diff --git a/core/che-core-db/pom.xml b/core/che-core-db/pom.xml index 3d593220c2..6dc60d24be 100644 --- a/core/che-core-db/pom.xml +++ b/core/che-core-db/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-db Che Core :: DB diff --git a/core/che-core-typescript-dto-maven-plugin/pom.xml b/core/che-core-typescript-dto-maven-plugin/pom.xml index a3da4636ba..2545e2bb82 100644 --- a/core/che-core-typescript-dto-maven-plugin/pom.xml +++ b/core/che-core-typescript-dto-maven-plugin/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-typescript-dto-maven-plugin diff --git a/core/commons/che-core-commons-annotations/pom.xml b/core/commons/che-core-commons-annotations/pom.xml index 4fde57222b..835dcba675 100644 --- a/core/commons/che-core-commons-annotations/pom.xml +++ b/core/commons/che-core-commons-annotations/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-annotations jar diff --git a/core/commons/che-core-commons-inject/pom.xml b/core/commons/che-core-commons-inject/pom.xml index f13724a4d7..6f2eec1a6b 100644 --- a/core/commons/che-core-commons-inject/pom.xml +++ b/core/commons/che-core-commons-inject/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-inject jar diff --git a/core/commons/che-core-commons-j2ee/pom.xml b/core/commons/che-core-commons-j2ee/pom.xml index 80071027cc..1f499866e5 100644 --- a/core/commons/che-core-commons-j2ee/pom.xml +++ b/core/commons/che-core-commons-j2ee/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-j2ee jar diff --git a/core/commons/che-core-commons-json/pom.xml b/core/commons/che-core-commons-json/pom.xml index f1db9ce8a4..93b3dcd8a6 100644 --- a/core/commons/che-core-commons-json/pom.xml +++ b/core/commons/che-core-commons-json/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-json jar diff --git a/core/commons/che-core-commons-lang/pom.xml b/core/commons/che-core-commons-lang/pom.xml index 1aaeecdf23..51dc794ff7 100644 --- a/core/commons/che-core-commons-lang/pom.xml +++ b/core/commons/che-core-commons-lang/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-lang jar diff --git a/core/commons/che-core-commons-schedule/pom.xml b/core/commons/che-core-commons-schedule/pom.xml index 3362d69d12..d97e6b0d5a 100644 --- a/core/commons/che-core-commons-schedule/pom.xml +++ b/core/commons/che-core-commons-schedule/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-schedule jar diff --git a/core/commons/che-core-commons-test/pom.xml b/core/commons/che-core-commons-test/pom.xml index b8be9a45cb..46809059af 100644 --- a/core/commons/che-core-commons-test/pom.xml +++ b/core/commons/che-core-commons-test/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-test jar diff --git a/core/commons/che-core-commons-xml/pom.xml b/core/commons/che-core-commons-xml/pom.xml index ed74b67a7e..fffa0ed0ad 100644 --- a/core/commons/che-core-commons-xml/pom.xml +++ b/core/commons/che-core-commons-xml/pom.xml @@ -16,7 +16,7 @@ che-core-commons-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-xml jar diff --git a/core/commons/pom.xml b/core/commons/pom.xml index 8f046e41f8..474eae5e37 100644 --- a/core/commons/pom.xml +++ b/core/commons/pom.xml @@ -16,7 +16,7 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-core-commons-parent diff --git a/core/pom.xml b/core/pom.xml index 787954a087..96825a388d 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -16,12 +16,12 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che.core che-core-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Core Parent diff --git a/dashboard/pom.xml b/dashboard/pom.xml index 2c1ad17ad6..3a2d6e00b6 100644 --- a/dashboard/pom.xml +++ b/dashboard/pom.xml @@ -16,12 +16,12 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che.dashboard che-dashboard-war - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT war Che Dashboard :: Web App 2015 diff --git a/ide/che-core-dyna-provider-generator-maven-plugin/pom.xml b/ide/che-core-dyna-provider-generator-maven-plugin/pom.xml index e465dbaf88..000cbdbc3d 100644 --- a/ide/che-core-dyna-provider-generator-maven-plugin/pom.xml +++ b/ide/che-core-dyna-provider-generator-maven-plugin/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-dyna-provider-generator-maven-plugin maven-plugin diff --git a/ide/che-core-ide-api/pom.xml b/ide/che-core-ide-api/pom.xml index cb4d7b1481..a62068223d 100644 --- a/ide/che-core-ide-api/pom.xml +++ b/ide/che-core-ide-api/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-ide-api diff --git a/ide/che-core-ide-app/pom.xml b/ide/che-core-ide-app/pom.xml index 87080260c9..1cae987dfc 100644 --- a/ide/che-core-ide-app/pom.xml +++ b/ide/che-core-ide-app/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-ide-app jar diff --git a/ide/che-core-ide-generators/pom.xml b/ide/che-core-ide-generators/pom.xml index 79d7e3daca..12ca35f236 100644 --- a/ide/che-core-ide-generators/pom.xml +++ b/ide/che-core-ide-generators/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-ide-generators diff --git a/ide/che-core-ide-stacks/pom.xml b/ide/che-core-ide-stacks/pom.xml index 3db4fcadae..8c523e2fcf 100644 --- a/ide/che-core-ide-stacks/pom.xml +++ b/ide/che-core-ide-stacks/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-ide-stacks diff --git a/ide/che-core-ide-templates/pom.xml b/ide/che-core-ide-templates/pom.xml index 3b3a4f7de1..8f1c70e59b 100644 --- a/ide/che-core-ide-templates/pom.xml +++ b/ide/che-core-ide-templates/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-ide-templates diff --git a/ide/che-core-ide-ui/pom.xml b/ide/che-core-ide-ui/pom.xml index 5c9b3df3ea..7b7d38e194 100644 --- a/ide/che-core-ide-ui/pom.xml +++ b/ide/che-core-ide-ui/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core che-core-ide-ui diff --git a/ide/che-core-orion-editor/pom.xml b/ide/che-core-orion-editor/pom.xml index 5abe557fb1..01a6e2e2ed 100644 --- a/ide/che-core-orion-editor/pom.xml +++ b/ide/che-core-orion-editor/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-orion-editor jar diff --git a/ide/che-ide-core/pom.xml b/ide/che-ide-core/pom.xml index 0021c457e0..4fa224d3e6 100644 --- a/ide/che-ide-core/pom.xml +++ b/ide/che-ide-core/pom.xml @@ -16,7 +16,7 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../../pom.xml org.eclipse.che.core diff --git a/ide/commons-gwt/pom.xml b/ide/commons-gwt/pom.xml index 203f868f97..6a891ba426 100644 --- a/ide/commons-gwt/pom.xml +++ b/ide/commons-gwt/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-commons-gwt Che Core :: Commons :: GWT diff --git a/ide/gwt-logger/pom.xml b/ide/gwt-logger/pom.xml index 452016bf21..598fafad0a 100644 --- a/ide/gwt-logger/pom.xml +++ b/ide/gwt-logger/pom.xml @@ -16,7 +16,7 @@ che-core-ide-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-gwt-logger Che Core :: Commons :: GWT Logger diff --git a/ide/pom.xml b/ide/pom.xml index 22d0c3e47d..df18041bec 100644 --- a/ide/pom.xml +++ b/ide/pom.xml @@ -16,7 +16,7 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che.core diff --git a/plugins/plugin-composer/che-plugin-composer-ide/pom.xml b/plugins/plugin-composer/che-plugin-composer-ide/pom.xml index bfad3d42d3..a22ef1887a 100644 --- a/plugins/plugin-composer/che-plugin-composer-ide/pom.xml +++ b/plugins/plugin-composer/che-plugin-composer-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-composer-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-composer-ide jar diff --git a/plugins/plugin-composer/che-plugin-composer-server/pom.xml b/plugins/plugin-composer/che-plugin-composer-server/pom.xml index 76560c3b06..c2cb23f865 100644 --- a/plugins/plugin-composer/che-plugin-composer-server/pom.xml +++ b/plugins/plugin-composer/che-plugin-composer-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-composer-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-composer-server Che Plugin :: Composer :: Server diff --git a/plugins/plugin-composer/che-plugin-composer-shared/pom.xml b/plugins/plugin-composer/che-plugin-composer-shared/pom.xml index 79df5587d9..e32c03c040 100644 --- a/plugins/plugin-composer/che-plugin-composer-shared/pom.xml +++ b/plugins/plugin-composer/che-plugin-composer-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-composer-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-composer-shared Che Plugin :: Composer :: Shared diff --git a/plugins/plugin-composer/pom.xml b/plugins/plugin-composer/pom.xml index 45152967e3..12f0b461a6 100644 --- a/plugins/plugin-composer/pom.xml +++ b/plugins/plugin-composer/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-composer-parent diff --git a/plugins/plugin-cpp/che-plugin-cpp-lang-ide/pom.xml b/plugins/plugin-cpp/che-plugin-cpp-lang-ide/pom.xml index f373dcd92b..93c05b3496 100644 --- a/plugins/plugin-cpp/che-plugin-cpp-lang-ide/pom.xml +++ b/plugins/plugin-cpp/che-plugin-cpp-lang-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-cpp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-cpp-lang-ide jar diff --git a/plugins/plugin-cpp/che-plugin-cpp-lang-server/pom.xml b/plugins/plugin-cpp/che-plugin-cpp-lang-server/pom.xml index aee89f271e..fbc9ca3f92 100644 --- a/plugins/plugin-cpp/che-plugin-cpp-lang-server/pom.xml +++ b/plugins/plugin-cpp/che-plugin-cpp-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-cpp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-cpp-lang-server Che Plugin :: C/C++ :: Extension Server diff --git a/plugins/plugin-cpp/che-plugin-cpp-lang-shared/pom.xml b/plugins/plugin-cpp/che-plugin-cpp-lang-shared/pom.xml index b82ac56e29..3cbe7648da 100644 --- a/plugins/plugin-cpp/che-plugin-cpp-lang-shared/pom.xml +++ b/plugins/plugin-cpp/che-plugin-cpp-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-cpp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-cpp-lang-shared Che Plugin :: C/C++ :: Shared diff --git a/plugins/plugin-cpp/pom.xml b/plugins/plugin-cpp/pom.xml index fcd1a2df7e..806f39b8d0 100644 --- a/plugins/plugin-cpp/pom.xml +++ b/plugins/plugin-cpp/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-cpp-parent diff --git a/plugins/plugin-csharp/che-plugin-csharp-lang-ide/pom.xml b/plugins/plugin-csharp/che-plugin-csharp-lang-ide/pom.xml index 8c04cc6b6a..7aa1169a51 100644 --- a/plugins/plugin-csharp/che-plugin-csharp-lang-ide/pom.xml +++ b/plugins/plugin-csharp/che-plugin-csharp-lang-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-csharp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-csharp-lang-ide jar diff --git a/plugins/plugin-csharp/che-plugin-csharp-lang-server/pom.xml b/plugins/plugin-csharp/che-plugin-csharp-lang-server/pom.xml index efc1fcc617..e33d00d022 100644 --- a/plugins/plugin-csharp/che-plugin-csharp-lang-server/pom.xml +++ b/plugins/plugin-csharp/che-plugin-csharp-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-csharp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-csharp-lang-server Che Plugin :: C# :: Extension Server diff --git a/plugins/plugin-csharp/che-plugin-csharp-lang-shared/pom.xml b/plugins/plugin-csharp/che-plugin-csharp-lang-shared/pom.xml index 0b35718445..5db0366676 100644 --- a/plugins/plugin-csharp/che-plugin-csharp-lang-shared/pom.xml +++ b/plugins/plugin-csharp/che-plugin-csharp-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-csharp-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-csharp-lang-shared Che Plugin :: C# :: Shared diff --git a/plugins/plugin-csharp/pom.xml b/plugins/plugin-csharp/pom.xml index 1a0860ffb1..b6c60c7855 100644 --- a/plugins/plugin-csharp/pom.xml +++ b/plugins/plugin-csharp/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-csharp-parent diff --git a/plugins/plugin-dashboard/che-plugin-ext-dashboard/pom.xml b/plugins/plugin-dashboard/che-plugin-ext-dashboard/pom.xml index cb74caafae..a7caa18aac 100644 --- a/plugins/plugin-dashboard/che-plugin-ext-dashboard/pom.xml +++ b/plugins/plugin-dashboard/che-plugin-ext-dashboard/pom.xml @@ -16,7 +16,7 @@ che-plugin-dashboard-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-ext-dashboard-client jar diff --git a/plugins/plugin-dashboard/pom.xml b/plugins/plugin-dashboard/pom.xml index 1da8a9ef15..34cc68912a 100644 --- a/plugins/plugin-dashboard/pom.xml +++ b/plugins/plugin-dashboard/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-dashboard-parent diff --git a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml index df981ccf44..432c69c6ce 100644 --- a/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml +++ b/plugins/plugin-debugger/che-plugin-debugger-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-debugger-ide jar diff --git a/plugins/plugin-debugger/pom.xml b/plugins/plugin-debugger/pom.xml index 16f3b745f3..8fa65632db 100644 --- a/plugins/plugin-debugger/pom.xml +++ b/plugins/plugin-debugger/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-debugger-parent diff --git a/plugins/plugin-docker/che-plugin-docker-client/pom.xml b/plugins/plugin-docker/che-plugin-docker-client/pom.xml index 834197acca..73d2f28b2f 100644 --- a/plugins/plugin-docker/che-plugin-docker-client/pom.xml +++ b/plugins/plugin-docker/che-plugin-docker-client/pom.xml @@ -16,7 +16,7 @@ che-plugin-docker-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-docker-client jar diff --git a/plugins/plugin-docker/che-plugin-docker-compose/pom.xml b/plugins/plugin-docker/che-plugin-docker-compose/pom.xml index 9dd84bfcb6..7b971061aa 100644 --- a/plugins/plugin-docker/che-plugin-docker-compose/pom.xml +++ b/plugins/plugin-docker/che-plugin-docker-compose/pom.xml @@ -16,7 +16,7 @@ che-plugin-docker-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-docker-compose jar diff --git a/plugins/plugin-docker/che-plugin-docker-machine/pom.xml b/plugins/plugin-docker/che-plugin-docker-machine/pom.xml index beb443ce9b..0cf02bc035 100644 --- a/plugins/plugin-docker/che-plugin-docker-machine/pom.xml +++ b/plugins/plugin-docker/che-plugin-docker-machine/pom.xml @@ -16,7 +16,7 @@ che-plugin-docker-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-docker-machine jar diff --git a/plugins/plugin-docker/che-plugin-openshift-client/pom.xml b/plugins/plugin-docker/che-plugin-openshift-client/pom.xml index 61889d439a..80111272a7 100644 --- a/plugins/plugin-docker/che-plugin-openshift-client/pom.xml +++ b/plugins/plugin-docker/che-plugin-openshift-client/pom.xml @@ -16,7 +16,7 @@ che-plugin-docker-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-openshift-client jar diff --git a/plugins/plugin-docker/pom.xml b/plugins/plugin-docker/pom.xml index a7a6538b96..c08f95f122 100644 --- a/plugins/plugin-docker/pom.xml +++ b/plugins/plugin-docker/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-docker-parent diff --git a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml index 109a7b9012..db2e056875 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-gdb-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-gdb-ide jar diff --git a/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml b/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml index c2b1686026..5d7ebfccda 100644 --- a/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml +++ b/plugins/plugin-gdb/che-plugin-gdb-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-gdb-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-gdb-server jar diff --git a/plugins/plugin-gdb/pom.xml b/plugins/plugin-gdb/pom.xml index 897e86342e..b54a9d99fe 100644 --- a/plugins/plugin-gdb/pom.xml +++ b/plugins/plugin-gdb/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-gdb-parent pom diff --git a/plugins/plugin-git/che-plugin-git-ext-git/pom.xml b/plugins/plugin-git/che-plugin-git-ext-git/pom.xml index 25269ce472..285f2afc49 100644 --- a/plugins/plugin-git/che-plugin-git-ext-git/pom.xml +++ b/plugins/plugin-git/che-plugin-git-ext-git/pom.xml @@ -16,7 +16,7 @@ che-plugin-git-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-git-ext-git jar diff --git a/plugins/plugin-git/pom.xml b/plugins/plugin-git/pom.xml index 3e74877fe5..b00898b7b2 100644 --- a/plugins/plugin-git/pom.xml +++ b/plugins/plugin-git/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-git-parent diff --git a/plugins/plugin-github/che-plugin-github-factory-resolver/pom.xml b/plugins/plugin-github/che-plugin-github-factory-resolver/pom.xml index 86bb6b4642..6182677b97 100644 --- a/plugins/plugin-github/che-plugin-github-factory-resolver/pom.xml +++ b/plugins/plugin-github/che-plugin-github-factory-resolver/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-factory-resolver jar diff --git a/plugins/plugin-github/che-plugin-github-ide/pom.xml b/plugins/plugin-github/che-plugin-github-ide/pom.xml index 24324fbe99..3a377a9566 100644 --- a/plugins/plugin-github/che-plugin-github-ide/pom.xml +++ b/plugins/plugin-github/che-plugin-github-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-ide jar diff --git a/plugins/plugin-github/che-plugin-github-oauth2/pom.xml b/plugins/plugin-github/che-plugin-github-oauth2/pom.xml index 8e09dfdf55..3b0648bca8 100644 --- a/plugins/plugin-github/che-plugin-github-oauth2/pom.xml +++ b/plugins/plugin-github/che-plugin-github-oauth2/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-oauth2 jar diff --git a/plugins/plugin-github/che-plugin-github-provider-github/pom.xml b/plugins/plugin-github/che-plugin-github-provider-github/pom.xml index fda69b8869..cfe760e331 100644 --- a/plugins/plugin-github/che-plugin-github-provider-github/pom.xml +++ b/plugins/plugin-github/che-plugin-github-provider-github/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-provider-github Che Plugin :: Github :: Credential provider diff --git a/plugins/plugin-github/che-plugin-github-pullrequest/pom.xml b/plugins/plugin-github/che-plugin-github-pullrequest/pom.xml index d3f70f1997..3bdd7298a4 100644 --- a/plugins/plugin-github/che-plugin-github-pullrequest/pom.xml +++ b/plugins/plugin-github/che-plugin-github-pullrequest/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-pullrequest Che Plugin :: Github :: Pull request diff --git a/plugins/plugin-github/che-plugin-github-server/pom.xml b/plugins/plugin-github/che-plugin-github-server/pom.xml index 9238550829..faf75a628d 100644 --- a/plugins/plugin-github/che-plugin-github-server/pom.xml +++ b/plugins/plugin-github/che-plugin-github-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-server jar diff --git a/plugins/plugin-github/che-plugin-github-shared/pom.xml b/plugins/plugin-github/che-plugin-github-shared/pom.xml index 9df120a23a..b38722cc1d 100644 --- a/plugins/plugin-github/che-plugin-github-shared/pom.xml +++ b/plugins/plugin-github/che-plugin-github-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-github-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-github-shared Che Plugin :: Github :: Shared diff --git a/plugins/plugin-github/pom.xml b/plugins/plugin-github/pom.xml index 703f25223c..3ba0e8547b 100644 --- a/plugins/plugin-github/pom.xml +++ b/plugins/plugin-github/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-github-parent diff --git a/plugins/plugin-gwt/che-plugin-gwt-ext-gwt/pom.xml b/plugins/plugin-gwt/che-plugin-gwt-ext-gwt/pom.xml index 311b9c5932..3d04b13a5e 100644 --- a/plugins/plugin-gwt/che-plugin-gwt-ext-gwt/pom.xml +++ b/plugins/plugin-gwt/che-plugin-gwt-ext-gwt/pom.xml @@ -16,7 +16,7 @@ che-plugin-gwt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-gwt-ext-gwt jar diff --git a/plugins/plugin-gwt/pom.xml b/plugins/plugin-gwt/pom.xml index eb57bcf41a..58e6636363 100644 --- a/plugins/plugin-gwt/pom.xml +++ b/plugins/plugin-gwt/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-gwt-parent diff --git a/plugins/plugin-help/che-plugin-help-ext-client/pom.xml b/plugins/plugin-help/che-plugin-help-ext-client/pom.xml index 4aa9490d1e..99d7698fef 100644 --- a/plugins/plugin-help/che-plugin-help-ext-client/pom.xml +++ b/plugins/plugin-help/che-plugin-help-ext-client/pom.xml @@ -16,7 +16,7 @@ che-plugin-help-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-help-ext-client jar diff --git a/plugins/plugin-help/pom.xml b/plugins/plugin-help/pom.xml index d33d8a89fa..50bec470a5 100644 --- a/plugins/plugin-help/pom.xml +++ b/plugins/plugin-help/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-help-parent diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml index 06a2ae567b..eb2475919a 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-debugger-ide jar diff --git a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml index 1f5e85279a..0e21a4bbd6 100644 --- a/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml +++ b/plugins/plugin-java-debugger/che-plugin-java-debugger-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-debugger-server jar diff --git a/plugins/plugin-java-debugger/pom.xml b/plugins/plugin-java-debugger/pom.xml index 00e318d42c..bf12c3bb6f 100644 --- a/plugins/plugin-java-debugger/pom.xml +++ b/plugins/plugin-java-debugger/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-debugger-parent pom diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filebuffers/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filebuffers/pom.xml index aebd91f81a..438ca3c967 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filebuffers/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filebuffers/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.core.filebuffers jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filesystem/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filesystem/pom.xml index 150eb91667..e67879f7b1 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filesystem/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-filesystem/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.core.filesystem jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-resources/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-resources/pom.xml index a42c1588a4..60bc425e2c 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-resources/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-core-resources/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.core.resources jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml index 87abd4d041..af375b1822 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jdt-ui/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.jdt.ui jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface-text/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface-text/pom.xml index cddc1b21e3..6e80970cd9 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface-text/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface-text/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.jface.text jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface/pom.xml index fe8a49a339..b3de95288c 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-jface/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.jface jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ltk-core-refactoring/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ltk-core-refactoring/pom.xml index 5b547bc3b4..9ef153a429 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ltk-core-refactoring/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ltk-core-refactoring/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.ltk.core.refactoring jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-search/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-search/pom.xml index a881ffb64b..d92f8c613d 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-search/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-search/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.search jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ui-ide/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ui-ide/pom.xml index ad45a3d754..8784f03017 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ui-ide/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/org-eclipse-ui-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-ext-jdt-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.ui.ide jar diff --git a/plugins/plugin-java/che-plugin-java-ext-jdt/pom.xml b/plugins/plugin-java/che-plugin-java-ext-jdt/pom.xml index 99ae490f84..8ab8027b40 100644 --- a/plugins/plugin-java/che-plugin-java-ext-jdt/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-jdt/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-ext-jdt-parent pom diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-client/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-client/pom.xml index de144bda4a..3b1ee8a47d 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-client/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-lang-client/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-ext-lang-client jar diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml index 023f16bd95..70b5a28e22 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-ext-lang-server Che Plugin :: Java :: Extension Java Server diff --git a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml index 03e182c7aa..68eaddf706 100644 --- a/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml +++ b/plugins/plugin-java/che-plugin-java-ext-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-ext-lang-shared Che Plugin :: Java :: Extension Java Shared diff --git a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-ide/pom.xml b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-ide/pom.xml index 5fc6ab5084..e6bf1403ba 100644 --- a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-ide/pom.xml +++ b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-plain org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-plain-ide jar diff --git a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-server/pom.xml b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-server/pom.xml index bd2b2cce88..45eee41270 100644 --- a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-server/pom.xml +++ b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-plain org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-plain-server Che Plugin :: Java :: Plain :: Server diff --git a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-shared/pom.xml b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-shared/pom.xml index 897dae8480..3ec8b8fdc6 100644 --- a/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-shared/pom.xml +++ b/plugins/plugin-java/che-plugin-java-plain/che-plugin-java-plain-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-plain org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-plain-shared Che Plugin :: Java :: Plain :: Shared diff --git a/plugins/plugin-java/che-plugin-java-plain/pom.xml b/plugins/plugin-java/che-plugin-java-plain/pom.xml index d076c1aeba..b79969b416 100644 --- a/plugins/plugin-java/che-plugin-java-plain/pom.xml +++ b/plugins/plugin-java/che-plugin-java-plain/pom.xml @@ -16,7 +16,7 @@ che-plugin-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-java-plain diff --git a/plugins/plugin-java/pom.xml b/plugins/plugin-java/pom.xml index f1a1d96636..57cd2986a4 100644 --- a/plugins/plugin-java/pom.xml +++ b/plugins/plugin-java/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-java-parent diff --git a/plugins/plugin-json/che-plugin-json-server/pom.xml b/plugins/plugin-json/che-plugin-json-server/pom.xml index 06c5fad059..5b3715a1c3 100644 --- a/plugins/plugin-json/che-plugin-json-server/pom.xml +++ b/plugins/plugin-json/che-plugin-json-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-json-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-json-server Che Plugin :: JSON :: Extension Server diff --git a/plugins/plugin-json/pom.xml b/plugins/plugin-json/pom.xml index 009c4f383a..42024acea4 100644 --- a/plugins/plugin-json/pom.xml +++ b/plugins/plugin-json/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-json-parent diff --git a/plugins/plugin-keybinding-eclipse/plugin-keybinding-eclipse-ide/pom.xml b/plugins/plugin-keybinding-eclipse/plugin-keybinding-eclipse-ide/pom.xml index 32d40ccccf..348d836731 100644 --- a/plugins/plugin-keybinding-eclipse/plugin-keybinding-eclipse-ide/pom.xml +++ b/plugins/plugin-keybinding-eclipse/plugin-keybinding-eclipse-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-keybinding-eclipse-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-keybinding-eclipse-ide diff --git a/plugins/plugin-keybinding-eclipse/pom.xml b/plugins/plugin-keybinding-eclipse/pom.xml index 1c034778ae..1e8e5cf188 100644 --- a/plugins/plugin-keybinding-eclipse/pom.xml +++ b/plugins/plugin-keybinding-eclipse/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-keybinding-eclipse-parent diff --git a/plugins/plugin-languageserver/che-plugin-languageserver-ide/pom.xml b/plugins/plugin-languageserver/che-plugin-languageserver-ide/pom.xml index 6abbbfe84f..37c1c596f3 100644 --- a/plugins/plugin-languageserver/che-plugin-languageserver-ide/pom.xml +++ b/plugins/plugin-languageserver/che-plugin-languageserver-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-languageserver-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT .. che-plugin-languageserver-ide diff --git a/plugins/plugin-languageserver/pom.xml b/plugins/plugin-languageserver/pom.xml index 142dce90d0..8f46d1c786 100644 --- a/plugins/plugin-languageserver/pom.xml +++ b/plugins/plugin-languageserver/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-languageserver-parent diff --git a/plugins/plugin-machine/che-plugin-machine-ext-server/pom.xml b/plugins/plugin-machine/che-plugin-machine-ext-server/pom.xml index 76a6c5b68e..8f878c5202 100644 --- a/plugins/plugin-machine/che-plugin-machine-ext-server/pom.xml +++ b/plugins/plugin-machine/che-plugin-machine-ext-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-machine-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-machine-ext-server diff --git a/plugins/plugin-machine/che-plugin-machine-ssh-client/pom.xml b/plugins/plugin-machine/che-plugin-machine-ssh-client/pom.xml index a675122714..60767b518a 100644 --- a/plugins/plugin-machine/che-plugin-machine-ssh-client/pom.xml +++ b/plugins/plugin-machine/che-plugin-machine-ssh-client/pom.xml @@ -16,7 +16,7 @@ che-plugin-machine-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-machine-ssh-client jar diff --git a/plugins/plugin-machine/pom.xml b/plugins/plugin-machine/pom.xml index 29fff0f76d..bedffb2304 100644 --- a/plugins/plugin-machine/pom.xml +++ b/plugins/plugin-machine/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-machine-parent diff --git a/plugins/plugin-maven/che-plugin-maven-generator-archetype/pom.xml b/plugins/plugin-maven/che-plugin-maven-generator-archetype/pom.xml index 98b29fa864..0d149dee4d 100644 --- a/plugins/plugin-maven/che-plugin-maven-generator-archetype/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-generator-archetype/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-maven-generator-archetype jar diff --git a/plugins/plugin-maven/che-plugin-maven-ide/pom.xml b/plugins/plugin-maven/che-plugin-maven-ide/pom.xml index 6c4eaeebb6..f431aaa423 100644 --- a/plugins/plugin-maven/che-plugin-maven-ide/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-maven-ide Che Plugin :: Maven :: Extension Maven Client diff --git a/plugins/plugin-maven/che-plugin-maven-server/pom.xml b/plugins/plugin-maven/che-plugin-maven-server/pom.xml index f2c3ccb4e8..6c58eed795 100644 --- a/plugins/plugin-maven/che-plugin-maven-server/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-maven-server jar diff --git a/plugins/plugin-maven/che-plugin-maven-shared/pom.xml b/plugins/plugin-maven/che-plugin-maven-shared/pom.xml index b8c0156315..fa2ebc36e6 100644 --- a/plugins/plugin-maven/che-plugin-maven-shared/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-maven-shared Che Plugin :: Maven :: Extension Maven Shared diff --git a/plugins/plugin-maven/che-plugin-maven-tools/pom.xml b/plugins/plugin-maven/che-plugin-maven-tools/pom.xml index fe307f78e2..f0b67f62d4 100644 --- a/plugins/plugin-maven/che-plugin-maven-tools/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-tools/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-java-maven-tools jar diff --git a/plugins/plugin-maven/che-plugin-maven-wsmaster/pom.xml b/plugins/plugin-maven/che-plugin-maven-wsmaster/pom.xml index e60464ac28..3a05fe3fd8 100644 --- a/plugins/plugin-maven/che-plugin-maven-wsmaster/pom.xml +++ b/plugins/plugin-maven/che-plugin-maven-wsmaster/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-maven-wsmaster jar diff --git a/plugins/plugin-maven/maven-server/maven-server-api/pom.xml b/plugins/plugin-maven/maven-server/maven-server-api/pom.xml index f346744e6d..234a9a11e2 100644 --- a/plugins/plugin-maven/maven-server/maven-server-api/pom.xml +++ b/plugins/plugin-maven/maven-server/maven-server-api/pom.xml @@ -16,7 +16,7 @@ che-maven-server org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT maven-server-api jar diff --git a/plugins/plugin-maven/maven-server/maven-server-impl/pom.xml b/plugins/plugin-maven/maven-server/maven-server-impl/pom.xml index 003e1a9cbe..b60b214aa9 100644 --- a/plugins/plugin-maven/maven-server/maven-server-impl/pom.xml +++ b/plugins/plugin-maven/maven-server/maven-server-impl/pom.xml @@ -16,7 +16,7 @@ che-maven-server org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT maven-server-impl jar diff --git a/plugins/plugin-maven/maven-server/pom.xml b/plugins/plugin-maven/maven-server/pom.xml index 4108f5a713..ad50d5b269 100644 --- a/plugins/plugin-maven/maven-server/pom.xml +++ b/plugins/plugin-maven/maven-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-maven-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-maven-server pom diff --git a/plugins/plugin-maven/pom.xml b/plugins/plugin-maven/pom.xml index 45a6c2e742..8248d4b0fb 100644 --- a/plugins/plugin-maven/pom.xml +++ b/plugins/plugin-maven/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-maven-parent diff --git a/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-ide/pom.xml b/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-ide/pom.xml index 3bc20e3ab9..0eae142184 100644 --- a/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-ide/pom.xml +++ b/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-nodejs-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-debugger-ide jar diff --git a/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-server/pom.xml b/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-server/pom.xml index 812310973f..9985817d77 100644 --- a/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-server/pom.xml +++ b/plugins/plugin-nodejs-debugger/che-plugin-nodejs-debugger-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-nodejs-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-debugger-server jar diff --git a/plugins/plugin-nodejs-debugger/pom.xml b/plugins/plugin-nodejs-debugger/pom.xml index 0ff801024a..2995bb9838 100644 --- a/plugins/plugin-nodejs-debugger/pom.xml +++ b/plugins/plugin-nodejs-debugger/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-debugger-parent pom diff --git a/plugins/plugin-nodejs/che-plugin-nodejs-lang-ide/pom.xml b/plugins/plugin-nodejs/che-plugin-nodejs-lang-ide/pom.xml index 587833cefd..5085c6b091 100644 --- a/plugins/plugin-nodejs/che-plugin-nodejs-lang-ide/pom.xml +++ b/plugins/plugin-nodejs/che-plugin-nodejs-lang-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-nodejs-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-lang-ide jar diff --git a/plugins/plugin-nodejs/che-plugin-nodejs-lang-server/pom.xml b/plugins/plugin-nodejs/che-plugin-nodejs-lang-server/pom.xml index c323fffd0f..afc4e6beb9 100644 --- a/plugins/plugin-nodejs/che-plugin-nodejs-lang-server/pom.xml +++ b/plugins/plugin-nodejs/che-plugin-nodejs-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-nodejs-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-lang-server Che Plugin :: NodeJs :: Extension Server diff --git a/plugins/plugin-nodejs/che-plugin-nodejs-lang-shared/pom.xml b/plugins/plugin-nodejs/che-plugin-nodejs-lang-shared/pom.xml index 5bb71cb93c..b22da0e6e9 100644 --- a/plugins/plugin-nodejs/che-plugin-nodejs-lang-shared/pom.xml +++ b/plugins/plugin-nodejs/che-plugin-nodejs-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-nodejs-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-nodejs-lang-shared Che Plugin :: NodeJs :: Extension Shared diff --git a/plugins/plugin-nodejs/pom.xml b/plugins/plugin-nodejs/pom.xml index 56dea3b0d8..9e2f15a0ad 100644 --- a/plugins/plugin-nodejs/pom.xml +++ b/plugins/plugin-nodejs/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-nodejs-parent diff --git a/plugins/plugin-orion/che-plugin-orion-compare/pom.xml b/plugins/plugin-orion/che-plugin-orion-compare/pom.xml index d37c69bea9..5ea6ca5221 100644 --- a/plugins/plugin-orion/che-plugin-orion-compare/pom.xml +++ b/plugins/plugin-orion/che-plugin-orion-compare/pom.xml @@ -16,7 +16,7 @@ che-plugin-orion-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-orion-compare jar diff --git a/plugins/plugin-orion/che-plugin-orion-editor/pom.xml b/plugins/plugin-orion/che-plugin-orion-editor/pom.xml index 7fd9d3c698..57206f2823 100644 --- a/plugins/plugin-orion/che-plugin-orion-editor/pom.xml +++ b/plugins/plugin-orion/che-plugin-orion-editor/pom.xml @@ -16,7 +16,7 @@ che-plugin-orion-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-orion-editor diff --git a/plugins/plugin-orion/pom.xml b/plugins/plugin-orion/pom.xml index 95a0e65802..45d4db84ff 100644 --- a/plugins/plugin-orion/pom.xml +++ b/plugins/plugin-orion/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-orion-parent diff --git a/plugins/plugin-php/che-plugin-php-lang-ide/pom.xml b/plugins/plugin-php/che-plugin-php-lang-ide/pom.xml index 0d3ae93053..801e8eaa2e 100644 --- a/plugins/plugin-php/che-plugin-php-lang-ide/pom.xml +++ b/plugins/plugin-php/che-plugin-php-lang-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-php-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-php-lang-ide jar diff --git a/plugins/plugin-php/che-plugin-php-lang-server/pom.xml b/plugins/plugin-php/che-plugin-php-lang-server/pom.xml index 7d2837ed81..e2d30c5fa1 100644 --- a/plugins/plugin-php/che-plugin-php-lang-server/pom.xml +++ b/plugins/plugin-php/che-plugin-php-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-php-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-php-lang-server Che Plugin :: PHP :: Extension Server diff --git a/plugins/plugin-php/che-plugin-php-lang-shared/pom.xml b/plugins/plugin-php/che-plugin-php-lang-shared/pom.xml index 2ffeb63ba0..e1ad0bdb75 100644 --- a/plugins/plugin-php/che-plugin-php-lang-shared/pom.xml +++ b/plugins/plugin-php/che-plugin-php-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-php-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-php-lang-shared Che Plugin :: PHP :: Shared diff --git a/plugins/plugin-php/pom.xml b/plugins/plugin-php/pom.xml index 7d9074cd3e..406467c84d 100644 --- a/plugins/plugin-php/pom.xml +++ b/plugins/plugin-php/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-php-parent diff --git a/plugins/plugin-product-info/pom.xml b/plugins/plugin-product-info/pom.xml index 947e76be14..4b361e64c6 100644 --- a/plugins/plugin-product-info/pom.xml +++ b/plugins/plugin-product-info/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-product-info diff --git a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-ide/pom.xml b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-ide/pom.xml index 617388e212..2f347b36be 100644 --- a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-ide/pom.xml +++ b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-pullrequest-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-pullrequest-ide Che Plugin :: Pull request :: IDE diff --git a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-server/pom.xml b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-server/pom.xml index a8f91e30a4..9e2057c8be 100644 --- a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-server/pom.xml +++ b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-pullrequest-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-pullrequest-server Che Plugin :: Pull request :: Server diff --git a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-shared/pom.xml b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-shared/pom.xml index 4be59bdfbd..569e9409f9 100644 --- a/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-shared/pom.xml +++ b/plugins/plugin-pullrequest-parent/che-plugin-pullrequest-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-pullrequest-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-pullrequest-shared Che Plugin :: Pull request :: Shared diff --git a/plugins/plugin-pullrequest-parent/pom.xml b/plugins/plugin-pullrequest-parent/pom.xml index 1821aa3058..09883cab0c 100644 --- a/plugins/plugin-pullrequest-parent/pom.xml +++ b/plugins/plugin-pullrequest-parent/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-pullrequest-parent pom diff --git a/plugins/plugin-python/che-plugin-python-lang-ide/pom.xml b/plugins/plugin-python/che-plugin-python-lang-ide/pom.xml index a045968021..3e5dd3813e 100644 --- a/plugins/plugin-python/che-plugin-python-lang-ide/pom.xml +++ b/plugins/plugin-python/che-plugin-python-lang-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-python-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-python-lang-ide jar diff --git a/plugins/plugin-python/che-plugin-python-lang-server/pom.xml b/plugins/plugin-python/che-plugin-python-lang-server/pom.xml index c8c1c41e57..f9593c690c 100644 --- a/plugins/plugin-python/che-plugin-python-lang-server/pom.xml +++ b/plugins/plugin-python/che-plugin-python-lang-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-python-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-python-lang-server Che Plugin :: Python :: Extension Server diff --git a/plugins/plugin-python/che-plugin-python-lang-shared/pom.xml b/plugins/plugin-python/che-plugin-python-lang-shared/pom.xml index 2aa895a1cb..87fd8236ad 100644 --- a/plugins/plugin-python/che-plugin-python-lang-shared/pom.xml +++ b/plugins/plugin-python/che-plugin-python-lang-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-python-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-python-lang-shared che-plugin-python-lang-shared diff --git a/plugins/plugin-python/pom.xml b/plugins/plugin-python/pom.xml index 62fc6f9803..9fee0e8324 100644 --- a/plugins/plugin-python/pom.xml +++ b/plugins/plugin-python/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-python-parent diff --git a/plugins/plugin-sdk/che-plugin-sdk-ext-plugins/pom.xml b/plugins/plugin-sdk/che-plugin-sdk-ext-plugins/pom.xml index 094bd68411..fe21a6127c 100644 --- a/plugins/plugin-sdk/che-plugin-sdk-ext-plugins/pom.xml +++ b/plugins/plugin-sdk/che-plugin-sdk-ext-plugins/pom.xml @@ -16,7 +16,7 @@ che-plugin-sdk-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-sdk-ext-plugins jar diff --git a/plugins/plugin-sdk/che-plugin-sdk-tools/pom.xml b/plugins/plugin-sdk/che-plugin-sdk-tools/pom.xml index aa9bf88965..e3899dc7a1 100644 --- a/plugins/plugin-sdk/che-plugin-sdk-tools/pom.xml +++ b/plugins/plugin-sdk/che-plugin-sdk-tools/pom.xml @@ -16,7 +16,7 @@ che-plugin-sdk-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-sdk-tools jar diff --git a/plugins/plugin-sdk/pom.xml b/plugins/plugin-sdk/pom.xml index e3de6f278d..f42697a61f 100644 --- a/plugins/plugin-sdk/pom.xml +++ b/plugins/plugin-sdk/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-sdk-parent diff --git a/plugins/plugin-ssh-machine/pom.xml b/plugins/plugin-ssh-machine/pom.xml index 260496037f..e6da384c7a 100644 --- a/plugins/plugin-ssh-machine/pom.xml +++ b/plugins/plugin-ssh-machine/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-ssh-machine diff --git a/plugins/plugin-svn/che-plugin-svn-ext-ide/pom.xml b/plugins/plugin-svn/che-plugin-svn-ext-ide/pom.xml index 8724ace4c3..6ffae4733a 100644 --- a/plugins/plugin-svn/che-plugin-svn-ext-ide/pom.xml +++ b/plugins/plugin-svn/che-plugin-svn-ext-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-svn-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-svn-ext-ide jar diff --git a/plugins/plugin-svn/che-plugin-svn-ext-server/pom.xml b/plugins/plugin-svn/che-plugin-svn-ext-server/pom.xml index e5bdb36d35..3bc57f3f2e 100644 --- a/plugins/plugin-svn/che-plugin-svn-ext-server/pom.xml +++ b/plugins/plugin-svn/che-plugin-svn-ext-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-svn-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-svn-ext-server jar diff --git a/plugins/plugin-svn/che-plugin-svn-ext-shared/pom.xml b/plugins/plugin-svn/che-plugin-svn-ext-shared/pom.xml index 05eb5aa820..c1454b3700 100644 --- a/plugins/plugin-svn/che-plugin-svn-ext-shared/pom.xml +++ b/plugins/plugin-svn/che-plugin-svn-ext-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-svn-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-svn-ext-shared jar diff --git a/plugins/plugin-svn/pom.xml b/plugins/plugin-svn/pom.xml index af1936c107..eef41b9aa1 100644 --- a/plugins/plugin-svn/pom.xml +++ b/plugins/plugin-svn/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-svn-parent diff --git a/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-maven-server/pom.xml b/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-maven-server/pom.xml index 3e85c4eaf0..2a3b0f27ec 100644 --- a/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-maven-server/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-maven-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-classpath org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-classpath-maven-server Che Plugin :: Java Testing :: Maven Classpath diff --git a/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-server/pom.xml b/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-server/pom.xml index 9506350582..5bea985a2a 100644 --- a/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-server/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-classpath/che-plugin-testing-classpath-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-classpath org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-classpath-server Che Plugin :: Java Testing :: Classpath diff --git a/plugins/plugin-testing-java/plugin-testing-classpath/pom.xml b/plugins/plugin-testing-java/plugin-testing-classpath/pom.xml index f50e5d60dd..c9d5271256 100644 --- a/plugins/plugin-testing-java/plugin-testing-classpath/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-classpath/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-classpath pom diff --git a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-ide/pom.xml b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-ide/pom.xml index cfbac4e257..6e214796e2 100644 --- a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-ide/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-junit org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-junit-ide Che Plugin :: Java Testing :: JUnit IDE diff --git a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/pom.xml b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/pom.xml index 1fc770c3f7..7b40d6c887 100644 --- a/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-junit/che-plugin-testing-junit-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-junit org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-junit-server Che Plugin :: Java Testing :: JUnit Server diff --git a/plugins/plugin-testing-java/plugin-testing-junit/pom.xml b/plugins/plugin-testing-java/plugin-testing-junit/pom.xml index c4e989e119..783a82ad75 100644 --- a/plugins/plugin-testing-java/plugin-testing-junit/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-junit/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-junit pom diff --git a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-ide/pom.xml b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-ide/pom.xml index ac37570802..3798a6adc0 100644 --- a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-ide/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-testng org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-testng-ide Che Plugin :: Java Testing :: TestNG IDE diff --git a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/pom.xml b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/pom.xml index eca3b9d51c..4154f279fe 100644 --- a/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-testng/che-plugin-testing-testng-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-testng org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-testng-server Che Plugin :: Java Testing :: TestNG Server diff --git a/plugins/plugin-testing-java/plugin-testing-testng/pom.xml b/plugins/plugin-testing-java/plugin-testing-testng/pom.xml index 109439b7f8..6ca33ff1f8 100644 --- a/plugins/plugin-testing-java/plugin-testing-testng/pom.xml +++ b/plugins/plugin-testing-java/plugin-testing-testng/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-java-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-testng pom diff --git a/plugins/plugin-testing-java/pom.xml b/plugins/plugin-testing-java/pom.xml index 2a457319f7..710d405326 100644 --- a/plugins/plugin-testing-java/pom.xml +++ b/plugins/plugin-testing-java/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-java-parent pom diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml index ec5907cbe2..330cefd7a4 100644 --- a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-phpunit org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-phpunit-ide Che Plugin :: PHP Testing :: PHPUnit IDE diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml index 0ad7d6bb22..2d5e4ad976 100644 --- a/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/che-plugin-testing-phpunit-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-phpunit org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-phpunit-server Che Plugin :: PHP Testing :: PHPUnit Server diff --git a/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml b/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml index 1ed4a7f316..8a0b322a2d 100644 --- a/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml +++ b/plugins/plugin-testing-php/plugin-testing-phpunit/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-php-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-phpunit pom diff --git a/plugins/plugin-testing-php/pom.xml b/plugins/plugin-testing-php/pom.xml index 99ab375b80..1308e1389c 100644 --- a/plugins/plugin-testing-php/pom.xml +++ b/plugins/plugin-testing-php/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-php-parent pom diff --git a/plugins/plugin-testing/che-plugin-testing-ide/pom.xml b/plugins/plugin-testing/che-plugin-testing-ide/pom.xml index 0e192d8108..4d734c0def 100644 --- a/plugins/plugin-testing/che-plugin-testing-ide/pom.xml +++ b/plugins/plugin-testing/che-plugin-testing-ide/pom.xml @@ -16,7 +16,7 @@ che-plugin-testing-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-ide Che Plugin :: Testing :: IDE diff --git a/plugins/plugin-testing/pom.xml b/plugins/plugin-testing/pom.xml index 160fc283bf..557c9146ea 100644 --- a/plugins/plugin-testing/pom.xml +++ b/plugins/plugin-testing/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-testing-parent pom diff --git a/plugins/plugin-traefik/plugin-traefik-docker/pom.xml b/plugins/plugin-traefik/plugin-traefik-docker/pom.xml index f33bac2e13..f88d9ef38e 100644 --- a/plugins/plugin-traefik/plugin-traefik-docker/pom.xml +++ b/plugins/plugin-traefik/plugin-traefik-docker/pom.xml @@ -16,7 +16,7 @@ che-plugin-traefik-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-traefik-docker jar diff --git a/plugins/plugin-traefik/pom.xml b/plugins/plugin-traefik/pom.xml index 7cc0efb22c..b25a06e1d6 100644 --- a/plugins/plugin-traefik/pom.xml +++ b/plugins/plugin-traefik/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-traefik-parent diff --git a/plugins/plugin-urlfactory/pom.xml b/plugins/plugin-urlfactory/pom.xml index dfdd16c491..c65e712b35 100644 --- a/plugins/plugin-urlfactory/pom.xml +++ b/plugins/plugin-urlfactory/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-url-factory diff --git a/plugins/plugin-web/che-plugin-web-ext-server/pom.xml b/plugins/plugin-web/che-plugin-web-ext-server/pom.xml index be80ea30c8..2dc4d50354 100644 --- a/plugins/plugin-web/che-plugin-web-ext-server/pom.xml +++ b/plugins/plugin-web/che-plugin-web-ext-server/pom.xml @@ -16,7 +16,7 @@ che-plugin-web-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-web-ext-server diff --git a/plugins/plugin-web/che-plugin-web-ext-shared/pom.xml b/plugins/plugin-web/che-plugin-web-ext-shared/pom.xml index 67f9ae1b8d..26ec91d8db 100644 --- a/plugins/plugin-web/che-plugin-web-ext-shared/pom.xml +++ b/plugins/plugin-web/che-plugin-web-ext-shared/pom.xml @@ -16,7 +16,7 @@ che-plugin-web-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-web-ext-shared diff --git a/plugins/plugin-web/che-plugin-web-ext-web/pom.xml b/plugins/plugin-web/che-plugin-web-ext-web/pom.xml index 803b117f95..939ee31eb5 100644 --- a/plugins/plugin-web/che-plugin-web-ext-web/pom.xml +++ b/plugins/plugin-web/che-plugin-web-ext-web/pom.xml @@ -16,7 +16,7 @@ che-plugin-web-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-web-ext-web jar diff --git a/plugins/plugin-web/pom.xml b/plugins/plugin-web/pom.xml index 51389ae8e8..97b650ae6c 100644 --- a/plugins/plugin-web/pom.xml +++ b/plugins/plugin-web/pom.xml @@ -16,7 +16,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-web-parent diff --git a/plugins/plugin-zend-debugger/che-plugin-zend-debugger-ide/pom.xml b/plugins/plugin-zend-debugger/che-plugin-zend-debugger-ide/pom.xml index fc30e1f2bd..5efb32d4fb 100644 --- a/plugins/plugin-zend-debugger/che-plugin-zend-debugger-ide/pom.xml +++ b/plugins/plugin-zend-debugger/che-plugin-zend-debugger-ide/pom.xml @@ -13,7 +13,7 @@ che-plugin-zend-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-zend-debugger-ide jar diff --git a/plugins/plugin-zend-debugger/che-plugin-zend-debugger-server/pom.xml b/plugins/plugin-zend-debugger/che-plugin-zend-debugger-server/pom.xml index 458e40f702..ae9430523f 100644 --- a/plugins/plugin-zend-debugger/che-plugin-zend-debugger-server/pom.xml +++ b/plugins/plugin-zend-debugger/che-plugin-zend-debugger-server/pom.xml @@ -13,7 +13,7 @@ che-plugin-zend-debugger-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-plugin-zend-debugger-server jar diff --git a/plugins/plugin-zend-debugger/pom.xml b/plugins/plugin-zend-debugger/pom.xml index adf7cbaf80..52cb7ccba5 100644 --- a/plugins/plugin-zend-debugger/pom.xml +++ b/plugins/plugin-zend-debugger/pom.xml @@ -13,7 +13,7 @@ che-plugin-parent org.eclipse.che.plugin - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-plugin-zend-debugger-parent diff --git a/plugins/pom.xml b/plugins/pom.xml index 3a31437b1c..863944100b 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -16,12 +16,12 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che.plugin che-plugin-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Plugin :: Parent diff --git a/pom.xml b/pom.xml index 0ce4bfda90..35a233972a 100644 --- a/pom.xml +++ b/pom.xml @@ -16,11 +16,11 @@ maven-depmgt-pom org.eclipse.che.depmgt - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che che-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Parent @@ -42,9 +42,9 @@ https://github.com/eclipse/che - 5.14.0-SNAPSHOT - 5.14.0-SNAPSHOT - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT + 5.15.0-SNAPSHOT + 5.15.0-SNAPSHOT 1.0-beta2 diff --git a/samples/pom.xml b/samples/pom.xml index 0155fa9e3f..97c3dd2c44 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -16,12 +16,12 @@ che-parent org.eclipse.che - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml org.eclipse.che.sample che-sample-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Sample :: Parent diff --git a/samples/sample-plugin-actions/che-sample-plugin-actions-ide/pom.xml b/samples/sample-plugin-actions/che-sample-plugin-actions-ide/pom.xml index 5d6e4b06b2..c1276569fc 100644 --- a/samples/sample-plugin-actions/che-sample-plugin-actions-ide/pom.xml +++ b/samples/sample-plugin-actions/che-sample-plugin-actions-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-actions-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-actions-ide jar diff --git a/samples/sample-plugin-actions/pom.xml b/samples/sample-plugin-actions/pom.xml index 5c27cca32c..d988129ad4 100644 --- a/samples/sample-plugin-actions/pom.xml +++ b/samples/sample-plugin-actions/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-actions-parent diff --git a/samples/sample-plugin-embedjs/che-sample-plugin-embedjs-ide/pom.xml b/samples/sample-plugin-embedjs/che-sample-plugin-embedjs-ide/pom.xml index 7683118eee..b44906f917 100644 --- a/samples/sample-plugin-embedjs/che-sample-plugin-embedjs-ide/pom.xml +++ b/samples/sample-plugin-embedjs/che-sample-plugin-embedjs-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-embedjs-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-embedjs-ide jar diff --git a/samples/sample-plugin-embedjs/pom.xml b/samples/sample-plugin-embedjs/pom.xml index 15704358b9..b83f65fce6 100644 --- a/samples/sample-plugin-embedjs/pom.xml +++ b/samples/sample-plugin-embedjs/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-embedjs-parent diff --git a/samples/sample-plugin-filetype/che-sample-plugin-filetype-ide/pom.xml b/samples/sample-plugin-filetype/che-sample-plugin-filetype-ide/pom.xml index e98282b3c7..e14fc70d91 100644 --- a/samples/sample-plugin-filetype/che-sample-plugin-filetype-ide/pom.xml +++ b/samples/sample-plugin-filetype/che-sample-plugin-filetype-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-filetype-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-filetype-ide jar diff --git a/samples/sample-plugin-filetype/pom.xml b/samples/sample-plugin-filetype/pom.xml index e9be7517fa..c2950cb3dc 100644 --- a/samples/sample-plugin-filetype/pom.xml +++ b/samples/sample-plugin-filetype/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-filetype-parent diff --git a/samples/sample-plugin-json/che-sample-plugin-json-ide/pom.xml b/samples/sample-plugin-json/che-sample-plugin-json-ide/pom.xml index 3196eaab77..a8c1be2664 100644 --- a/samples/sample-plugin-json/che-sample-plugin-json-ide/pom.xml +++ b/samples/sample-plugin-json/che-sample-plugin-json-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-json-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-json-ide jar diff --git a/samples/sample-plugin-json/che-sample-plugin-json-server/pom.xml b/samples/sample-plugin-json/che-sample-plugin-json-server/pom.xml index 1d6ce5da75..aa77c9c36c 100644 --- a/samples/sample-plugin-json/che-sample-plugin-json-server/pom.xml +++ b/samples/sample-plugin-json/che-sample-plugin-json-server/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-json-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-json-server Che Sample :: Plugin JSON :: Server diff --git a/samples/sample-plugin-json/che-sample-plugin-json-shared/pom.xml b/samples/sample-plugin-json/che-sample-plugin-json-shared/pom.xml index ce47247435..86325e824b 100644 --- a/samples/sample-plugin-json/che-sample-plugin-json-shared/pom.xml +++ b/samples/sample-plugin-json/che-sample-plugin-json-shared/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-json-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-json-shared Che Sample :: Plugin JSON :: Shared diff --git a/samples/sample-plugin-json/pom.xml b/samples/sample-plugin-json/pom.xml index 620cde12ad..4adf57fc9c 100644 --- a/samples/sample-plugin-json/pom.xml +++ b/samples/sample-plugin-json/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-json-parent diff --git a/samples/sample-plugin-nativeaccess/che-sample-plugin-nativeaccess-ide/pom.xml b/samples/sample-plugin-nativeaccess/che-sample-plugin-nativeaccess-ide/pom.xml index dbba70b03d..e4e52f4a36 100644 --- a/samples/sample-plugin-nativeaccess/che-sample-plugin-nativeaccess-ide/pom.xml +++ b/samples/sample-plugin-nativeaccess/che-sample-plugin-nativeaccess-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-nativeaccess-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-nativeaccess-ide jar diff --git a/samples/sample-plugin-nativeaccess/pom.xml b/samples/sample-plugin-nativeaccess/pom.xml index 7ec3ce40cc..f784778fc8 100644 --- a/samples/sample-plugin-nativeaccess/pom.xml +++ b/samples/sample-plugin-nativeaccess/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-nativeaccess-parent diff --git a/samples/sample-plugin-parts/che-sample-plugin-parts-ide/pom.xml b/samples/sample-plugin-parts/che-sample-plugin-parts-ide/pom.xml index 2dd853cd5b..0afc00a89b 100644 --- a/samples/sample-plugin-parts/che-sample-plugin-parts-ide/pom.xml +++ b/samples/sample-plugin-parts/che-sample-plugin-parts-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-parts-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-parts-ide jar diff --git a/samples/sample-plugin-parts/pom.xml b/samples/sample-plugin-parts/pom.xml index 01d727813e..7e2650112b 100644 --- a/samples/sample-plugin-parts/pom.xml +++ b/samples/sample-plugin-parts/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-parts-parent diff --git a/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-ide/pom.xml b/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-ide/pom.xml index 524738687b..646e5c5fe6 100644 --- a/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-ide/pom.xml +++ b/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-serverservice-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-serverservice-ide jar diff --git a/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-server/pom.xml b/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-server/pom.xml index e68fe812c0..5ee9c045d5 100644 --- a/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-server/pom.xml +++ b/samples/sample-plugin-serverservice/che-sample-plugin-serverservice-server/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-serverservice-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-serverservice-server Che Sample :: Plugin ServerService :: Server diff --git a/samples/sample-plugin-serverservice/pom.xml b/samples/sample-plugin-serverservice/pom.xml index d1b14d359c..cab23d2d39 100644 --- a/samples/sample-plugin-serverservice/pom.xml +++ b/samples/sample-plugin-serverservice/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-serverservice-parent diff --git a/samples/sample-plugin-wizard/che-sample-plugin-wizard-ide/pom.xml b/samples/sample-plugin-wizard/che-sample-plugin-wizard-ide/pom.xml index a7f82fb930..7a19ea4784 100644 --- a/samples/sample-plugin-wizard/che-sample-plugin-wizard-ide/pom.xml +++ b/samples/sample-plugin-wizard/che-sample-plugin-wizard-ide/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-wizard-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-wizard-ide jar diff --git a/samples/sample-plugin-wizard/che-sample-plugin-wizard-server/pom.xml b/samples/sample-plugin-wizard/che-sample-plugin-wizard-server/pom.xml index fe9b239cdb..849767b249 100644 --- a/samples/sample-plugin-wizard/che-sample-plugin-wizard-server/pom.xml +++ b/samples/sample-plugin-wizard/che-sample-plugin-wizard-server/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-wizard-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-wizard-server Che Sample :: Plugin Wizard :: Server diff --git a/samples/sample-plugin-wizard/che-sample-plugin-wizard-shared/pom.xml b/samples/sample-plugin-wizard/che-sample-plugin-wizard-shared/pom.xml index 6f6e02c762..088619115c 100644 --- a/samples/sample-plugin-wizard/che-sample-plugin-wizard-shared/pom.xml +++ b/samples/sample-plugin-wizard/che-sample-plugin-wizard-shared/pom.xml @@ -16,7 +16,7 @@ che-sample-plugin-wizard-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-sample-plugin-wizard-shared Che Sample :: Plugin Wizard :: Shared diff --git a/samples/sample-plugin-wizard/pom.xml b/samples/sample-plugin-wizard/pom.xml index 18ad7210ff..8153a7ea38 100644 --- a/samples/sample-plugin-wizard/pom.xml +++ b/samples/sample-plugin-wizard/pom.xml @@ -16,7 +16,7 @@ che-sample-parent org.eclipse.che.sample - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml che-sample-plugin-wizard-parent diff --git a/wsagent/agent/pom.xml b/wsagent/agent/pom.xml index 426f077d0f..adc616cbae 100644 --- a/wsagent/agent/pom.xml +++ b/wsagent/agent/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT wsagent Workspace Agent diff --git a/wsagent/che-core-api-debug-shared/pom.xml b/wsagent/che-core-api-debug-shared/pom.xml index 5b82ec3091..188df67c10 100644 --- a/wsagent/che-core-api-debug-shared/pom.xml +++ b/wsagent/che-core-api-debug-shared/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-debug-shared jar diff --git a/wsagent/che-core-api-debug/pom.xml b/wsagent/che-core-api-debug/pom.xml index d25fe6ff2f..55cbff96b7 100644 --- a/wsagent/che-core-api-debug/pom.xml +++ b/wsagent/che-core-api-debug/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-debug Che Core :: API :: Debug diff --git a/wsagent/che-core-api-git-shared/pom.xml b/wsagent/che-core-api-git-shared/pom.xml index 1687feecd5..6960799887 100644 --- a/wsagent/che-core-api-git-shared/pom.xml +++ b/wsagent/che-core-api-git-shared/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-git-shared jar diff --git a/wsagent/che-core-api-git/pom.xml b/wsagent/che-core-api-git/pom.xml index 0c1c9fa63e..eccd5bcb4f 100644 --- a/wsagent/che-core-api-git/pom.xml +++ b/wsagent/che-core-api-git/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-git jar diff --git a/wsagent/che-core-api-languageserver-maven-plugin/pom.xml b/wsagent/che-core-api-languageserver-maven-plugin/pom.xml index d0a2391585..515d279d51 100644 --- a/wsagent/che-core-api-languageserver-maven-plugin/pom.xml +++ b/wsagent/che-core-api-languageserver-maven-plugin/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-languageserver-maven-plugin maven-plugin diff --git a/wsagent/che-core-api-languageserver-shared/pom.xml b/wsagent/che-core-api-languageserver-shared/pom.xml index e4d487ed34..d0a3398bac 100644 --- a/wsagent/che-core-api-languageserver-shared/pom.xml +++ b/wsagent/che-core-api-languageserver-shared/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-languageserver-shared jar diff --git a/wsagent/che-core-api-languageserver/pom.xml b/wsagent/che-core-api-languageserver/pom.xml index 5c4e29fbdf..b56e58d56c 100644 --- a/wsagent/che-core-api-languageserver/pom.xml +++ b/wsagent/che-core-api-languageserver/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-languageserver jar diff --git a/wsagent/che-core-api-oauth/pom.xml b/wsagent/che-core-api-oauth/pom.xml index e4764c81b8..fc97c4b33e 100644 --- a/wsagent/che-core-api-oauth/pom.xml +++ b/wsagent/che-core-api-oauth/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-oauth jar diff --git a/wsagent/che-core-api-project-shared/pom.xml b/wsagent/che-core-api-project-shared/pom.xml index dba195a596..d18d7d9de4 100644 --- a/wsagent/che-core-api-project-shared/pom.xml +++ b/wsagent/che-core-api-project-shared/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-project-shared jar diff --git a/wsagent/che-core-api-project/pom.xml b/wsagent/che-core-api-project/pom.xml index a773158f44..d3bd9cbed7 100644 --- a/wsagent/che-core-api-project/pom.xml +++ b/wsagent/che-core-api-project/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-project jar @@ -101,7 +101,7 @@ org.eclipse.che.core che-core-api-project-shared - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.core diff --git a/wsagent/che-core-api-testing-shared/pom.xml b/wsagent/che-core-api-testing-shared/pom.xml index 8bf84450dd..0c6445edd5 100644 --- a/wsagent/che-core-api-testing-shared/pom.xml +++ b/wsagent/che-core-api-testing-shared/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-testing-shared Che Core :: API :: Testing Shared diff --git a/wsagent/che-core-api-testing/pom.xml b/wsagent/che-core-api-testing/pom.xml index 192db46f3f..a88f696d3f 100644 --- a/wsagent/che-core-api-testing/pom.xml +++ b/wsagent/che-core-api-testing/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-testing Che Core :: API :: Testing diff --git a/wsagent/che-core-git-impl-jgit/pom.xml b/wsagent/che-core-git-impl-jgit/pom.xml index 3334457ebb..9cede1e1d8 100644 --- a/wsagent/che-core-git-impl-jgit/pom.xml +++ b/wsagent/che-core-git-impl-jgit/pom.xml @@ -17,7 +17,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-git-impl-jgit jar diff --git a/wsagent/che-core-ssh-key-ide/pom.xml b/wsagent/che-core-ssh-key-ide/pom.xml index 60ade89123..e232b926f6 100644 --- a/wsagent/che-core-ssh-key-ide/pom.xml +++ b/wsagent/che-core-ssh-key-ide/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.plugin che-plugin-ssh-key-ide diff --git a/wsagent/che-core-ssh-key-server/pom.xml b/wsagent/che-core-ssh-key-server/pom.xml index d2867312a8..2151616831 100644 --- a/wsagent/che-core-ssh-key-server/pom.xml +++ b/wsagent/che-core-ssh-key-server/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT org.eclipse.che.plugin che-plugin-ssh-key-server diff --git a/wsagent/che-wsagent-core/pom.xml b/wsagent/che-wsagent-core/pom.xml index 56b79d8e45..4662427028 100644 --- a/wsagent/che-wsagent-core/pom.xml +++ b/wsagent/che-wsagent-core/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-wsagent-core war diff --git a/wsagent/pom.xml b/wsagent/pom.xml index 9e13526683..0a6f4abfa5 100644 --- a/wsagent/pom.xml +++ b/wsagent/pom.xml @@ -16,12 +16,12 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../core/pom.xml org.eclipse.che.core che-agent-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Agent Parent diff --git a/wsagent/wsagent-local/pom.xml b/wsagent/wsagent-local/pom.xml index 07c4a9a6b7..db6745a381 100644 --- a/wsagent/wsagent-local/pom.xml +++ b/wsagent/wsagent-local/pom.xml @@ -16,7 +16,7 @@ che-agent-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT wsagent-local Che Core :: API :: Agent diff --git a/wsmaster/che-core-api-account/pom.xml b/wsmaster/che-core-api-account/pom.xml index db24c2c6bc..838f32e6e2 100644 --- a/wsmaster/che-core-api-account/pom.xml +++ b/wsmaster/che-core-api-account/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-account Che Core :: API :: Account diff --git a/wsmaster/che-core-api-auth-shared/pom.xml b/wsmaster/che-core-api-auth-shared/pom.xml index 6f58148c52..82367faf48 100644 --- a/wsmaster/che-core-api-auth-shared/pom.xml +++ b/wsmaster/che-core-api-auth-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-auth-shared jar diff --git a/wsmaster/che-core-api-auth/pom.xml b/wsmaster/che-core-api-auth/pom.xml index 0ef5e64e3b..cdb8a2e06e 100644 --- a/wsmaster/che-core-api-auth/pom.xml +++ b/wsmaster/che-core-api-auth/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-auth jar diff --git a/wsmaster/che-core-api-factory-shared/pom.xml b/wsmaster/che-core-api-factory-shared/pom.xml index cd877de2c6..9db232def8 100644 --- a/wsmaster/che-core-api-factory-shared/pom.xml +++ b/wsmaster/che-core-api-factory-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-factory-shared jar diff --git a/wsmaster/che-core-api-factory/pom.xml b/wsmaster/che-core-api-factory/pom.xml index f6c6ad3dee..5cb35ec4e0 100644 --- a/wsmaster/che-core-api-factory/pom.xml +++ b/wsmaster/che-core-api-factory/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-factory jar diff --git a/wsmaster/che-core-api-machine-shared/pom.xml b/wsmaster/che-core-api-machine-shared/pom.xml index a3fa37a5a4..e47e701cda 100644 --- a/wsmaster/che-core-api-machine-shared/pom.xml +++ b/wsmaster/che-core-api-machine-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-machine-shared jar diff --git a/wsmaster/che-core-api-machine/pom.xml b/wsmaster/che-core-api-machine/pom.xml index aad437fb88..b0f03057ac 100644 --- a/wsmaster/che-core-api-machine/pom.xml +++ b/wsmaster/che-core-api-machine/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-machine jar diff --git a/wsmaster/che-core-api-project-templates-shared/pom.xml b/wsmaster/che-core-api-project-templates-shared/pom.xml index dde0c2df94..d063635555 100644 --- a/wsmaster/che-core-api-project-templates-shared/pom.xml +++ b/wsmaster/che-core-api-project-templates-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-project-templates-shared Che Core :: API :: Project Templates :: Shared diff --git a/wsmaster/che-core-api-project-templates/pom.xml b/wsmaster/che-core-api-project-templates/pom.xml index 3e184c52ee..d440f39900 100644 --- a/wsmaster/che-core-api-project-templates/pom.xml +++ b/wsmaster/che-core-api-project-templates/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-project-templates Che Core :: API :: Project Templates diff --git a/wsmaster/che-core-api-ssh-shared/pom.xml b/wsmaster/che-core-api-ssh-shared/pom.xml index 6290a422cc..21762d7a39 100644 --- a/wsmaster/che-core-api-ssh-shared/pom.xml +++ b/wsmaster/che-core-api-ssh-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-ssh-shared jar diff --git a/wsmaster/che-core-api-ssh/pom.xml b/wsmaster/che-core-api-ssh/pom.xml index b7d982c26f..f7362a621e 100644 --- a/wsmaster/che-core-api-ssh/pom.xml +++ b/wsmaster/che-core-api-ssh/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-ssh jar diff --git a/wsmaster/che-core-api-system-shared/pom.xml b/wsmaster/che-core-api-system-shared/pom.xml index 8f3549c34d..f87b90bc9d 100644 --- a/wsmaster/che-core-api-system-shared/pom.xml +++ b/wsmaster/che-core-api-system-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-system-shared jar diff --git a/wsmaster/che-core-api-system/pom.xml b/wsmaster/che-core-api-system/pom.xml index c7803787d9..48d707b046 100644 --- a/wsmaster/che-core-api-system/pom.xml +++ b/wsmaster/che-core-api-system/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-system jar diff --git a/wsmaster/che-core-api-user-shared/pom.xml b/wsmaster/che-core-api-user-shared/pom.xml index 95e692d572..3013bceb68 100644 --- a/wsmaster/che-core-api-user-shared/pom.xml +++ b/wsmaster/che-core-api-user-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-user-shared Che Core :: API :: User :: Shared diff --git a/wsmaster/che-core-api-user/pom.xml b/wsmaster/che-core-api-user/pom.xml index cb3cefd09b..226bce685b 100644 --- a/wsmaster/che-core-api-user/pom.xml +++ b/wsmaster/che-core-api-user/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-user Che Core :: API :: User diff --git a/wsmaster/che-core-api-workspace-shared/pom.xml b/wsmaster/che-core-api-workspace-shared/pom.xml index 3fd74a1c72..16d4e76841 100644 --- a/wsmaster/che-core-api-workspace-shared/pom.xml +++ b/wsmaster/che-core-api-workspace-shared/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-workspace-shared jar diff --git a/wsmaster/che-core-api-workspace/pom.xml b/wsmaster/che-core-api-workspace/pom.xml index 5ec6a3db07..88236c4496 100644 --- a/wsmaster/che-core-api-workspace/pom.xml +++ b/wsmaster/che-core-api-workspace/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-api-workspace jar diff --git a/wsmaster/che-core-sql-schema/pom.xml b/wsmaster/che-core-sql-schema/pom.xml index 6120c47fc4..0f93b0ecf0 100644 --- a/wsmaster/che-core-sql-schema/pom.xml +++ b/wsmaster/che-core-sql-schema/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT che-core-sql-schema Che Core :: SQL :: Schema diff --git a/wsmaster/integration-tests/cascade-removal/pom.xml b/wsmaster/integration-tests/cascade-removal/pom.xml index 7aeef614b2..c94448ee27 100644 --- a/wsmaster/integration-tests/cascade-removal/pom.xml +++ b/wsmaster/integration-tests/cascade-removal/pom.xml @@ -16,7 +16,7 @@ integration-tests-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT cascade-removal Integration Tests :: Cascade Removal diff --git a/wsmaster/integration-tests/pom.xml b/wsmaster/integration-tests/pom.xml index 1a9ab957af..1412fa39d6 100644 --- a/wsmaster/integration-tests/pom.xml +++ b/wsmaster/integration-tests/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../pom.xml integration-tests-parent diff --git a/wsmaster/integration-tests/postgresql-tck/pom.xml b/wsmaster/integration-tests/postgresql-tck/pom.xml index bf2cee371f..75aaa68b09 100644 --- a/wsmaster/integration-tests/postgresql-tck/pom.xml +++ b/wsmaster/integration-tests/postgresql-tck/pom.xml @@ -16,7 +16,7 @@ integration-tests-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT postgresql-tck jar diff --git a/wsmaster/pom.xml b/wsmaster/pom.xml index 3f014fb832..92e45bca5b 100644 --- a/wsmaster/pom.xml +++ b/wsmaster/pom.xml @@ -16,11 +16,11 @@ che-core-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT ../core/pom.xml che-master-parent - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT pom Che Master Parent diff --git a/wsmaster/wsmaster-local/pom.xml b/wsmaster/wsmaster-local/pom.xml index 20cafd24b7..18bfe67796 100644 --- a/wsmaster/wsmaster-local/pom.xml +++ b/wsmaster/wsmaster-local/pom.xml @@ -16,7 +16,7 @@ che-master-parent org.eclipse.che.core - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT wsmaster-local Che Core :: API :: Impl Local From ee1eae88fd741d81bfcd6bbd460adc025b755826 Mon Sep 17 00:00:00 2001 From: Roman Iuvshyn Date: Thu, 29 Jun 2017 15:22:39 +0300 Subject: [PATCH 07/11] RELEASE: Add next tag version in CLI --- dockerfiles/cli/version/5.15.0/images | 4 ++++ dockerfiles/cli/version/5.15.0/images-stacks | 24 ++++++++++++++++++++ dockerfiles/cli/version/latest.ver | 2 +- dockerfiles/lib/dto-pom.xml | 4 ++-- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 dockerfiles/cli/version/5.15.0/images create mode 100644 dockerfiles/cli/version/5.15.0/images-stacks diff --git a/dockerfiles/cli/version/5.15.0/images b/dockerfiles/cli/version/5.15.0/images new file mode 100644 index 0000000000..5abd12a95c --- /dev/null +++ b/dockerfiles/cli/version/5.15.0/images @@ -0,0 +1,4 @@ +IMAGE_INIT=eclipse/che-init:5.15.0 +IMAGE_CHE=eclipse/che-server:5.15.0 +IMAGE_COMPOSE=docker/compose:1.8.1 +IMAGE_TRAEFIK=traefik:v1.3.0-rc3 diff --git a/dockerfiles/cli/version/5.15.0/images-stacks b/dockerfiles/cli/version/5.15.0/images-stacks new file mode 100644 index 0000000000..4630f02af6 --- /dev/null +++ b/dockerfiles/cli/version/5.15.0/images-stacks @@ -0,0 +1,24 @@ +eclipse/alpine_jdk8 +eclipse/aspnet +eclipse/centos_jdk8 +eclipse/cpp_gcc +eclipse/debian_jdk8 +eclipse/debian_jdk8_node +eclipse/debian_jre +eclipse/dotnet_core +eclipse/hadoop-dev +eclipse/meteor +eclipse/node +eclipse/php +eclipse/platformio +eclipse/ruby_rails +eclipse/selenium +eclipse/ubuntu_android +eclipse/ubuntu_go +eclipse/ubuntu_gradle +eclipse/ubuntu_jdk8 +eclipse/ubuntu_jre +eclipse/ubuntu_python +eclipse/ubuntu_wildfly8 +registry.centos.org/che-stacks/vertx + diff --git a/dockerfiles/cli/version/latest.ver b/dockerfiles/cli/version/latest.ver index 22f097e28e..5d4f567eb6 100644 --- a/dockerfiles/cli/version/latest.ver +++ b/dockerfiles/cli/version/latest.ver @@ -1 +1 @@ -5.13.0 \ No newline at end of file +5.14.0 \ No newline at end of file diff --git a/dockerfiles/lib/dto-pom.xml b/dockerfiles/lib/dto-pom.xml index b7b27ac9e0..5e52ba401c 100644 --- a/dockerfiles/lib/dto-pom.xml +++ b/dockerfiles/lib/dto-pom.xml @@ -17,13 +17,13 @@ maven-depmgt-pom org.eclipse.che.depmgt - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT dto-typescript pom Che TypeScript DTO - 5.14.0-SNAPSHOT + 5.15.0-SNAPSHOT From c7c1ee807cc2d85f24a8c7b868ed41e5b18f0b6b Mon Sep 17 00:00:00 2001 From: Mykola Morhun Date: Thu, 29 Jun 2017 17:00:10 +0300 Subject: [PATCH 08/11] CODENVY-2285: Add registry host in log on snapshot deletion failure (#5500) --- .../docker/machine/DockerInstanceProvider.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/DockerInstanceProvider.java b/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/DockerInstanceProvider.java index acfd04c3e0..65d55a8426 100644 --- a/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/DockerInstanceProvider.java +++ b/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/DockerInstanceProvider.java @@ -200,7 +200,11 @@ public class DockerInstanceProvider implements InstanceProvider { conn.disconnect(); } } catch (IOException e) { - LOG.error(e.getLocalizedMessage(), e); + LOG.error("Failed to remove {} snapshot from {}. Cause: {}", + dockerMachineSource.getRepository(), + dockerMachineSource.getRegistry(), + e.getLocalizedMessage(), + e); } } @@ -239,7 +243,11 @@ public class DockerInstanceProvider implements InstanceProvider { conn.disconnect(); } } catch (IOException e) { - LOG.error(e.getLocalizedMessage(), e); + LOG.error("Failed to remove {} snapshot from {}. Cause: {}", + repository, + DOCKER_HUB_BASE_URI, + e.getLocalizedMessage(), + e); } } From 991b895047abcdb84b36705eff7802ba3782b869 Mon Sep 17 00:00:00 2001 From: "Victor V. Rubezhny" Date: Fri, 30 Jun 2017 10:29:21 +0200 Subject: [PATCH 09/11] CHE-15 - Java stacktrace support (From Platform to Che Workspace) (#5396) * CHE-15 - Java stacktrace support (From Platform to Che Workspace) Adds the possibility to click on a stacktrace line in order to open a specified class in editor. Also fixes CHE-293 (#5001) - String Written to Dev-Machine stdout not Escaped Properly Issue: https://issues.jboss.org/browse/CHE-15 Issue: https://issues.jboss.org/browse/CHE-293 see: https://github.com/eclipse/che/issues/5001 Signed-off-by: Victor Rubezhny --- ide/che-core-ide-app/pom.xml | 3 + .../CommandOutputConsolePresenter.java | 18 +- .../che/ide/console/DefaultOutputConsole.java | 18 ++ .../ide/console/DefaultOutputCustomizer.java | 226 ++++++++++++++++++ .../che/ide/console/OutputConsoleView.java | 3 + .../ide/console/OutputConsoleViewImpl.java | 16 +- .../che/ide/console/OutputCustomizer.java | 22 ++ .../console/DefaultOutputCustomizerTest.java | 100 ++++++++ 8 files changed, 402 insertions(+), 4 deletions(-) create mode 100644 ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputCustomizer.java create mode 100644 ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputCustomizer.java create mode 100644 ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/console/DefaultOutputCustomizerTest.java diff --git a/ide/che-core-ide-app/pom.xml b/ide/che-core-ide-app/pom.xml index 1cae987dfc..df87deba5b 100644 --- a/ide/che-core-ide-app/pom.xml +++ b/ide/che-core-ide-app/pom.xml @@ -336,6 +336,9 @@ **/*.png **/*.gif **/*.jpg + **/OutputCustomizer.java + **/DefaultOutputCustomizer.java + **/DefaultOutputCustomizerTest.java diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/CommandOutputConsolePresenter.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/CommandOutputConsolePresenter.java index 3f87dc5adf..221bdce07e 100644 --- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/CommandOutputConsolePresenter.java +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/CommandOutputConsolePresenter.java @@ -25,8 +25,10 @@ import org.eclipse.che.api.machine.shared.dto.execagent.event.ProcessStdOutEvent import org.eclipse.che.api.promises.client.Operation; import org.eclipse.che.api.promises.client.OperationException; import org.eclipse.che.commons.annotation.Nullable; +import org.eclipse.che.ide.api.app.AppContext; import org.eclipse.che.ide.api.command.CommandExecutor; import org.eclipse.che.ide.api.command.CommandImpl; +import org.eclipse.che.ide.api.editor.EditorAgent; import org.eclipse.che.ide.api.machine.ExecAgentCommandManager; import org.eclipse.che.ide.api.machine.events.ProcessFinishedEvent; import org.eclipse.che.ide.api.machine.events.ProcessStartedEvent; @@ -66,6 +68,8 @@ public class CommandOutputConsolePresenter implements CommandOutputConsole, Outp private boolean followOutput = true; private final List actionDelegates = new ArrayList<>(); + + private OutputCustomizer outputCustomizer = null; @Inject public CommandOutputConsolePresenter(final OutputConsoleView view, @@ -75,7 +79,9 @@ public class CommandOutputConsolePresenter implements CommandOutputConsole, Outp EventBus eventBus, ExecAgentCommandManager execAgentCommandManager, @Assisted CommandImpl command, - @Assisted Machine machine) { + @Assisted Machine machine, + AppContext appContext, + EditorAgent editorAgent) { this.view = view; this.resources = resources; this.execAgentCommandManager = execAgentCommandManager; @@ -84,6 +90,7 @@ public class CommandOutputConsolePresenter implements CommandOutputConsole, Outp this.eventBus = eventBus; this.commandExecutor = commandExecutor; + setCustomizer(new DefaultOutputCustomizer(appContext, editorAgent)); view.setDelegate(this); final String previewUrl = command.getAttributes().get(COMMAND_PREVIEW_URL_ATTRIBUTE_NAME); @@ -275,4 +282,13 @@ public class CommandOutputConsolePresenter implements CommandOutputConsole, Outp return view.getText(); } + @Override + public OutputCustomizer getCustomizer() { + return outputCustomizer; + } + + /** Sets up the text output customizer */ + public void setCustomizer(OutputCustomizer customizer) { + this.outputCustomizer = customizer; + } } diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputConsole.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputConsole.java index e8f3f8bc13..2d2663accf 100644 --- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputConsole.java +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputConsole.java @@ -14,6 +14,8 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.editor.EditorAgent; import org.eclipse.che.ide.api.outputconsole.OutputConsole; import org.eclipse.che.ide.machine.MachineResources; import org.vectomatic.dom.svg.ui.SVGResource; @@ -39,15 +41,21 @@ public class DefaultOutputConsole implements OutputConsole, OutputConsoleView.Ac /** Follow output when printing text */ private boolean followOutput = true; + private OutputCustomizer customizer = null; + @Inject public DefaultOutputConsole(OutputConsoleView view, MachineResources resources, + AppContext appContext, + EditorAgent editorAgent, @Assisted String title) { this.view = view; this.title = title; this.resources = resources; this.view.enableAutoScroll(true); + setCustomizer(new DefaultOutputCustomizer(appContext, editorAgent)); + view.setDelegate(this); view.hideCommand(); @@ -182,4 +190,14 @@ public class DefaultOutputConsole implements OutputConsole, OutputConsoleView.Ac view.toggleScrollToEndButton(bottomReached); } + @Override + public OutputCustomizer getCustomizer() { + return customizer; + } + + /** Sets up the text output customizer */ + public void setCustomizer(OutputCustomizer customizer) { + this.customizer = customizer; + } + } diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputCustomizer.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputCustomizer.java new file mode 100644 index 0000000000..1cf77a7127 --- /dev/null +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/DefaultOutputCustomizer.java @@ -0,0 +1,226 @@ +/******************************************************************************* + * Copyright (c) 2017 RedHat, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * RedHat, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.ide.console; + +import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Strings.nullToEmpty; +import static com.google.gwt.regexp.shared.RegExp.compile; + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.che.api.promises.client.Function; +import org.eclipse.che.api.promises.client.FunctionException; +import org.eclipse.che.api.promises.client.Promise; +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.editor.EditorAgent; +import org.eclipse.che.ide.api.editor.EditorPartPresenter; +import org.eclipse.che.ide.api.editor.OpenEditorCallbackImpl; +import org.eclipse.che.ide.api.editor.text.TextPosition; +import org.eclipse.che.ide.api.editor.text.TextRange; +import org.eclipse.che.ide.api.editor.texteditor.TextEditor; +import org.eclipse.che.ide.api.resources.Container; +import org.eclipse.che.ide.api.resources.File; +import org.eclipse.che.ide.api.resources.Resource; +import org.eclipse.che.ide.resource.Path; + +import com.google.gwt.regexp.shared.MatchResult; +import com.google.gwt.regexp.shared.RegExp; +import com.google.gwt.user.client.Timer; +import com.google.inject.Inject; + +/** + * Default customizer adds an anchor link to the lines that match a stack trace + * line pattern and installs a handler function for the link. The handler parses + * the stack trace line, searches for the candidate Java files to navigate to, + * opens the first file (of the found candidates) in editor and reveals it to + * the required line according to the stack trace line information + */ +public class DefaultOutputCustomizer implements OutputCustomizer { + + private static final RegExp LINE_AT = compile("(\\s+at .+)"); + private static final RegExp LINE_AT_EXCEPTION = compile("(\\s+at address:.+)"); + + private AppContext appContext; + private EditorAgent editorAgent; + + @Inject + public DefaultOutputCustomizer(AppContext appContext, EditorAgent editorAgent) { + this.appContext = appContext; + this.editorAgent = editorAgent; + + exportAnchorClickHandlerFunction(); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.che.ide.extension.machine.client.outputspanel.console. + * OutputCustomizer#canCustomize(java.lang.String) + */ + @Override + public boolean canCustomize(String text) { + return (LINE_AT.exec(text) != null && LINE_AT_EXCEPTION.exec(text) == null); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.che.ide.extension.machine.client.outputspanel.console. + * OutputCustomizer#customize(java.lang.String) + */ + @Override + public String customize(String text) { + String customText = text; + + MatchResult matcher = LINE_AT.exec(text); + if (matcher != null) { + try { + int start = text.indexOf("at", 0) + "at".length(), openBracket = text.indexOf("(", start), + column = text.indexOf(":", openBracket), closingBracket = text.indexOf(")", column); + String qualifiedName = text.substring(start, openBracket).trim(); + String fileName = text.substring(openBracket + "(".length(), column).trim(); + int lineNumber = Integer.valueOf(text.substring(column + ":".length(), closingBracket).trim()); + customText = text.substring(0, openBracket + "(".length()); + customText += ""; + customText += text.substring(openBracket + "(".length(), closingBracket); + customText += ""; + customText += text.substring(closingBracket); + text = customText; + } catch (IndexOutOfBoundsException ex) { + // ignore + } + } + + return text; + } + + /** + * A callback that is to be called for an anchor + * + * @param qualifiedName + * @param fileName + * @param lineNumber + */ + public void handleAnchorClick(String qualifiedName, String fileName, final int lineNumber) { + if (qualifiedName == null || fileName == null) { + return; + } + + String qualifiedClassName = qualifiedName.lastIndexOf('.') != -1 + ? qualifiedName.substring(0, qualifiedName.lastIndexOf('.')) + : qualifiedName; + final String packageName = qualifiedClassName.lastIndexOf('.') != -1 + ? qualifiedClassName.substring(0, qualifiedClassName.lastIndexOf('.')) + : ""; + + String relativeFilePath = (packageName.isEmpty() ? "" : + (packageName.replace(".", "/") + "/")) + fileName; + + collectChildren(appContext.getWorkspaceRoot(), Path.valueOf(relativeFilePath)).then(files -> { + if (!files.isEmpty()) { + editorAgent.openEditor(files.get(0), new OpenEditorCallbackImpl() { + @Override + public void onEditorOpened(EditorPartPresenter editor) { + Timer t = new Timer() { + @Override + public void run() { + EditorPartPresenter editorPart = editorAgent.getActiveEditor(); + selectRange(editorPart, lineNumber); + } + }; + t.schedule(500); + } + + @Override + public void onEditorActivated(EditorPartPresenter editor) { + selectRange(editor, lineNumber); + } + }); + + } + }); + } + + /* + * Returns the list of workspace files filtered by a relative path + */ + private Promise> collectChildren(Container root, Path relativeFilePath) { + return root.getTree(-1).then(new Function>() { + @Override + public List apply(Resource[] children) throws FunctionException { + return Stream.of(children).filter( + child -> child.isFile() && endsWith(child.asFile().getLocation(), relativeFilePath)) + .map(Resource::asFile).collect(Collectors.toList()); + } + }); + } + + /* + * Checks if a path's last segments are equal to the provided relative path + */ + private boolean endsWith(Path path, Path relativePath) { + checkNotNull(path); + checkNotNull(relativePath); + + if (path.segmentCount() < relativePath.segmentCount()) + return false; + + for (int i = relativePath.segmentCount() - 1, j = path.segmentCount() - 1; i >= 0; i--, j--) { + if (!nullToEmpty(relativePath.segment(i)).equals(path.segment(j))) { + return false; + } + } + + return true; + } + + /* + * Selects and shows the specified line of text in editor + */ + private void selectRange(EditorPartPresenter editor, int line) { + if (editor instanceof TextEditor) { + TextPosition startPosition = new TextPosition(line - 1, 0); + int lineOffsetStart = ((TextEditor) editor).getDocument().getLineStart(line - 1); + if (lineOffsetStart == -1) { + lineOffsetStart = 0; + } + + int lineOffsetEnd = ((TextEditor) editor).getDocument().getLineStart(line); + if (lineOffsetEnd == -1) { + lineOffsetEnd = 0; + } + while (((TextEditor) editor).getDocument().getLineAtOffset(lineOffsetEnd) > line - 1) { + lineOffsetEnd--; + } + if (lineOffsetStart > lineOffsetEnd) { + lineOffsetEnd = lineOffsetStart; + } + + TextPosition endPosition = new TextPosition(line - 1, lineOffsetEnd - lineOffsetStart); + + ((TextEditor) editor).getDocument().setSelectedRange(new TextRange(startPosition, endPosition), true); + ((TextEditor) editor).getDocument().setCursorPosition(startPosition); + } + } + + /** + * Sets up a java callback to be called for an anchor + */ + public native void exportAnchorClickHandlerFunction() /*-{ + var that = this; + $wnd.open = $entry(function(qualifiedName,fileName,lineNumber) { + that.@org.eclipse.che.ide.console.DefaultOutputCustomizer::handleAnchorClick(*)(qualifiedName,fileName,lineNumber); + }); + }-*/; +} diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputConsoleView.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputConsoleView.java index 57da8be0da..533eee826d 100644 --- a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputConsoleView.java +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputConsoleView.java @@ -159,6 +159,9 @@ public interface OutputConsoleView extends View pair : output2Color) { - final MatchResult matcher = pair.first.exec(text); + final MatchResult matcher = pair.first.exec(encoded); if (matcher != null) { - return text.replaceAll(matcher.getGroup(1), + return encoded.replaceAll(matcher.getGroup(1), "" + matcher.getGroup(1) + ""); } } - return text; + return encoded; } }; diff --git a/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputCustomizer.java b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputCustomizer.java new file mode 100644 index 0000000000..1ed14c53d3 --- /dev/null +++ b/ide/che-core-ide-app/src/main/java/org/eclipse/che/ide/console/OutputCustomizer.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2017 RedHat, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * RedHat, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.ide.console; + +/** + * An interface to allow output text customizations + */ +public interface OutputCustomizer { + /** Checks if the specified text can be/has to be customized */ + boolean canCustomize(String text); + + /** Returns the result of customization for the specified text */ + String customize(String text); +} diff --git a/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/console/DefaultOutputCustomizerTest.java b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/console/DefaultOutputCustomizerTest.java new file mode 100644 index 0000000000..b3b0db344a --- /dev/null +++ b/ide/che-core-ide-app/src/test/java/org/eclipse/che/ide/console/DefaultOutputCustomizerTest.java @@ -0,0 +1,100 @@ +/******************************************************************************* + * Copyright (c) 2017 RedHat, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * RedHat, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.che.ide.console; + +import org.eclipse.che.ide.api.app.AppContext; +import org.eclipse.che.ide.api.editor.EditorAgent; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.testng.Assert; + +import com.google.gwtmockito.GwtMockitoTestRunner; + +/** + * JUnit test for stacktrace line detection in DefaultOutputCustomazer. + * + * See: CHE-15 - Java stacktrace support (From Platform to Che Workspace) + */ +@RunWith(GwtMockitoTestRunner.class) +public class DefaultOutputCustomizerTest { + @Mock + AppContext appContext; + @Mock + EditorAgent editorAgent; + + private OutputCustomizer outputCustomizer; + + @Before + public void setUp() throws Exception { + outputCustomizer = new DefaultOutputCustomizer(appContext, editorAgent); + } + + private void testStackTraceLine(boolean shouldBeCustomizable, String line, String expectedCustomization) throws Exception { + Assert.assertEquals(outputCustomizer.canCustomize(line), shouldBeCustomizable, + "Line [" + line + "] is " + (shouldBeCustomizable ? "" : "not ") + + "customizable while it should" + + (shouldBeCustomizable ? "n\'t " : " ") + "be: "); + if (shouldBeCustomizable) { + Assert.assertEquals(outputCustomizer.customize(line), expectedCustomization, + "Wrong customization result:"); + } + } + + /** + * Test for the detection of initial stacktrace lines in DefaultOutputCustomazer. + * These lines are not to be customized, however these lines show an examples of beginning + * the StackTrace and might be used in future to set up the customizer properly. + * @throws Exception + */ + @Test + public void testInitialStackTraceLines() throws Exception { + testStackTraceLine(false, "org.test.HighLevelException: org.test.MidLevelException: org.test.LowLevelException", null); + testStackTraceLine(false, "Caused by: org.test.MidLevelException: org.test.LowLevelException", null); + testStackTraceLine(false, "Caused by: org.test.LowLevelException", null); + testStackTraceLine(false, "Exception in thread \"main\" java.lang.ArithmeticException: / by zero", null); + } + + /** + * Test for the detection of informative stacktrace lines in DefaultOutputCustomazer. + * These lines have an information on qualified path, file name and line number for an + * exception + * @throws Exception + */ + @Test + public void testValuableStackTraceLines() throws Exception { + testStackTraceLine(true, " at org.test.Junk.main(Junk.java:6)", " at org.test.Junk.main(Junk.java:6)"); + testStackTraceLine(true, " at org.test.TrashClass.throwItThere(Junk.java:51)", " at org.test.TrashClass.throwItThere(Junk.java:51)"); + testStackTraceLine(true, " at MyClass$ThrowInConstructor.(MyClass.java:16)", " at MyClass$ThrowInConstructor.(MyClass.java:16)"); + } + + /** + * Test for the detection of other stacktrace lines in DefaultOutputCustomazer. + * Other lines that can be a part of Stack Trace, however do not contain any + * useful information + * @throws Exception + */ + @Test + public void testOtherStackTraceLines() throws Exception { + testStackTraceLine(false, " ... 1 more", null); + } + + /** + * Test for the detection of non-stacktrace lines in DefaultOutputCustomazer. + * Other lines that might occur in output console + * @throws Exception + */ + @Test + public void testNonStackTraceLines() throws Exception { + testStackTraceLine(false, "[STDOUT] Listening for transport dt_socket at address: 4403", null); + } +} From aea7a7fe31465e8fcd30b52a97be9ad7e955f35f Mon Sep 17 00:00:00 2001 From: Mykola Morhun Date: Fri, 30 Jun 2017 11:29:38 +0300 Subject: [PATCH 10/11] CHE-5503: Remove unnecessary stacktrace (#5506) --- .../eclipse/che/plugin/docker/machine/MachineProviderImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/MachineProviderImpl.java b/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/MachineProviderImpl.java index 05e79e5831..f907deab0a 100644 --- a/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/MachineProviderImpl.java +++ b/plugins/plugin-docker/che-plugin-docker-machine/src/main/java/org/eclipse/che/plugin/docker/machine/MachineProviderImpl.java @@ -554,7 +554,7 @@ public class MachineProviderImpl implements MachineInstanceProvider { .withFilters(new Filters().withFilter("reference", imageName))) .isEmpty(); } catch (IOException e) { - LOG.warn("Failed to check image {} availability. Cause: {}", imageName, e.getMessage(), e); + LOG.warn("Failed to check image {} availability. Cause: {}", imageName, e.getMessage()); return false; // consider that image doesn't exist locally } } From 832509c5a4d44ad9574984edf8a3b299636d7944 Mon Sep 17 00:00:00 2001 From: Eugene Ivantsov Date: Fri, 30 Jun 2017 11:56:01 +0300 Subject: [PATCH 11/11] Fix entrypoint to respect CHE_DOCKER_IP (#5507) * Fix entrypoint to respect CHE_DOCKER_IP Signed-off-by: Eugene Ivantsov * Fix entrypoint to respect CHE_DOCKER_IP Signed-off-by: Eugene Ivantsov * Fix entrypoint to respect CHE_DOCKER_IP Signed-off-by: Eugene Ivantsov * Fix entrypoint to respect CHE_DOCKER_IP Signed-off-by: Eugene Ivantsov --- dockerfiles/che/entrypoint.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dockerfiles/che/entrypoint.sh b/dockerfiles/che/entrypoint.sh index fdd89c33a1..964634d5a4 100755 --- a/dockerfiles/che/entrypoint.sh +++ b/dockerfiles/che/entrypoint.sh @@ -83,8 +83,10 @@ set_environment_variables () { ### Set value of derived environment variables. # CHE_DOCKER_IP is used internally by Che to set its IP address - if [[ -n "${CHE_IP}" ]]; then - export CHE_DOCKER_IP="${CHE_IP}" + if [[ -z "${CHE_DOCKER_IP}" ]]; then + if [[ -n "${CHE_IP}" ]]; then + export CHE_DOCKER_IP="${CHE_IP}" + fi fi # Convert Tomcat environment variables to POSIX format.