From 6d1f45e211c1a0eab7ca97690b1d66239a8991bf Mon Sep 17 00:00:00 2001 From: APiankouski <109206864+APiankouski@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:52:15 +0300 Subject: [PATCH] EPMRPP-97485 || Update to java 21 (#8) --- .github/workflows/build.yml | 4 +- .github/workflows/manually-release.yml | 4 +- .github/workflows/release.yml | 4 +- plugin-slack/build.gradle => build.gradle | 42 ++++++------------ gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 61624 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- plugin-slack/gradle.properties | 3 -- plugin-slack/project-properties.gradle | 24 ---------- project-properties.gradle | 29 +++++++++--- settings.gradle | 3 +- .../extension/slack/SlackPlugin.java | 0 .../extension/slack/SlackPluginExtension.java | 0 .../slack/binary/JsonObjectLoader.java | 0 .../slack/binary/MessageTemplateStore.java | 0 .../slack/collector/PropertyCollector.java | 0 .../collector/laucnh/AttributesCollector.java | 0 .../laucnh/LaunchPropertiesCollector.java | 0 .../laucnh/ResultColorCollector.java | 0 .../laucnh/StatisticsPropertiesCollector.java | 0 .../slack/event/EventHandlerFactory.java | 0 .../slack/event/handler/EventHandler.java | 0 .../plugin/PluginLoadedEventHandler.java | 0 .../SlackLaunchFinishEventListener.java | 0 .../launch/resolver/AttachmentResolver.java | 0 .../launch/resolver/SenderCaseMatcher.java | 0 .../plugin/PluginEventHandlerFactory.java | 0 .../event/plugin/PluginEventListener.java | 0 .../factory/PropertyCollectorFactory.java | 0 .../slack/info/PluginInfoProvider.java | 0 .../info/impl/PluginInfoProviderImpl.java | 0 .../slack/model/enums/SlackEventType.java | 0 .../enums/SlackIntegrationProperties.java | 0 .../slack/model/enums/template/Color.java | 0 .../template/DefaultTemplateProperty.java | 0 .../template/StatisticTemplateProperty.java | 0 .../model/template/TemplateProperty.java | 0 .../slack/model/template/TextProperty.java | 0 .../slack/utils/MemoizingSupplier.java | 0 .../utils/NotificationConfigConverter.java | 0 .../main/resources/binary-data.properties | 0 .../message-template/finish-launch.json | 0 .../001_add_slack_notification_attribute.sql | 0 {plugin-slack/ui => ui}/.editorconfig | 0 {plugin-slack/ui => ui}/.eslintignore | 0 {plugin-slack/ui => ui}/.eslintrc | 0 {plugin-slack/ui => ui}/.gitignore | 0 {plugin-slack/ui => ui}/.prettierrc | 0 {plugin-slack/ui => ui}/README.md | 0 {plugin-slack/ui => ui}/devServer.js | 0 {plugin-slack/ui => ui}/package-lock.json | 0 {plugin-slack/ui => ui}/package.json | 0 .../ui => ui}/src/common/css/colors.scss | 0 .../ui => ui}/src/common/css/fonts.scss | 0 .../ui => ui}/src/common/css/screen-size.scss | 0 .../ui => ui}/src/common/css/z-index.scss | 0 .../src/components/moduleName/index.ts | 0 .../src/components/moduleName/moduleName.tsx | 0 {plugin-slack/ui => ui}/src/declarations.d.ts | 0 {plugin-slack/ui => ui}/src/index.ts | 0 {plugin-slack/ui => ui}/src/metadata.json | 0 {plugin-slack/ui => ui}/src/plugin-icon.svg | 0 {plugin-slack/ui => ui}/tsconfig.eslint.json | 0 {plugin-slack/ui => ui}/tsconfig.json | 0 {plugin-slack/ui => ui}/webpack.config.js | 0 64 files changed, 47 insertions(+), 69 deletions(-) rename plugin-slack/build.gradle => build.gradle (73%) delete mode 100644 plugin-slack/gradle.properties delete mode 100644 plugin-slack/project-properties.gradle rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/binary/JsonObjectLoader.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/binary/MessageTemplateStore.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/collector/PropertyCollector.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/enums/template/Color.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/enums/template/DefaultTemplateProperty.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/template/TemplateProperty.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/model/template/TextProperty.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java (100%) rename {plugin-slack/src => src}/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java (100%) rename {plugin-slack/src => src}/main/resources/binary-data.properties (100%) rename {plugin-slack/src => src}/main/resources/message-template/finish-launch.json (100%) rename {plugin-slack/src => src}/main/resources/scripts/001_add_slack_notification_attribute.sql (100%) rename {plugin-slack/ui => ui}/.editorconfig (100%) rename {plugin-slack/ui => ui}/.eslintignore (100%) rename {plugin-slack/ui => ui}/.eslintrc (100%) rename {plugin-slack/ui => ui}/.gitignore (100%) rename {plugin-slack/ui => ui}/.prettierrc (100%) rename {plugin-slack/ui => ui}/README.md (100%) rename {plugin-slack/ui => ui}/devServer.js (100%) rename {plugin-slack/ui => ui}/package-lock.json (100%) rename {plugin-slack/ui => ui}/package.json (100%) rename {plugin-slack/ui => ui}/src/common/css/colors.scss (100%) rename {plugin-slack/ui => ui}/src/common/css/fonts.scss (100%) rename {plugin-slack/ui => ui}/src/common/css/screen-size.scss (100%) rename {plugin-slack/ui => ui}/src/common/css/z-index.scss (100%) rename {plugin-slack/ui => ui}/src/components/moduleName/index.ts (100%) rename {plugin-slack/ui => ui}/src/components/moduleName/moduleName.tsx (100%) rename {plugin-slack/ui => ui}/src/declarations.d.ts (100%) rename {plugin-slack/ui => ui}/src/index.ts (100%) rename {plugin-slack/ui => ui}/src/metadata.json (100%) rename {plugin-slack/ui => ui}/src/plugin-icon.svg (100%) rename {plugin-slack/ui => ui}/tsconfig.eslint.json (100%) rename {plugin-slack/ui => ui}/tsconfig.json (100%) rename {plugin-slack/ui => ui}/webpack.config.js (100%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a508772..e89896f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,11 +18,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v2 with: distribution: 'adopt' - java-version: '11' + java-version: '21' - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/.github/workflows/manually-release.yml b/.github/workflows/manually-release.yml index d7dee3d..96c2f26 100644 --- a/.github/workflows/manually-release.yml +++ b/.github/workflows/manually-release.yml @@ -26,11 +26,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v2 with: distribution: 'adopt' - java-version: '11' + java-version: '21' - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 519f7fd..9ad35cd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,11 +21,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v2 - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v2 with: distribution: 'adopt' - java-version: '11' + java-version: '21' - name: Grant execute permission for gradlew run: chmod +x gradlew diff --git a/plugin-slack/build.gradle b/build.gradle similarity index 73% rename from plugin-slack/build.gradle rename to build.gradle index 6b929b4..46a2370 100644 --- a/plugin-slack/build.gradle +++ b/build.gradle @@ -1,20 +1,16 @@ -import com.github.spotbugs.SpotBugsTask - plugins { - id "io.spring.dependency-management" version "1.0.9.RELEASE" + id "io.spring.dependency-management" version "1.1.4" id 'java' id 'jacoco' - id "com.github.spotbugs" version "3.0.0" id "com.github.node-gradle.node" version "2.2.1" } - node { version = '20.11.0' npmVersion = '10.2.4' download = true - workDir = file("${project.buildDir}/plugin-slack/ui") - nodeModulesDir = file("${project.rootDir}/plugin-slack/ui") + workDir = file("${project.buildDir}/ui") + nodeModulesDir = file("${project.rootDir}/ui") } npm_run_build { @@ -48,29 +44,19 @@ dependencies { implementation 'com.epam.reportportal:plugin-api' annotationProcessor 'com.epam.reportportal:plugin-api' } else { - implementation 'com.github.reportportal:commons-dao:acf1ec7' - implementation 'com.github.reportportal:plugin-api:188792e' - annotationProcessor 'com.github.reportportal:plugin-api:188792e' + implementation 'com.github.reportportal:commons-dao:a98c172' + implementation 'com.github.reportportal:plugin-api:develop-SNAPSHOT' + annotationProcessor 'com.github.reportportal:plugin-api:develop-SNAPSHOT' } - compile("com.slack.api:slack-api-client:1.27.1") { + implementation("com.slack.api:slack-api-client:1.27.1") { exclude group: "org.slf4j" } - compile 'com.squareup.okhttp3:okhttp:4.12.0' + implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2' + implementation 'com.squareup.okhttp3:okhttp:4.12.0' implementation 'org.hibernate:hibernate-core:5.6.15.Final' } -spotbugs { - sourceSets = [sourceSets.main] - reportLevel = "high" -} -tasks.withType(SpotBugsTask) { - reports { - xml.enabled false - html.enabled true - } -} - test { useJUnitPlatform() maxParallelForks = 1 @@ -79,7 +65,7 @@ test { exceptionFormat = 'short' } reports { - junitXml.enabled = true + junitXml.required = true } } @@ -109,7 +95,7 @@ jar { } manifest { attributes( - "Class-Path": configurations.compile.collect { it.getName() }.join(' '), + "Class-Path": configurations.compileClasspath.collect { it.getName() }.join(' '), "Plugin-Id": "${pluginId}", "Plugin-Version": "${project.version}", "Plugin-Provider": "Report Portal", @@ -126,7 +112,7 @@ shadowJar { from("ui/build") { into("/resources") } - configurations = [project.configurations.compile] + configurations = [project.configurations.compileClasspath] zip64 true dependencies { } @@ -138,9 +124,9 @@ task plugin(type: Jar) { with jar } into('lib') { - from configurations.compile + from configurations.compileClasspath } - extension('zip') + archiveExtension.set('zip') } task assemblePlugin(type: Copy) { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..afba109285af78dbd2a1d187e33ac4f87c76e392 100644 GIT binary patch delta 41372 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 Jxi9{1{U5iG%Wwby delta 35557 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 XqoF3^qhDD&ThzozkTDYh)YSe09)fh~ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..5c40527 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/plugin-slack/gradle.properties b/plugin-slack/gradle.properties deleted file mode 100644 index f8b6aba..0000000 --- a/plugin-slack/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -version=1.0.1 -description=EPAM Report Portal. Slack plugin. -pluginId = slack diff --git a/plugin-slack/project-properties.gradle b/plugin-slack/project-properties.gradle deleted file mode 100644 index b9a5220..0000000 --- a/plugin-slack/project-properties.gradle +++ /dev/null @@ -1,24 +0,0 @@ -sourceCompatibility = JavaVersion.VERSION_11 -targetCompatibility = JavaVersion.VERSION_11 - -def commonScriptsUrl = 'https://raw.githubusercontent.com/reportportal/gradle-scripts/' - -project.ext { - publishRepo = "https://maven.pkg.github.com/reportportal/plugin-slack" - releaseMode = project.hasProperty("releaseMode") - pluginsDir = "$buildDir/plugins" - scriptsUrl = commonScriptsUrl + (releaseMode ? getProperty('scripts.version') : 'develop') - excludeTests = [ - '**/entity/**', - '**/model/**', - ] - limits = [ - 'instruction': 30, - 'branch' : 17, - 'line' : 30, - 'complexity' : 26, - 'method' : 29, - 'class' : 30 - ] -} - diff --git a/project-properties.gradle b/project-properties.gradle index d47c492..a743a9c 100644 --- a/project-properties.gradle +++ b/project-properties.gradle @@ -1,12 +1,31 @@ -sourceCompatibility = JavaVersion.VERSION_11 -targetCompatibility = JavaVersion.VERSION_11 +java { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 +} + +def commonScriptsUrl = 'https://raw.githubusercontent.com/reportportal/gradle-scripts/' project.ext { + publishRepo = "https://maven.pkg.github.com/reportportal/plugin-slack" releaseMode = project.hasProperty("releaseMode") - pluginsDir = "$buildDir/jars" - + pluginsDir = "$buildDir/plugins" + scriptsUrl = commonScriptsUrl + (releaseMode ? getProperty('scripts.version') : 'develop') + excludeTests = [ + '**/entity/**', + '**/model/**', + ] + limits = [ + 'instruction': 30, + 'branch' : 17, + 'line' : 30, + 'complexity' : 26, + 'method' : 29, + 'class' : 30 + ] } wrapper { - gradleVersion = '5.4.1' + gradleVersion = '8.10.2' } + + diff --git a/settings.gradle b/settings.gradle index 132da54..330116d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,2 @@ -rootProject.name = 'plugin-slack-epam' -include 'plugin-slack' +rootProject.name = 'plugin-slack' diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java b/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java rename to src/main/java/com/epam/reportportal/extension/slack/SlackPlugin.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java b/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java rename to src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/binary/JsonObjectLoader.java b/src/main/java/com/epam/reportportal/extension/slack/binary/JsonObjectLoader.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/binary/JsonObjectLoader.java rename to src/main/java/com/epam/reportportal/extension/slack/binary/JsonObjectLoader.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/binary/MessageTemplateStore.java b/src/main/java/com/epam/reportportal/extension/slack/binary/MessageTemplateStore.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/binary/MessageTemplateStore.java rename to src/main/java/com/epam/reportportal/extension/slack/binary/MessageTemplateStore.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/PropertyCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/PropertyCollector.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/PropertyCollector.java rename to src/main/java/com/epam/reportportal/extension/slack/collector/PropertyCollector.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java rename to src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/AttributesCollector.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java rename to src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/LaunchPropertiesCollector.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java rename to src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/ResultColorCollector.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java b/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java rename to src/main/java/com/epam/reportportal/extension/slack/collector/laucnh/StatisticsPropertiesCollector.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java b/src/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java rename to src/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java b/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java rename to src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java b/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java rename to src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java rename to src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java rename to src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/AttachmentResolver.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java b/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java rename to src/main/java/com/epam/reportportal/extension/slack/event/launch/resolver/SenderCaseMatcher.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java rename to src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java b/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java rename to src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java b/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java rename to src/main/java/com/epam/reportportal/extension/slack/factory/PropertyCollectorFactory.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java b/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java rename to src/main/java/com/epam/reportportal/extension/slack/info/PluginInfoProvider.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java b/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java rename to src/main/java/com/epam/reportportal/extension/slack/info/impl/PluginInfoProviderImpl.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java rename to src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackEventType.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java rename to src/main/java/com/epam/reportportal/extension/slack/model/enums/SlackIntegrationProperties.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/Color.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/Color.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/Color.java rename to src/main/java/com/epam/reportportal/extension/slack/model/enums/template/Color.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/DefaultTemplateProperty.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/DefaultTemplateProperty.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/DefaultTemplateProperty.java rename to src/main/java/com/epam/reportportal/extension/slack/model/enums/template/DefaultTemplateProperty.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java b/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java rename to src/main/java/com/epam/reportportal/extension/slack/model/enums/template/StatisticTemplateProperty.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/template/TemplateProperty.java b/src/main/java/com/epam/reportportal/extension/slack/model/template/TemplateProperty.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/template/TemplateProperty.java rename to src/main/java/com/epam/reportportal/extension/slack/model/template/TemplateProperty.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/template/TextProperty.java b/src/main/java/com/epam/reportportal/extension/slack/model/template/TextProperty.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/model/template/TextProperty.java rename to src/main/java/com/epam/reportportal/extension/slack/model/template/TextProperty.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java b/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java rename to src/main/java/com/epam/reportportal/extension/slack/utils/MemoizingSupplier.java diff --git a/plugin-slack/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java b/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java similarity index 100% rename from plugin-slack/src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java rename to src/main/java/com/epam/reportportal/extension/slack/utils/NotificationConfigConverter.java diff --git a/plugin-slack/src/main/resources/binary-data.properties b/src/main/resources/binary-data.properties similarity index 100% rename from plugin-slack/src/main/resources/binary-data.properties rename to src/main/resources/binary-data.properties diff --git a/plugin-slack/src/main/resources/message-template/finish-launch.json b/src/main/resources/message-template/finish-launch.json similarity index 100% rename from plugin-slack/src/main/resources/message-template/finish-launch.json rename to src/main/resources/message-template/finish-launch.json diff --git a/plugin-slack/src/main/resources/scripts/001_add_slack_notification_attribute.sql b/src/main/resources/scripts/001_add_slack_notification_attribute.sql similarity index 100% rename from plugin-slack/src/main/resources/scripts/001_add_slack_notification_attribute.sql rename to src/main/resources/scripts/001_add_slack_notification_attribute.sql diff --git a/plugin-slack/ui/.editorconfig b/ui/.editorconfig similarity index 100% rename from plugin-slack/ui/.editorconfig rename to ui/.editorconfig diff --git a/plugin-slack/ui/.eslintignore b/ui/.eslintignore similarity index 100% rename from plugin-slack/ui/.eslintignore rename to ui/.eslintignore diff --git a/plugin-slack/ui/.eslintrc b/ui/.eslintrc similarity index 100% rename from plugin-slack/ui/.eslintrc rename to ui/.eslintrc diff --git a/plugin-slack/ui/.gitignore b/ui/.gitignore similarity index 100% rename from plugin-slack/ui/.gitignore rename to ui/.gitignore diff --git a/plugin-slack/ui/.prettierrc b/ui/.prettierrc similarity index 100% rename from plugin-slack/ui/.prettierrc rename to ui/.prettierrc diff --git a/plugin-slack/ui/README.md b/ui/README.md similarity index 100% rename from plugin-slack/ui/README.md rename to ui/README.md diff --git a/plugin-slack/ui/devServer.js b/ui/devServer.js similarity index 100% rename from plugin-slack/ui/devServer.js rename to ui/devServer.js diff --git a/plugin-slack/ui/package-lock.json b/ui/package-lock.json similarity index 100% rename from plugin-slack/ui/package-lock.json rename to ui/package-lock.json diff --git a/plugin-slack/ui/package.json b/ui/package.json similarity index 100% rename from plugin-slack/ui/package.json rename to ui/package.json diff --git a/plugin-slack/ui/src/common/css/colors.scss b/ui/src/common/css/colors.scss similarity index 100% rename from plugin-slack/ui/src/common/css/colors.scss rename to ui/src/common/css/colors.scss diff --git a/plugin-slack/ui/src/common/css/fonts.scss b/ui/src/common/css/fonts.scss similarity index 100% rename from plugin-slack/ui/src/common/css/fonts.scss rename to ui/src/common/css/fonts.scss diff --git a/plugin-slack/ui/src/common/css/screen-size.scss b/ui/src/common/css/screen-size.scss similarity index 100% rename from plugin-slack/ui/src/common/css/screen-size.scss rename to ui/src/common/css/screen-size.scss diff --git a/plugin-slack/ui/src/common/css/z-index.scss b/ui/src/common/css/z-index.scss similarity index 100% rename from plugin-slack/ui/src/common/css/z-index.scss rename to ui/src/common/css/z-index.scss diff --git a/plugin-slack/ui/src/components/moduleName/index.ts b/ui/src/components/moduleName/index.ts similarity index 100% rename from plugin-slack/ui/src/components/moduleName/index.ts rename to ui/src/components/moduleName/index.ts diff --git a/plugin-slack/ui/src/components/moduleName/moduleName.tsx b/ui/src/components/moduleName/moduleName.tsx similarity index 100% rename from plugin-slack/ui/src/components/moduleName/moduleName.tsx rename to ui/src/components/moduleName/moduleName.tsx diff --git a/plugin-slack/ui/src/declarations.d.ts b/ui/src/declarations.d.ts similarity index 100% rename from plugin-slack/ui/src/declarations.d.ts rename to ui/src/declarations.d.ts diff --git a/plugin-slack/ui/src/index.ts b/ui/src/index.ts similarity index 100% rename from plugin-slack/ui/src/index.ts rename to ui/src/index.ts diff --git a/plugin-slack/ui/src/metadata.json b/ui/src/metadata.json similarity index 100% rename from plugin-slack/ui/src/metadata.json rename to ui/src/metadata.json diff --git a/plugin-slack/ui/src/plugin-icon.svg b/ui/src/plugin-icon.svg similarity index 100% rename from plugin-slack/ui/src/plugin-icon.svg rename to ui/src/plugin-icon.svg diff --git a/plugin-slack/ui/tsconfig.eslint.json b/ui/tsconfig.eslint.json similarity index 100% rename from plugin-slack/ui/tsconfig.eslint.json rename to ui/tsconfig.eslint.json diff --git a/plugin-slack/ui/tsconfig.json b/ui/tsconfig.json similarity index 100% rename from plugin-slack/ui/tsconfig.json rename to ui/tsconfig.json diff --git a/plugin-slack/ui/webpack.config.js b/ui/webpack.config.js similarity index 100% rename from plugin-slack/ui/webpack.config.js rename to ui/webpack.config.js