diff --git a/README.md b/README.md index 3a3edfe22..7eadef216 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Should you have any questions, please contact Ignite Developers at dev@ignite.ap Locally code can be set up using IntelliJ idea and gradle project import. Locally it can be run using org.apache.ignite.ci.web.Launcher.main() method. The bot will create necessary configs in ~/.ignite-teamcity-helper - it is bot Home directory. -In can be changed with org.apache.ignite.ci.tcbot.TcBotSystemProperties.TEAMCITY_HELPER_HOME system property. +In can be changed with TcBotSystemProperties.TEAMCITY_HELPER_HOME system property. Examples of configs can be found in [conf](conf) directory. Main config file is [conf/branches.json](conf/branches.json). This file needs to be placed to work directory, (under user home by default). diff --git a/build.gradle b/build.gradle index d360d4b19..79edd8958 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,11 @@ subprojects { } allprojects { + ext { + sourceCompatibility = '1.8' + targetCompatibility = '1.8' + jettyVer = '9.4.12.v20180830' // ignVer = '2.7.0' @@ -52,6 +56,8 @@ allprojects { // MIT/X11 license, category A; slf4jVer = '1.7.25' + + gsonVer = '2.8.2' } repositories { diff --git a/ignite-tc-helper-web/build.gradle b/ignite-tc-helper-web/build.gradle index 2f256881b..c89468e7f 100644 --- a/ignite-tc-helper-web/build.gradle +++ b/ignite-tc-helper-web/build.gradle @@ -28,6 +28,9 @@ repositories { // https://www.apache.org/legal/resolved.html#category-a dependencies { + compile (project(":tcbot-common")); + compile (project(":tcbot-teamcity")); + compile group: 'com.google.guava', name: 'guava', version: guavaVer compile group: 'org.apache.ignite', name: 'ignite-core', version: ignVer diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java index ba9a6af13..97085f9ef 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/HelperConfig.java @@ -24,10 +24,11 @@ import java.io.IOException; import java.io.UncheckedIOException; import java.util.Properties; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; + import org.apache.ignite.ci.tcbot.conf.BranchesTracked; -import org.apache.ignite.ci.util.Base64Util; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.util.Base64Util; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -68,7 +69,6 @@ public class HelperConfig { @Deprecated public static final String SLACK_CHANNEL = "slack.channel"; public static final String LOGS = "logs"; - public static final String ENDL = String.format("%n"); public static Properties loadAuthProperties(File workDir, String cfgFileName) { try { @@ -107,28 +107,6 @@ private static String prefixedWithServerName(@Nullable String tcName, String nam return isNullOrEmpty(tcName) ? name : (tcName + "." + name); } - public static File ensureDirExist(File workDir) { - if (!workDir.exists()) - checkState(workDir.mkdirs(), "Unable to make directory [" + workDir + "]"); - - return workDir; - } - - public static File resolveWorkDir() { - File workDir = null; - String property = System.getProperty(TcBotSystemProperties.TEAMCITY_HELPER_HOME); - if (isNullOrEmpty(property)) { - String conf = ".ignite-teamcity-helper"; - String prop = System.getProperty("user.home"); - //relative in work dir - workDir = isNullOrEmpty(prop) ? new File(conf) : new File(prop, conf); - } - else - workDir = new File(property); - - return ensureDirExist(workDir); - } - @NotNull public static String userPwdToToken(String user, String pwd) { return Base64Util.encodeUtf8String(user + ":" + pwd); } @@ -141,7 +119,7 @@ public static String getMandatoryProperty(Properties props, String key, String c } public static BranchesTracked getTrackedBranches() { - final File workDir = resolveWorkDir(); + final File workDir = TcBotWorkDir.resolveWorkDir(); final File file = new File(workDir, "branches.json"); try (FileReader json = new FileReader(file)) { @@ -155,7 +133,7 @@ public static BranchesTracked getTrackedBranches() { public static Properties loadEmailSettings() { try { String respConf = prefixedWithServerName(null, MAIL_PROPS); - final File workDir = resolveWorkDir(); + final File workDir = TcBotWorkDir.resolveWorkDir(); File file = new File(workDir, respConf); return loadProps(file); } @@ -165,8 +143,4 @@ public static Properties loadEmailSettings() { } } - @NotNull static File resolveLogs(File workDir, String logsProp) { - final File logsDirFileConfigured = new File(logsProp); - return logsDirFileConfigured.isAbsolute() ? logsDirFileConfigured : new File(workDir, logsProp); - } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IAnalyticsEnabledTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IAnalyticsEnabledTeamcity.java index 00e524bfc..47eda4d3d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IAnalyticsEnabledTeamcity.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IAnalyticsEnabledTeamcity.java @@ -17,6 +17,8 @@ package org.apache.ignite.ci; +import org.apache.ignite.tcservice.ITeamcity; + /** * Combination of REST data and persisted statistics. */ diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java index f83c455fb..cd20e7303 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgnitePersistentTeamcity.java @@ -32,25 +32,25 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.analysis.LogCheckResult; -import org.apache.ignite.ci.analysis.SingleBuildRunCtx; import org.apache.ignite.ci.db.DbMigrations; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.changes.Change; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrences; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.util.ObjectInterner; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.ITeamcity; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.changes.Change; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrences; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcservice.model.user.User; +import org.apache.ignite.tcbot.common.util.ObjectInterner; import org.apache.ignite.ci.web.model.hist.VisasHistoryStorage; import org.jetbrains.annotations.NotNull; @@ -139,21 +139,16 @@ private IgniteCache logCheckResultCache() { return getOrCreateCacheV2(ignCacheNme(LOG_CHECK_RESULT)); } - /** {@inheritDoc} */ - @Override public CompletableFuture unzipFirstFile(CompletableFuture fut) { - return teamcity.unzipFirstFile(fut); - } - /** {@inheritDoc} */ @Override public CompletableFuture downloadBuildLogZip(int id) { return teamcity.downloadBuildLogZip(id); } /** {@inheritDoc} */ - @Override public CompletableFuture analyzeBuildLog(Integer buildId, SingleBuildRunCtx ctx) { - return loadFutureIfAbsentVers(logCheckResultCache(), buildId, - k -> teamcity.analyzeBuildLog(buildId, ctx)); - } +// @Override public CompletableFuture analyzeBuildLog(Integer buildId, SingleBuildRunCtx ctx) { +// return loadFutureIfAbsentVers(logCheckResultCache(), buildId, +// k -> teamcity.analyzeBuildLog(buildId, ctx)); +// } @AutoProfiling diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java index b298e6cbe..56395db73 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/FullChainRunCtx.java @@ -22,8 +22,8 @@ import java.util.Objects; import java.util.concurrent.Future; import java.util.stream.Stream; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcbot.common.util.TimeUtil; import org.jetbrains.annotations.NotNull; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/IMultTestOccurrence.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/IMultTestOccurrence.java index 0a1648785..ea39bad92 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/IMultTestOccurrence.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/IMultTestOccurrence.java @@ -17,7 +17,7 @@ package org.apache.ignite.ci.analysis; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/LogCheckTask.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/LogCheckTask.java index a53644425..eedb5d261 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/LogCheckTask.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/LogCheckTask.java @@ -22,7 +22,7 @@ import org.apache.ignite.ci.logs.handlers.TestLogHandler; import org.apache.ignite.ci.logs.handlers.ThreadDumpInMemoryHandler; -import static org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence.JAVA_LEVEL_DEADLOCK; +import static org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence.JAVA_LEVEL_DEADLOCK; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java index da9af4e88..2e8c8da12 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/MultBuildRunCtx.java @@ -32,10 +32,10 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import javax.annotation.Nonnull; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.stat.Statistics; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java index 797060632..348a817ef 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/SingleBuildRunCtx.java @@ -32,10 +32,13 @@ import java.util.regex.Pattern; import java.util.stream.Stream; import javax.annotation.Nonnull; -import org.apache.ignite.ci.ITeamcity; + +import org.apache.ignite.tcbot.common.conf.IParameterValueSpec; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.tcbot.conf.BuildParameterSpec; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcbot.common.conf.IBuildParameterSpec; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.buildtype.ParametersCompacted; import org.apache.ignite.ci.teamcity.ignited.change.ChangeCompacted; @@ -275,16 +278,16 @@ public Set tags() { public void addTagsFromParameters(ParametersCompacted parameters, ITcServerConfig tcCfg, IStringCompactor compactor) { - for (BuildParameterSpec parm : tcCfg.filteringParameters()) { - if (!parm.isFilled()) + for (IBuildParameterSpec parm0 : tcCfg.filteringParameters()) { + if (!parm0.isFilled()) continue; - String propVal = getPropertyOrSpecialValue(parameters, compactor, parm.name()); + String propVal = getPropertyOrSpecialValue(parameters, compactor, parm0.name()); if (Strings.isNullOrEmpty(propVal)) continue; - parm.selection().stream() + parm0.selection().stream() .filter(pvs -> { String valRegExp = pvs.valueRegExp(); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/TestCompactedMult.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/TestCompactedMult.java index 409d948c3..585c2c259 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/TestCompactedMult.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/analysis/TestCompactedMult.java @@ -21,7 +21,7 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.fatbuild.TestCompacted; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java index f7a154b85..a907529bd 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/DbMigrations.java @@ -35,7 +35,7 @@ import org.apache.ignite.ci.issue.IssueKey; import org.apache.ignite.ci.issue.IssuesStorage; import org.apache.ignite.ci.observer.CompactBuildsInfo; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.web.model.CompactContributionKey; import org.apache.ignite.ci.web.model.CompactVisa; import org.apache.ignite.ci.web.model.CompactVisaRequest; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java index 7fa2473bf..f4316d0a6 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java @@ -26,8 +26,8 @@ import java.util.stream.Collectors; import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; -import org.apache.ignite.ci.HelperConfig; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.web.model.Version; import org.apache.ignite.cluster.BaselineNode; @@ -101,7 +101,7 @@ protected String activate() { @NotNull private IgniteConfiguration getIgniteConfiguration() { - final File workDir = HelperConfig.resolveWorkDir(); + final File workDir = TcBotWorkDir.resolveWorkDir(); Ignite2Configurer.configLogger(workDir, "tcbot_logs"); final IgniteConfiguration cfg = new IgniteConfiguration(); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java index 0091c592d..6b0257ced 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java @@ -24,12 +24,13 @@ import ch.qos.logback.core.rolling.TimeBasedRollingPolicy; import java.io.File; import java.io.IOException; -import org.apache.ignite.ci.HelperConfig; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; + +import org.apache.ignite.tcbot.common.conf.TcBotSystemProperties; import org.apache.ignite.configuration.DataRegionConfiguration; import org.apache.ignite.configuration.DataStorageConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.WALMode; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; import org.jetbrains.annotations.NotNull; import org.slf4j.LoggerFactory; @@ -49,7 +50,7 @@ public static void configLogger(File workDir, String subdir) { rollingFa.setAppend(true); final File logs = new File(workDir, subdir); - HelperConfig.ensureDirExist(logs); + TcBotWorkDir.ensureDirExist(logs); TimeBasedRollingPolicy logFilePolicy = new TimeBasedRollingPolicy(); logFilePolicy.setContext(logCtx); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/IgniteTcBotModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/IgniteTcBotModule.java index f7004f4b1..29df2e1b6 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/IgniteTcBotModule.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/IgniteTcBotModule.java @@ -36,10 +36,11 @@ import org.apache.ignite.ci.tcbot.TcBotBusinessServicesModule; import org.apache.ignite.ci.tcbot.issue.IssueDetector; import org.apache.ignite.ci.teamcity.ignited.TeamcityIgnitedModule; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.apache.ignite.ci.web.TcUpdatePool; import org.apache.ignite.ci.web.model.hist.VisasHistoryStorage; import org.apache.ignite.ci.web.rest.exception.ServiceStartingException; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/MonitoredTaskInterceptor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/MonitoredTaskInterceptor.java index 5e42f57a8..9940ab0dc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/MonitoredTaskInterceptor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/MonitoredTaskInterceptor.java @@ -28,7 +28,7 @@ import java.util.concurrent.atomic.AtomicReference; import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInvocation; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; import org.jetbrains.annotations.NotNull; public class MonitoredTaskInterceptor implements MethodInterceptor { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java index f80d6b54d..d6f2d2463 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubConnIgnitedImpl.java @@ -31,7 +31,7 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.scheduler.IScheduler; import org.apache.ignite.ci.github.GitHubBranchKey; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubIgnitedProvImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubIgnitedProvImpl.java index fe23792c3..cf8fbb02d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubIgnitedProvImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/ignited/GitHubIgnitedProvImpl.java @@ -26,7 +26,7 @@ import javax.inject.Provider; import org.apache.ignite.ci.github.pure.IGitHubConnection; import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; class GitHubIgnitedProvImpl implements IGitHubConnIgnitedProvider { @Inject IGitHubConnectionProvider pureConnProv; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubCachingProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubCachingProvider.java index 2a082df44..ea73be293 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubCachingProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubCachingProvider.java @@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Provider; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; class GitHubCachingProvider implements IGitHubConnectionProvider { @Inject private Provider factory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java index 4cf6347a3..c3696f623 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java @@ -20,12 +20,12 @@ import com.google.common.base.Strings; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.github.GitHubBranchShort; import org.apache.ignite.ci.github.PullRequest; import org.apache.ignite.ci.tcbot.conf.IGitHubConfig; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.util.HttpUtil; +import org.apache.ignite.tcbot.common.util.HttpUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/Issue.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/Issue.java index edddad8e0..00b08990f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/Issue.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/issue/Issue.java @@ -24,7 +24,7 @@ import java.util.Set; import java.util.TreeSet; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; import org.jetbrains.annotations.Nullable; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedProvider.java index b08d09531..50852fe8f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraIgnitedProvider.java @@ -25,7 +25,7 @@ import javax.inject.Inject; import org.apache.ignite.ci.jira.pure.IJiraIntegration; import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java index 231efd827..62617d4ad 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java @@ -29,7 +29,7 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.cache.GuavaCached; import org.apache.ignite.ci.jira.pure.Ticket; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java index 8bc948caf..5e80a9b93 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/Jira.java @@ -19,11 +19,11 @@ import com.google.common.base.Preconditions; import com.google.gson.Gson; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.jira.Tickets; import org.apache.ignite.ci.tcbot.conf.IJiraServerConfig; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.util.HttpUtil; +import org.apache.ignite.tcbot.common.util.HttpUtil; import org.checkerframework.checker.nullness.qual.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/JiraIntegrationProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/JiraIntegrationProvider.java index 0aaac7627..fcfd47306 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/JiraIntegrationProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/JiraIntegrationProvider.java @@ -24,7 +24,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import javax.inject.Inject; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; /** * Class for providing {@link IJiraIntegration} instance for specified Jira server. Instance for each server is cached diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java index d513e265e..9d9fefe63 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jobs/CheckQueueJob.java @@ -28,20 +28,20 @@ import javax.inject.Inject; import org.apache.ignite.ci.tcbot.conf.BranchTracked; import org.apache.ignite.ci.tcbot.conf.ChainAtServerTracked; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.Triggered; -import org.apache.ignite.ci.tcmodel.user.User; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.Triggered; +import org.apache.ignite.tcservice.model.user.User; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/logs/LogMsgToWarn.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/logs/LogMsgToWarn.java index 309e7e7b7..bd302df85 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/logs/LogMsgToWarn.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/logs/LogMsgToWarn.java @@ -18,7 +18,7 @@ package org.apache.ignite.ci.logs; import javax.annotation.Nullable; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java index c1ee9b4c5..bb54c5344 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildObserver.java @@ -21,7 +21,7 @@ import java.util.Timer; import javax.inject.Inject; import org.apache.ignite.ci.tcbot.ITcBotBgAuth; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java index 82ef05786..2b79935a5 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/BuildsInfo.java @@ -24,7 +24,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java index 24bd6c746..1e5e927ec 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java @@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.ReentrantLock; import javax.inject.Inject; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.tcbot.ITcBotBgAuth; import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/IgniteTeamcityHelperRunnerExample.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/IgniteTeamcityHelperRunnerExample.java index 85118e033..9df64b77f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/IgniteTeamcityHelperRunnerExample.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/IgniteTeamcityHelperRunnerExample.java @@ -17,20 +17,18 @@ package org.apache.ignite.ci.runners; -import java.util.Collection; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.StringTokenizer; import java.util.TreeMap; import java.util.TreeSet; -import org.apache.ignite.ci.IgniteTeamcityConnection; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.conf.bt.SnapshotDependency; -import org.apache.ignite.ci.teamcity.pure.TcConnectionStaticLinker; +import org.apache.ignite.tcservice.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.conf.bt.SnapshotDependency; +import org.apache.ignite.tcservice.util.TcConnectionStaticLinker; /** * Local class for running specific checks diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/RemoteClientTmpHelper.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/RemoteClientTmpHelper.java index 032a49671..67c458604 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/RemoteClientTmpHelper.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/runners/RemoteClientTmpHelper.java @@ -31,8 +31,8 @@ import org.apache.ignite.IgniteCache; import org.apache.ignite.Ignition; import org.apache.ignite.ci.tcbot.user.UserAndSessionsStorage; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.IgniteStringCompactor; @@ -41,7 +41,7 @@ import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildDao; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao; import org.apache.ignite.ci.user.TcHelperUser; -import org.apache.ignite.ci.util.XmlUtil; +import org.apache.ignite.tcservice.util.XmlUtil; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.logger.slf4j.Slf4jLogger; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotBusinessServicesModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotBusinessServicesModule.java index 45076b67c..dcd125248 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotBusinessServicesModule.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotBusinessServicesModule.java @@ -19,12 +19,14 @@ import com.google.inject.AbstractModule; import com.google.inject.internal.SingletonScope; import org.apache.ignite.ci.issue.IssuesStorage; +import org.apache.ignite.ci.tcbot.chain.BuildChainProcessor; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.tcbot.conf.LocalFilesBasedConfig; import org.apache.ignite.ci.tcbot.issue.IIssuesStorage; import org.apache.ignite.ci.tcbot.trends.MasterTrendsService; import org.apache.ignite.ci.tcbot.user.IUserStorage; import org.apache.ignite.ci.tcbot.user.UserAndSessionsStorage; +import org.apache.ignite.tcbot.common.conf.ITcServerConfigSupplier; /** * TC Bot self services mapping (without 3rd party integrations configuration. @@ -33,9 +35,12 @@ public class TcBotBusinessServicesModule extends AbstractModule { /** {@inheritDoc} */ @Override protected void configure() { bind(ITcBotConfig.class).to(LocalFilesBasedConfig.class).in(new SingletonScope()); + //todo remove + bind(ITcServerConfigSupplier.class).to(LocalFilesBasedConfig.class).in(new SingletonScope()); bind(IUserStorage.class).to(UserAndSessionsStorage.class).in(new SingletonScope()); bind(IIssuesStorage.class).to(IssuesStorage.class).in(new SingletonScope()); bind(MasterTrendsService.class).in(new SingletonScope()); bind(ITcBotBgAuth.class).to(TcBotBgAuthImpl.class).in(new SingletonScope()); + bind(BuildChainProcessor.class).in(new SingletonScope()); } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java index c876da446..4c0c34242 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessor.java @@ -18,40 +18,14 @@ package org.apache.ignite.ci.tcbot.chain; import com.google.common.base.Preconditions; +import com.google.common.base.Stopwatch; import com.google.common.util.concurrent.Futures; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Future; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.IntStream; -import java.util.stream.Stream; -import javax.annotation.Nonnull; -import javax.inject.Inject; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.analysis.FullChainRunCtx; -import org.apache.ignite.ci.analysis.MultBuildRunCtx; -import org.apache.ignite.ci.analysis.SingleBuildRunCtx; -import org.apache.ignite.ci.analysis.SuiteInBranch; +import org.apache.ignite.ci.analysis.*; import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; -import org.apache.ignite.ci.teamcity.ignited.IRunHistory; -import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; -import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; -import org.apache.ignite.ci.teamcity.ignited.SyncMode; +import org.apache.ignite.ci.logs.BuildLogStreamChecker; +import org.apache.ignite.ci.teamcity.ignited.*; import org.apache.ignite.ci.teamcity.ignited.buildtype.ParametersCompacted; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; @@ -59,11 +33,33 @@ import org.apache.ignite.ci.web.TcUpdatePool; import org.apache.ignite.ci.web.model.long_running.LRTest; import org.apache.ignite.ci.web.model.long_running.SuiteLRTestsSummary; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcservice.ITeamcity; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.Build; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.Nonnull; +import javax.inject.Inject; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + /** * Process whole Build Chain, E.g. runAll at particular server, including all builds involved */ @@ -77,6 +73,11 @@ public class BuildChainProcessor { /** Compactor. */ @Inject private IStringCompactor compactor; + + /** Build logger processing running. */ + private ConcurrentHashMap> buildLogProcessingRunning = new ConcurrentHashMap<>(); + + /** * Collects data about all long-running tests (run time more than one minute) across all suites in RunAll chain in * master branch. @@ -363,13 +364,85 @@ protected void fillBuildCounts(MultBuildRunCtx outCtx, @SuppressWarnings("WeakerAccess") @AutoProfiling - protected void analyzeTests(MultBuildRunCtx outCtx, IAnalyticsEnabledTeamcity teamcity, + protected void analyzeTests(MultBuildRunCtx outCtx, ITeamcity teamcity, ProcessLogsMode procLog) { for (SingleBuildRunCtx ctx : outCtx.getBuilds()) { if ((procLog == ProcessLogsMode.SUITE_NOT_COMPLETE && ctx.hasSuiteIncompleteFailure()) || procLog == ProcessLogsMode.ALL) - ctx.setLogCheckResFut(teamcity.analyzeBuildLog(ctx.buildId(), ctx)); + ctx.setLogCheckResFut(analyzeBuildLog(teamcity, ctx.buildId(), ctx)); + } + } + + private CompletableFuture checkBuildLogNoCache(ITeamcity teamcity, int buildId, ISuiteResults ctx) { + final CompletableFuture zipFut = teamcity.downloadBuildLogZip(buildId); + boolean dumpLastTest = ctx.hasSuiteIncompleteFailure(); + + if (zipFut == null) + return null; + + return zipFut.thenApplyAsync(zipFile -> runCheckForZippedLog(dumpLastTest, zipFile), + teamcity.getExecutor()); + } + + + @SuppressWarnings("WeakerAccess") + @AutoProfiling + @NotNull protected LogCheckTask runCheckForZippedLog(boolean dumpLastTest, File zipFile) { + LogCheckTask task = new LogCheckTask(zipFile); + + try { + //get the zip file content + try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { + ZipEntry ze = zis.getNextEntry(); //get the zipped file list entry + + while (ze != null) { + BuildLogStreamChecker checker = task.createChecker(); + checker.apply(zis, zipFile); + task.finalize(dumpLastTest); + + ze = zis.getNextEntry(); + } + zis.closeEntry(); + } + } + catch (IOException | UncheckedIOException e) { + final String msg = "Failed to process ZIPed entry " + zipFile; + + System.err.println(msg); + e.printStackTrace(); + + logger.error(msg, e); } + + return task; + } + + //todo implement persistent cache for build results + @AutoProfiling + public CompletableFuture analyzeBuildLog(ITeamcity teamcity, Integer buildId, SingleBuildRunCtx ctx) { + final Stopwatch started = Stopwatch.createStarted(); + + CompletableFuture fut = buildLogProcessingRunning.computeIfAbsent(buildId, + k -> checkBuildLogNoCache(teamcity, k, ctx) + ); + + if (fut == null) + return null; + + return fut + .thenApply(task -> { + buildLogProcessingRunning.remove(buildId, fut); + + return task; + }) + .thenApply(task -> { + logger.info(Thread.currentThread().getName() + + ": processBuildLog required: " + started.elapsed(TimeUnit.MILLISECONDS) + + "ms for " + ctx.suiteId()); + + return task; + }) + .thenApply(LogCheckTask::getResult); } /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java index 86a7641ae..2e183b06a 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java @@ -23,16 +23,15 @@ import java.util.stream.Collectors; import javax.inject.Inject; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.FullChainRunCtx; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited; import org.apache.ignite.ci.github.ignited.IGitHubConnIgnitedProvider; -import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider; import org.apache.ignite.ci.jira.ignited.IJiraIgnited; import org.apache.ignite.ci.jira.ignited.IJiraIgnitedProvider; import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher; @@ -64,9 +63,6 @@ public class PrChainsProcessor { /** Tc server provider. */ @Inject private ITeamcityIgnitedProvider tcIgnitedProvider; - /** Git hub connection provider. */ - @Inject private IGitHubConnectionProvider gitHubConnProvider; - /** */ @Inject private IGitHubConnIgnitedProvider gitHubConnIgnitedProvider; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java index 9e57a6777..b1b26935c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java @@ -25,7 +25,7 @@ import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; import org.apache.ignite.ci.tcbot.conf.BranchTracked; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.tcbot.conf.TcServerConfig; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/BuildParameterSpec.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/BuildParameterSpec.java index 1a8796adc..a775e1d45 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/BuildParameterSpec.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/BuildParameterSpec.java @@ -18,11 +18,13 @@ package org.apache.ignite.ci.tcbot.conf; import com.google.common.base.Strings; +import org.apache.ignite.tcbot.common.conf.IBuildParameterSpec; +import org.apache.ignite.tcbot.common.conf.IParameterValueSpec; import org.jetbrains.annotations.Nullable; import java.util.*; -public class BuildParameterSpec { +public class BuildParameterSpec implements IBuildParameterSpec { /** Parameter (property) Name. */ private String name; @@ -84,7 +86,7 @@ public boolean isFilled() { return !Strings.isNullOrEmpty(name); } - public List selection() { + public List selection() { return (selection == null || selection.isEmpty()) ? Collections.emptyList() : Collections.unmodifiableList(selection); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcBotConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcBotConfig.java index 7d8ea8344..9703287ce 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcBotConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcBotConfig.java @@ -16,13 +16,16 @@ */ package org.apache.ignite.ci.tcbot.conf; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfigSupplier; + import java.util.Collection; import java.util.List; /** - * Teamcity Bot configuration access inteface. + * Teamcity Bot configuration access interface. */ -public interface ITcBotConfig { +public interface ITcBotConfig extends ITcServerConfigSupplier { /** Default server code. */ public String DEFAULT_SERVER_CODE = "apache"; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/LocalFilesBasedConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/LocalFilesBasedConfig.java index d20647bf5..56215b839 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/LocalFilesBasedConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/LocalFilesBasedConfig.java @@ -23,6 +23,8 @@ import java.util.Properties; import org.apache.ignite.ci.HelperConfig; import org.apache.ignite.ci.di.cache.GuavaCached; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; /** * @@ -88,7 +90,7 @@ public class LocalFilesBasedConfig implements ITcBotConfig { @GuavaCached(softValues = true, expireAfterWriteSecs = 3 * 60) protected Properties loadOldAuthProps(String srvCode) { - File workDir = HelperConfig.resolveWorkDir(); + File workDir = TcBotWorkDir.resolveWorkDir(); String cfgName = HelperConfig.prepareConfigName(srvCode); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ParameterValueSpec.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ParameterValueSpec.java index e5b1ee060..56ee5d3cb 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ParameterValueSpec.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ParameterValueSpec.java @@ -17,12 +17,14 @@ package org.apache.ignite.ci.tcbot.conf; +import org.apache.ignite.tcbot.common.conf.IParameterValueSpec; + import java.util.Objects; /** * Some parameter value, which label may be used in UI. */ -public class ParameterValueSpec { +public class ParameterValueSpec implements IParameterValueSpec { private String value; private String label; private String valueRegExp; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java index 118319ddf..a29e6ac4b 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java @@ -24,6 +24,8 @@ import java.util.Properties; import javax.annotation.Nonnull; import org.apache.ignite.ci.HelperConfig; +import org.apache.ignite.tcbot.common.conf.IBuildParameterSpec; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -114,7 +116,7 @@ private String hostConfigured() { } /** {@inheritDoc} */ - @NotNull @Override public Collection filteringParameters() { + @NotNull @Override public Collection filteringParameters() { if (filteringParameters == null || filteringParameters.isEmpty()) return Collections.emptySet(); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java index 9c3a32b1f..681736de9 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java @@ -34,7 +34,7 @@ import javax.inject.Provider; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.issue.EventTemplate; import org.apache.ignite.ci.issue.EventTemplates; @@ -47,7 +47,7 @@ import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor; import org.apache.ignite.ci.tcbot.conf.INotificationChannel; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.apache.ignite.ci.tcbot.conf.NotificationsConfig; import org.apache.ignite.ci.tcbot.user.IUserStorage; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/Notification.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/Notification.java index 29e3162d1..2818799b4 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/Notification.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/Notification.java @@ -24,7 +24,7 @@ import java.util.Map; import java.util.TreeMap; import org.apache.ignite.ci.issue.Issue; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; import org.apache.ignite.ci.web.model.Version; import static org.apache.ignite.ci.web.model.Version.GITHUB_REF; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/trends/MasterTrendsService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/trends/MasterTrendsService.java index 6f2dca1a0..99cf72453 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/trends/MasterTrendsService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/trends/MasterTrendsService.java @@ -39,12 +39,12 @@ import javax.annotation.Nonnull; import javax.inject.Inject; import javax.inject.Provider; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.cache.GuavaCached; import org.apache.ignite.ci.tcbot.chain.BuildChainProcessor; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrence; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java index 279fdce53..eac7b663d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java @@ -37,7 +37,7 @@ import javax.annotation.Nonnull; import javax.inject.Inject; import javax.ws.rs.QueryParam; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.github.GitHubBranch; import org.apache.ignite.ci.github.GitHubUser; import org.apache.ignite.ci.github.PullRequest; @@ -53,9 +53,9 @@ import org.apache.ignite.ci.tcbot.conf.IGitHubConfig; import org.apache.ignite.ci.tcbot.conf.IJiraServerConfig; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; @@ -83,7 +83,7 @@ import static org.apache.ignite.ci.observer.BuildsInfo.CANCELLED_STATUS; import static org.apache.ignite.ci.observer.BuildsInfo.FINISHED_STATUS; import static org.apache.ignite.ci.observer.BuildsInfo.RUNNING_STATUS; -import static org.apache.ignite.ci.util.XmlUtil.xmlEscapeText; +import static org.apache.ignite.tcservice.util.XmlUtil.xmlEscapeText; /** * TC Bot Visa Facade. Provides method for TC Bot Visa obtaining. Contains features for adding comment to the ticket diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java index 599a4cb2e..05db42958 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/BuildRefCompacted.java @@ -20,11 +20,11 @@ import com.google.common.base.Objects; import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import static org.apache.ignite.ci.tcmodel.hist.BuildRef.*; +import static org.apache.ignite.tcservice.model.hist.BuildRef.*; @Persisted public class BuildRefCompacted { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java index 35e44a5f3..c76279fd2 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnited.java @@ -26,10 +26,10 @@ import javax.annotation.Nullable; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeCompacted; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java index f4c5920e6..52cd84553 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/ITeamcityIgnitedProvider.java @@ -18,7 +18,7 @@ import javax.annotation.Nullable; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; /** * Provides instance of particular cache-based teamcity connection. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/IgniteStringCompactor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/IgniteStringCompactor.java index 015ac5044..0b2654684 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/IgniteStringCompactor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/IgniteStringCompactor.java @@ -33,10 +33,10 @@ import org.apache.ignite.cache.query.SqlQuery; import org.apache.ignite.cache.query.annotations.QuerySqlField; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.cache.GuavaCached; -import org.apache.ignite.ci.util.ExceptionUtil; -import org.apache.ignite.ci.util.ObjectInterner; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; +import org.apache.ignite.tcbot.common.util.ObjectInterner; import org.apache.ignite.configuration.CacheConfiguration; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java index 6fe237e64..dee033990 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TcIgnitedCachingProvider.java @@ -24,12 +24,12 @@ import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Provider; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java index cabb44368..3cde6b8fb 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedImpl.java @@ -34,20 +34,20 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; import javax.inject.Inject; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.cache.GuavaCached; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.apache.ignite.ci.tcbot.trends.MasterTrendsService; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.result.Build; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.result.Build; import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition; import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildConditionDao; import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefDao; @@ -67,13 +67,13 @@ import org.apache.ignite.ci.teamcity.ignited.mute.MuteSync; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; +import org.apache.ignite.tcservice.ITeamcityConn; import org.apache.ignite.ci.user.ICredentialsProv; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.apache.ignite.ci.tcmodel.hist.BuildRef.STATUS_UNKNOWN; +import static org.apache.ignite.tcservice.model.hist.BuildRef.STATUS_UNKNOWN; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java index 1dd0fe55c..281dc0bbb 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedModule.java @@ -34,7 +34,7 @@ import org.apache.ignite.ci.teamcity.ignited.mute.MuteSync; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; -import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection; +import org.apache.ignite.tcservice.http.ITeamcityHttpConnection; import org.apache.ignite.ci.teamcity.restcached.TcRestCachedModule; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefDao.java index 608bb481a..51cfd3606 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefDao.java @@ -31,9 +31,9 @@ import org.apache.ignite.cache.query.QueryCursor; import org.apache.ignite.cache.query.SqlQuery; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.cache.GuavaCached; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.configuration.CacheConfiguration; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefSync.java index 94a4d1a5d..f84d76eb1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildref/BuildRefSync.java @@ -16,12 +16,12 @@ */ package org.apache.ignite.ci.teamcity.ignited.buildref; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.fatbuild.ProactiveFatBuildSync; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; +import org.apache.ignite.tcservice.ITeamcityConn; import org.jetbrains.annotations.NotNull; import javax.annotation.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeCompacted.java index 92e2d1f0f..9325b97a3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeCompacted.java @@ -24,10 +24,10 @@ import java.util.Objects; import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.apache.ignite.ci.tcmodel.conf.bt.SnapshotDependencies; -import org.apache.ignite.ci.tcmodel.conf.bt.SnapshotDependency; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; +import org.apache.ignite.tcservice.model.conf.bt.SnapshotDependencies; +import org.apache.ignite.tcservice.model.conf.bt.SnapshotDependency; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.util.NumberUtil; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeDao.java index 124a8749a..b4c298d03 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeDao.java @@ -27,8 +27,8 @@ import javax.inject.Inject; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import javax.validation.constraints.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefCompacted.java index 05dbf8242..da04bdcfe 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefCompacted.java @@ -20,7 +20,7 @@ import com.google.common.base.MoreObjects; import java.util.Objects; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.BuildType; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefDao.java index 9929d7141..98178b9f2 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeRefDao.java @@ -33,7 +33,7 @@ import javax.validation.constraints.NotNull; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; -import org.apache.ignite.ci.tcmodel.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.BuildType; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeSync.java index 46ca4408b..3ab4545c9 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/BuildTypeSync.java @@ -26,13 +26,13 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import javax.inject.Inject; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.ITeamcityConn; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/ParametersCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/ParametersCompacted.java index e969fd5d2..0887bfb9a 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/ParametersCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/ParametersCompacted.java @@ -25,8 +25,8 @@ import java.util.function.BiConsumer; import javax.annotation.Nullable; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.apache.ignite.ci.tcmodel.conf.bt.Property; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; +import org.apache.ignite.tcservice.model.conf.bt.Property; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.internal.util.GridIntList; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/SnapshotDependencyCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/SnapshotDependencyCompacted.java index 085de7b94..caaf9e45c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/SnapshotDependencyCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/buildtype/SnapshotDependencyCompacted.java @@ -19,7 +19,7 @@ import com.google.common.base.MoreObjects; import java.util.Objects; -import org.apache.ignite.ci.tcmodel.conf.bt.SnapshotDependency; +import org.apache.ignite.tcservice.model.conf.bt.SnapshotDependency; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; public class SnapshotDependencyCompacted { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeCompacted.java index 73a35a49e..fad5f584a 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeCompacted.java @@ -23,7 +23,7 @@ import javax.xml.bind.DatatypeConverter; import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.changes.Change; +import org.apache.ignite.tcservice.model.changes.Change; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildDao; import org.slf4j.Logger; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeDao.java index 14040cae1..d5cde8494 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeDao.java @@ -25,7 +25,7 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.configuration.CacheConfiguration; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeSync.java index 55f74a6e5..9ac9adfc0 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/ChangeSync.java @@ -17,11 +17,11 @@ package org.apache.ignite.ci.teamcity.ignited.change; import com.google.common.base.Throwables; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcmodel.changes.Change; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcservice.model.changes.Change; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcservice.ITeamcityConn; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/RevisionCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/RevisionCompacted.java index c7de5fc8d..a34f4f4df 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/RevisionCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/change/RevisionCompacted.java @@ -23,8 +23,8 @@ import javax.xml.bind.DatatypeConverter; import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.vcs.Revision; -import org.apache.ignite.ci.tcmodel.vcs.VcsRootInstance; +import org.apache.ignite.tcservice.model.vcs.Revision; +import org.apache.ignite.tcservice.model.vcs.VcsRootInstance; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildDao; import org.slf4j.Logger; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java index 59feae229..329c93f81 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildCompacted.java @@ -30,24 +30,24 @@ import java.util.function.BiPredicate; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.apache.ignite.ci.tcmodel.conf.bt.Property; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.TestOccurrencesRef; -import org.apache.ignite.ci.tcmodel.result.Triggered; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.tcmodel.vcs.Revision; -import org.apache.ignite.ci.tcmodel.vcs.Revisions; -import org.apache.ignite.ci.tcmodel.vcs.VcsRootInstance; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; +import org.apache.ignite.tcservice.model.conf.bt.Property; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.TestOccurrencesRef; +import org.apache.ignite.tcservice.model.result.Triggered; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcservice.model.user.User; +import org.apache.ignite.tcservice.model.vcs.Revision; +import org.apache.ignite.tcservice.model.vcs.Revisions; +import org.apache.ignite.tcservice.model.vcs.VcsRootInstance; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.buildtype.ParametersCompacted; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java index 6a3381d1a..dc29ebae3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/FatBuildDao.java @@ -34,12 +34,12 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java index 8c72f3e52..8739a6245 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProactiveFatBuildSync.java @@ -19,14 +19,14 @@ import com.google.common.base.Strings; import com.google.common.base.Throwables; import java.util.stream.Stream; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefDao; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; @@ -34,9 +34,9 @@ import org.apache.ignite.ci.teamcity.ignited.SyncMode; import org.apache.ignite.ci.teamcity.ignited.change.ChangeSync; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.util.ExceptionUtil; -import org.apache.ignite.ci.web.rest.exception.ConflictException; +import org.apache.ignite.tcservice.ITeamcityConn; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ServiceConflictException; import org.apache.ignite.internal.util.GridConcurrentHashSet; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; @@ -385,7 +385,7 @@ public FatBuildCompacted loadBuild(ITeamcityConn conn, int buildId, catch (Exception e) { Throwable cause = Throwables.getRootCause(e); - if (cause instanceof FileNotFoundException || cause instanceof ConflictException) { + if (cause instanceof FileNotFoundException || cause instanceof ServiceConflictException) { logger.info("Loading build [" + buildId + "] for server [" + srvName + "] failed:" + e.getMessage(), e); if (existingBuild != null) { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java index 5ea9994a3..fc1a73fe3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/ProblemCompacted.java @@ -20,8 +20,8 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Strings; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/StatisticsCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/StatisticsCompacted.java index 1d66c5ba2..9388fc6d8 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/StatisticsCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/StatisticsCompacted.java @@ -20,8 +20,8 @@ import com.google.common.base.Strings; import java.util.List; import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.conf.bt.Property; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; +import org.apache.ignite.tcservice.model.conf.bt.Property; +import org.apache.ignite.tcservice.model.result.stat.Statistics; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.internal.util.GridIntList; import org.apache.ignite.internal.util.GridLongList; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/TestCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/TestCompacted.java index d1eb5e99a..633e2deb1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/TestCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/fatbuild/TestCompacted.java @@ -27,15 +27,14 @@ import java.util.TreeMap; import java.util.function.BiPredicate; import org.apache.ignite.ci.tcbot.common.StringFieldCompacted; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; -import org.apache.ignite.ci.tcmodel.result.tests.TestRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrence; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestRef; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.buildtype.ParametersCompacted; import org.apache.ignite.ci.teamcity.ignited.runhist.Invocation; import org.apache.ignite.ci.teamcity.ignited.runhist.InvocationData; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteDao.java index 7dfb01785..cceab3937 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteDao.java @@ -28,8 +28,8 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcservice.model.mute.MuteInfo; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.U; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteInfoCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteInfoCompacted.java index e0991b1ba..cfc3725f3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteInfoCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteInfoCompacted.java @@ -20,12 +20,12 @@ import com.google.common.base.Objects; import java.util.ArrayList; import java.util.List; -import org.apache.ignite.ci.tcmodel.mute.MuteAssignment; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.mute.MuteTarget; -import org.apache.ignite.ci.tcmodel.result.tests.TestRef; +import org.apache.ignite.tcservice.model.mute.MuteAssignment; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.mute.MuteTarget; +import org.apache.ignite.tcservice.model.result.tests.TestRef; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; import org.apache.ignite.internal.util.typedef.F; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteScopeCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteScopeCompacted.java index 9f0067c00..51ea944a9 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteScopeCompacted.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteScopeCompacted.java @@ -19,9 +19,9 @@ import java.util.ArrayList; import java.util.List; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.mute.MuteScope; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.mute.MuteScope; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted; import org.apache.ignite.internal.util.typedef.F; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteSync.java index 8c40542bf..591d51cc8 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/mute/MuteSync.java @@ -23,8 +23,8 @@ import javax.inject.Inject; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.ITeamcityConn; import org.apache.ignite.internal.util.typedef.F; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompactedDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompactedDao.java index 393c8faa6..c99af4dc4 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompactedDao.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompactedDao.java @@ -31,7 +31,7 @@ import org.apache.ignite.cache.query.QueryCursor; import org.apache.ignite.cache.query.SqlQuery; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.cache.GuavaCached; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; import org.apache.ignite.ci.teamcity.ignited.IRunStat; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistSync.java index 199f8d3f7..1e4e1973d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistSync.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistSync.java @@ -32,12 +32,12 @@ import java.util.stream.Collectors; import javax.annotation.concurrent.GuardedBy; import javax.inject.Inject; -import org.apache.ignite.ci.ITeamcity; -import org.apache.ignite.ci.di.AutoProfiling; +import org.apache.ignite.tcservice.ITeamcity; +import org.apache.ignite.tcbot.common.conf.IBuildParameterSpec; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; import org.apache.ignite.ci.di.MonitoredTask; import org.apache.ignite.ci.di.scheduler.IScheduler; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; -import org.apache.ignite.ci.tcbot.conf.BuildParameterSpec; +import org.apache.ignite.tcbot.common.conf.TcBotSystemProperties; import org.apache.ignite.ci.tcbot.conf.ChainAtServerTracked; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; @@ -165,7 +165,7 @@ public void saveToHistoryLater(String srvCode, FatBuildCompacted build) { cfg.getTeamcityConfig(srvCode) .filteringParameters() .stream() - .map(BuildParameterSpec::name) + .map(IBuildParameterSpec::name) .forEach(importantParameters::add); return importantParameters.stream().map(k -> compactor.getStringId(k)).collect(Collectors.toSet()); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/InitializingServerFactory.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/InitializingServerFactory.java index 06a6f4a79..f7827d1ea 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/InitializingServerFactory.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/InitializingServerFactory.java @@ -20,7 +20,7 @@ import javax.inject.Inject; import javax.inject.Provider; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.IgniteTeamcityConnection; import org.apache.ignite.ci.web.TcUpdatePool; class InitializingServerFactory implements ITcServerFactory { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcRestCachedModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcRestCachedModule.java index 897d97eae..60f1577af 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcRestCachedModule.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcRestCachedModule.java @@ -20,8 +20,8 @@ import com.google.inject.internal.SingletonScope; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; import org.apache.ignite.ci.IgnitePersistentTeamcity; -import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection; -import org.apache.ignite.ci.teamcity.pure.TcRealConnectionModule; +import org.apache.ignite.tcservice.http.ITeamcityHttpConnection; +import org.apache.ignite.tcservice.TcRealConnectionModule; import org.jetbrains.annotations.Nullable; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java index 42ab9ad33..e4c17156f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/restcached/TcServerCachingProvider.java @@ -21,7 +21,7 @@ import com.google.common.cache.CacheBuilder; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import javax.annotation.Nullable; import javax.inject.Inject; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/TcHelperUser.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/TcHelperUser.java index 2003dec4c..7e4e22ddd 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/TcHelperUser.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/user/TcHelperUser.java @@ -27,7 +27,7 @@ import org.apache.ignite.ci.analysis.IVersionedEntity; import org.apache.ignite.ci.db.Persisted; import org.apache.ignite.ci.tcbot.conf.INotificationChannel; -import org.apache.ignite.ci.tcmodel.user.User; +import org.apache.ignite.tcservice.model.user.User; import org.apache.ignite.ci.util.CryptUtil; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/FutureUtil.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/FutureUtil.java index 17d695d8b..ef490f061 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/FutureUtil.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/FutureUtil.java @@ -21,6 +21,8 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.stream.Stream; + +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ZipUtil.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ZipUtil.java index f95f6d6c7..3532db964 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ZipUtil.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ZipUtil.java @@ -27,7 +27,8 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import org.apache.ignite.ci.HelperConfig; + +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; /** Unzips files to specified folder */ public class ZipUtil { @@ -53,7 +54,7 @@ public static List unZip(File zipFile, File outputFolder) { else { System.out.println("file unzip : " + newFile.getAbsoluteFile()); - HelperConfig.ensureDirExist(new File(newFile.getParent())); + TcBotWorkDir.ensureDirExist(new File(newFile.getParent())); Files.copy(zis, newFile.toPath(), StandardCopyOption.REPLACE_EXISTING); } result.add(newFile); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/CtxListener.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/CtxListener.java index bce83c59d..1b788231f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/CtxListener.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/CtxListener.java @@ -31,7 +31,7 @@ import org.apache.ignite.ci.di.scheduler.IScheduler; import org.apache.ignite.ci.observer.BuildObserver; import org.apache.ignite.ci.tcbot.issue.IssueDetector; -import org.apache.ignite.ci.teamcity.pure.TeamcityRecorder; +import org.apache.ignite.tcservice.http.TeamcityRecorder; import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/Launcher.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/Launcher.java index 2d29ff0ac..c9c00b478 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/Launcher.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/Launcher.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.io.Reader; import org.apache.ignite.ci.db.TcHelperDb; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; +import org.apache.ignite.tcbot.common.conf.TcBotSystemProperties; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.webapp.WebAppContext; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/TcApplicationResCfg.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/TcApplicationResCfg.java index ea9657a6b..301bde297 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/TcApplicationResCfg.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/TcApplicationResCfg.java @@ -20,7 +20,7 @@ import org.apache.ignite.ci.web.auth.AuthenticationFilter; import org.apache.ignite.ci.web.rest.exception.ExeptionsTraceLogger; import org.apache.ignite.ci.web.rest.exception.ServiceStartingException; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; import org.glassfish.jersey.logging.LoggingFeature; import org.glassfish.jersey.server.ResourceConfig; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java index 948a4d116..06a09fe52 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/auth/AuthenticationFilter.java @@ -42,11 +42,11 @@ import org.apache.ignite.ci.user.ICredentialsProv; import org.apache.ignite.ci.user.TcHelperUser; import org.apache.ignite.ci.user.UserSession; -import org.apache.ignite.ci.util.Base64Util; +import org.apache.ignite.tcbot.common.util.Base64Util; import org.apache.ignite.ci.util.CryptUtil; -import org.apache.ignite.ci.util.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; import org.apache.ignite.ci.web.CtxListener; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java index b61717751..7a7c95603 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java @@ -33,7 +33,7 @@ import org.apache.ignite.ci.github.pure.IGitHubConnection; import org.apache.ignite.ci.jira.ignited.IJiraIgnited; import org.apache.ignite.ci.tcbot.visa.BranchTicketMatcher; -import org.apache.ignite.ci.tcmodel.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.BuildType; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.util.CollectionUtil; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java index 136f71dc4..6998a80b7 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/SuiteCurrentStatus.java @@ -44,7 +44,7 @@ import org.jetbrains.annotations.NotNull; import static org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync.normalizeBranch; -import static org.apache.ignite.ci.util.TimeUtil.millisToDurationPrintable; +import static org.apache.ignite.tcbot.common.util.TimeUtil.millisToDurationPrintable; import static org.apache.ignite.ci.util.UrlUtil.escape; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java index 90bf9bb7d..8227e5021 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/TestFailure.java @@ -37,7 +37,7 @@ import org.jetbrains.annotations.NotNull; import static org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync.normalizeBranch; -import static org.apache.ignite.ci.util.TimeUtil.millisToDurationPrintable; +import static org.apache.ignite.tcbot.common.util.TimeUtil.millisToDurationPrintable; import static org.apache.ignite.ci.util.UrlUtil.escape; /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/LRTest.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/LRTest.java index e1f57e0c1..93f5e3ba9 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/LRTest.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/LRTest.java @@ -16,7 +16,7 @@ */ package org.apache.ignite.ci.web.model.long_running; -import static org.apache.ignite.ci.util.TimeUtil.millisToDurationPrintable; +import static org.apache.ignite.tcbot.common.util.TimeUtil.millisToDurationPrintable; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/SuiteLRTestsSummary.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/SuiteLRTestsSummary.java index 2ae2b0c2d..683bb02fc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/SuiteLRTestsSummary.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/long_running/SuiteLRTestsSummary.java @@ -18,7 +18,7 @@ import java.util.List; -import static org.apache.ignite.ci.util.TimeUtil.millisToDurationPrintable; +import static org.apache.ignite.tcbot.common.util.TimeUtil.millisToDurationPrintable; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildStatisticsSummary.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildStatisticsSummary.java index 310ce4726..91920e175 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildStatisticsSummary.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildStatisticsSummary.java @@ -27,18 +27,18 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.TestOccurrencesRef; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.TestOccurrencesRef; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrence; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; import org.apache.ignite.ci.teamcity.ignited.fatbuild.ProblemCompacted; import org.apache.ignite.internal.util.typedef.T2; -import static org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence.TC_EXECUTION_TIMEOUT; -import static org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence.TC_EXIT_CODE; -import static org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence.TC_JVM_CRASH; -import static org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence.TC_OOME; +import static org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence.TC_EXECUTION_TIMEOUT; +import static org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence.TC_EXIT_CODE; +import static org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence.TC_JVM_CRASH; +import static org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence.TC_OOME; /** * Summary of build statistics. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildsHistory.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildsHistory.java index a8793a797..048975da8 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildsHistory.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/trends/BuildsHistory.java @@ -28,8 +28,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import javax.inject.Provider; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java index bb4ae2651..58ea70069 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/GetChainResultsAsHtml.java @@ -31,7 +31,7 @@ import com.google.inject.Injector; import org.apache.ignite.ci.tcbot.chain.BuildChainProcessor; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.FullChainRunCtx; import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java index ca863386c..d5a3600e8 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/CompareBuilds.java @@ -34,7 +34,7 @@ import org.apache.ignite.ci.util.Diff; import org.apache.ignite.ci.user.ICredentialsProv; import org.apache.ignite.ci.web.CtxListener; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; /** * Compare builds (by ID) tests' sets. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java index 055d4df09..7d3f55dc4 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java @@ -28,7 +28,7 @@ import org.apache.ignite.ci.teamcity.ignited.buildcondition.BuildCondition; import org.apache.ignite.ci.tcbot.chain.BuildChainProcessor; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.FullChainRunCtx; import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; @@ -42,7 +42,7 @@ import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus; import org.apache.ignite.ci.web.model.current.TestFailuresSummary; import org.apache.ignite.ci.web.model.current.UpdateInfo; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ExeptionsTraceLogger.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ExeptionsTraceLogger.java index 20958fa20..bf37b8096 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ExeptionsTraceLogger.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ExeptionsTraceLogger.java @@ -19,7 +19,7 @@ import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; import javax.ws.rs.core.Response; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; +import org.apache.ignite.tcbot.common.conf.TcBotSystemProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedExceptionMapper.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedExceptionMapper.java new file mode 100644 index 000000000..6b78aefa2 --- /dev/null +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedExceptionMapper.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.ci.web.rest.exception; + +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; + +import javax.ws.rs.core.Response; +import javax.ws.rs.ext.ExceptionMapper; +import javax.ws.rs.ext.Provider; + +/** + * Exception mapper for case is thrown if 3rd party service returned 401 - unauthorized. + */ +@Provider +public class ServiceUnauthorizedExceptionMapper + implements ExceptionMapper { + + @SuppressWarnings("unused") + public ServiceUnauthorizedExceptionMapper() { + } + + @Override + public Response toResponse(ServiceUnauthorizedException exception) { + return Response.status(424).entity(exception.getMessage()) + .type("text/plain").build(); + } +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java index f508aeb33..6084edd1d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/Login.java @@ -21,11 +21,11 @@ import com.google.inject.Injector; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.tcbot.user.IUserStorage; -import org.apache.ignite.ci.tcmodel.user.User; +import org.apache.ignite.tcservice.model.user.User; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; -import org.apache.ignite.ci.teamcity.pure.ITcLogin; +import org.apache.ignite.tcservice.login.ITcLogin; import org.apache.ignite.ci.user.TcHelperUser; -import org.apache.ignite.ci.util.Base64Util; +import org.apache.ignite.tcbot.common.util.Base64Util; import org.apache.ignite.ci.util.CryptUtil; import org.apache.ignite.ci.web.CtxListener; import org.apache.ignite.ci.user.LoginResponse; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/UserService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/UserService.java index 22ee2f53e..90ccc4ba0 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/UserService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/login/UserService.java @@ -36,8 +36,8 @@ import org.apache.ignite.ci.tcbot.issue.IssueDetector; import org.apache.ignite.ci.tcbot.user.IUserStorage; import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.teamcity.pure.ITcLogin; +import org.apache.ignite.tcservice.model.user.User; +import org.apache.ignite.tcservice.login.ITcLogin; import org.apache.ignite.ci.user.ICredentialsProv; import org.apache.ignite.ci.user.TcHelperUser; import org.apache.ignite.ci.web.CtxListener; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/long_running/BuildsLongRunningTestsReport.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/long_running/BuildsLongRunningTestsReport.java index 42d29f9af..3b82bd268 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/long_running/BuildsLongRunningTestsReport.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/long_running/BuildsLongRunningTestsReport.java @@ -51,6 +51,6 @@ public FullLRTestsSummary getBranch(@Nullable @QueryParam("branch") String branc final TrackedBranchChainsProcessor tbProc = CtxListener.getInjector(ctx).getInstance(TrackedBranchChainsProcessor.class); - return tbProc.getTrackedBranchLongRunningTestsSummary(null, creds); + return tbProc.getTrackedBranchLongRunningTestsSummary(branchOrNull, creds); } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/HotSpot.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/HotSpot.java index 3165eb68e..de9d16c55 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/HotSpot.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/monitoring/HotSpot.java @@ -16,7 +16,7 @@ */ package org.apache.ignite.ci.web.rest.monitoring; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; @SuppressWarnings("WeakerAccess") public class HotSpot { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java index a344b5ae9..8d0fe4eab 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/tracked/GetTrackedBranchTestResults.java @@ -30,7 +30,7 @@ import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; +import org.apache.ignite.tcservice.model.mute.MuteInfo; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; import org.apache.ignite.ci.teamcity.ignited.SyncMode; import org.apache.ignite.ci.user.ICredentialsProv; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java index be40c29e9..9ded876f0 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java @@ -39,7 +39,6 @@ import org.apache.ignite.ci.user.ICredentialsProv; import org.apache.ignite.ci.web.CtxListener; import org.apache.ignite.ci.web.model.ContributionKey; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java index 6a099d8d5..75cb7e35c 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/BuildChainProcessorTest.java @@ -26,15 +26,15 @@ import java.util.Map; import java.util.stream.Collectors; import org.apache.ignite.ci.IAnalyticsEnabledTeamcity; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.FullChainRunCtx; import org.apache.ignite.ci.analysis.IMultTestOccurrence; import org.apache.ignite.ci.analysis.MultBuildRunCtx; import org.apache.ignite.ci.analysis.mode.LatestRebuildMode; import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrence; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.InMemoryStringCompactor; diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java index 36e4f000e..a9147d7b4 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java @@ -36,7 +36,7 @@ import org.apache.ignite.ci.tcbot.conf.IGitHubConfig; import org.apache.ignite.ci.tcbot.conf.IJiraServerConfig; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.apache.ignite.ci.tcbot.conf.NotificationsConfig; import org.apache.ignite.ci.tcbot.conf.TcServerConfig; import org.apache.ignite.ci.tcbot.issue.IIssuesStorage; @@ -47,6 +47,8 @@ import org.apache.ignite.ci.teamcity.ignited.TeamcityIgnitedProviderMock; import org.apache.ignite.ci.teamcity.restcached.ITcServerProvider; import org.apache.ignite.ci.user.ICredentialsProv; +import org.apache.ignite.tcbot.common.conf.ITcServerConfigSupplier; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; import org.mockito.Mockito; import static org.mockito.ArgumentMatchers.any; @@ -92,40 +94,48 @@ public MockBasedTcBotModule() { bind(ITcServerProvider.class).toInstance(tcSrvOldProv); - bind(ITcBotConfig.class).toInstance(new ITcBotConfig() { - @Override public String primaryServerCode() { + final ITcBotConfig cfg = new ITcBotConfig() { + @Override + public String primaryServerCode() { return ITcBotConfig.DEFAULT_SERVER_CODE; } - @Override public BranchesTracked getTrackedBranches() { + @Override + public BranchesTracked getTrackedBranches() { return tracked; } /** {@inheritDoc} */ - @Override public ITcServerConfig getTeamcityConfig(String srvCode) { + @Override + public ITcServerConfig getTeamcityConfig(String srvCode) { return new TcServerConfig().code(srvCode).properties(loadOldProps(srvCode)); } - @Override public IJiraServerConfig getJiraConfig(String srvCode) { + @Override + public IJiraServerConfig getJiraConfig(String srvCode) { return jiraCfg; } - @Override public IGitHubConfig getGitConfig(String srvCode) { + @Override + public IGitHubConfig getGitConfig(String srvCode) { return ghCfg; } - @Override public NotificationsConfig notifications() { + @Override + public NotificationsConfig notifications() { return new NotificationsConfig(); } private Properties loadOldProps(String srvCode) { - File workDir = HelperConfig.resolveWorkDir(); + File workDir = TcBotWorkDir.resolveWorkDir(); String cfgName = HelperConfig.prepareConfigName(srvCode); return HelperConfig.loadAuthProperties(workDir, cfgName); } - }); + }; + bind(ITcBotConfig.class).toInstance(cfg); + bind(ITcServerConfigSupplier.class).toInstance(cfg); bind(IIssuesStorage.class).toInstance(Mockito.mock(IIssuesStorage.class)); bind(IUserStorage.class).toInstance(Mockito.mock(IUserStorage.class)); diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java index 898f34d02..ec92e2b87 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessorTest.java @@ -27,14 +27,14 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.function.Predicate; -import org.apache.ignite.ci.ITeamcity; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrence; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; -import org.apache.ignite.ci.tcmodel.result.tests.TestRef; +import org.apache.ignite.tcservice.ITeamcity; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrence; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestRef; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; import org.apache.ignite.ci.teamcity.ignited.TeamcityIgnitedProviderMock; diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java index 80b6fe9f5..dbdb43138 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchProcessorTest.java @@ -25,7 +25,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.tcbot.conf.BranchTracked; import org.apache.ignite.ci.tcbot.conf.ChainAtServerTracked; import org.apache.ignite.ci.tcbot.conf.BranchesTracked; diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java index f68954283..64016e8ce 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/issue/IssueDetectorTest.java @@ -27,12 +27,12 @@ import java.util.OptionalInt; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.tcbot.conf.BranchTracked; import org.apache.ignite.ci.tcbot.conf.ChainAtServerTracked; import org.apache.ignite.ci.tcbot.chain.MockBasedTcBotModule; import org.apache.ignite.ci.tcbot.conf.BranchesTracked; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrenceFull; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrenceFull; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; import org.apache.ignite.ci.teamcity.ignited.TeamcityIgnitedImpl; diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java index a68f6674d..8656f2273 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java @@ -40,7 +40,7 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.Ignition; -import org.apache.ignite.ci.ITeamcity; +import org.apache.ignite.tcservice.ITeamcity; import org.apache.ignite.ci.analysis.SuiteInBranch; import org.apache.ignite.ci.analysis.TestInBranch; import org.apache.ignite.ci.db.TcHelperDb; @@ -50,22 +50,22 @@ import org.apache.ignite.ci.tcbot.chain.PrChainsProcessorTest; import org.apache.ignite.ci.tcbot.conf.BranchesTracked; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.mute.Mutes; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.Triggered; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrences; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; -import org.apache.ignite.ci.tcmodel.vcs.Revision; -import org.apache.ignite.ci.tcmodel.vcs.Revisions; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.mute.Mutes; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.Triggered; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrence; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrences; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcservice.model.vcs.Revision; +import org.apache.ignite.tcservice.model.vcs.Revisions; import org.apache.ignite.ci.teamcity.ignited.buildref.BuildRefDao; import org.apache.ignite.ci.teamcity.ignited.buildtype.BuildTypeRefCompacted; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; @@ -74,13 +74,14 @@ import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompactedDao; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistSync; import org.apache.ignite.ci.teamcity.pure.BuildHistoryEmulator; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection; +import org.apache.ignite.tcservice.ITeamcityConn; +import org.apache.ignite.tcservice.http.ITeamcityHttpConnection; import org.apache.ignite.ci.teamcity.restcached.ITcServerFactory; import org.apache.ignite.ci.user.ICredentialsProv; -import org.apache.ignite.ci.util.XmlUtil; +import org.apache.ignite.tcservice.util.XmlUtil; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; +import org.apache.ignite.tcbot.common.conf.ITcServerConfigSupplier; import org.jetbrains.annotations.NotNull; import org.junit.AfterClass; import org.junit.Before; @@ -94,7 +95,7 @@ import static junit.framework.TestCase.assertNotNull; import static junit.framework.TestCase.assertNull; import static junit.framework.TestCase.assertTrue; -import static org.apache.ignite.ci.HelperConfig.ensureDirExist; +import static org.apache.ignite.tcbot.common.conf.TcBotWorkDir.ensureDirExist; import static org.apache.ignite.ci.teamcity.ignited.IgniteStringCompactor.STRINGS_CACHE; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; @@ -753,6 +754,7 @@ private static class IgniteAndSchedulerTestModule extends AbstractModule { when(cfg.getTrackedBranches()).thenReturn(new BranchesTracked()); bind(ITcBotConfig.class).toInstance(cfg); + bind(ITcServerConfigSupplier.class).toInstance(cfg); } } } diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java index 8eeea93e8..aceb8dfcb 100644 --- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java +++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/TeamcityIgnitedMock.java @@ -23,7 +23,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import org.apache.ignite.ci.analysis.TestInBranch; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; import org.apache.ignite.ci.teamcity.ignited.fatbuild.FatBuildCompacted; import org.apache.ignite.ci.teamcity.ignited.runhist.Invocation; import org.apache.ignite.ci.teamcity.ignited.runhist.RunHistCompacted; @@ -123,6 +123,7 @@ public static ITeamcityIgnited getMutableMapTeamcityIgnited(Map selection(); +} diff --git a/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/IParameterValueSpec.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/IParameterValueSpec.java new file mode 100644 index 000000000..187c7e5b2 --- /dev/null +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/IParameterValueSpec.java @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.ignite.tcbot.common.conf; + +public interface IParameterValueSpec { + String valueRegExp(); + + String value(); + + String label(); +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfig.java similarity index 76% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfig.java index e55d18a5b..a7b421bc9 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfig.java @@ -14,11 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.tcbot.conf; +package org.apache.ignite.tcbot.common.conf; -import java.util.Collection; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.checkerframework.checker.nullness.qual.NonNull; + +import javax.annotation.Nullable; +import java.util.Collection; /** * Teamcity Server configuration. @@ -27,32 +28,33 @@ public interface ITcServerConfig { /** * @return Another TC Server (service) config name to use settings from. Filled only for server aliases. */ - @Nullable public String reference(); + @Nullable + public String reference(); /** * @return Normalized Host address, ends with '/'. */ - @NotNull public String host(); + @NonNull public String host(); /** * @return Directory for downloading build logs (will contain ZIP files). */ - @NotNull public String logsDirectory(); + @NonNull public String logsDirectory(); /** * @return internal naming of default tracked branch for this server. */ - @NotNull public String defaultTrackedBranch(); + @NonNull public String defaultTrackedBranch(); /** * Provides build parameters, whichi could be used for filtering builds in RunHist/Invocations and tagging in UI. * * @return set of build parameters specifications. */ - @NotNull public Collection filteringParameters(); + @NonNull public Collection filteringParameters(); /** * @return set of suite codes (build type IDs), failures in which should be threated as critical and notified. */ - @NotNull public Collection trustedSuites(); + @NonNull public Collection trustedSuites(); } diff --git a/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfigSupplier.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfigSupplier.java new file mode 100644 index 000000000..4a20a7e89 --- /dev/null +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/ITcServerConfigSupplier.java @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.tcbot.common.conf; + +@Deprecated +public interface ITcServerConfigSupplier { + public ITcServerConfig getTeamcityConfig(String srvCode); +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotSystemProperties.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotSystemProperties.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotSystemProperties.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotSystemProperties.java index 49a55b432..3ad5a906b 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/TcBotSystemProperties.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotSystemProperties.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcbot; +package org.apache.ignite.tcbot.common.conf; /** * Apache Ignite Teamcity Bot properties. diff --git a/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotWorkDir.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotWorkDir.java new file mode 100644 index 000000000..1434bd52a --- /dev/null +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/conf/TcBotWorkDir.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.ignite.tcbot.common.conf; + +import java.io.File; + +import static com.google.common.base.Preconditions.checkState; +import static com.google.common.base.Strings.isNullOrEmpty; + +public class TcBotWorkDir { + public static File ensureDirExist(File workDir) { + if (!workDir.exists()) + checkState(workDir.mkdirs(), "Unable to make directory [" + workDir + "]"); + + return workDir; + } + + public static File resolveWorkDir() { + File workDir = null; + String property = System.getProperty(TcBotSystemProperties.TEAMCITY_HELPER_HOME); + if (isNullOrEmpty(property)) { + String conf = ".ignite-teamcity-helper"; + String prop = System.getProperty("user.home"); + //relative in work dir + workDir = isNullOrEmpty(prop) ? new File(conf) : new File(prop, conf); + } + else + workDir = new File(property); + + return ensureDirExist(workDir); + } +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ExceptionUtil.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ExceptionUtil.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ExceptionUtil.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ExceptionUtil.java index ef9e83a80..fb2ec30ed 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ExceptionUtil.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ExceptionUtil.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; +package org.apache.ignite.tcbot.common.exeption; import com.google.common.base.Throwables; -import javax.ws.rs.ext.ExceptionMapper; import java.util.Optional; /** @@ -43,8 +42,8 @@ public static RuntimeException propagateException(Exception e) { public static void throwIfRest(Exception e) { final Optional any = Throwables.getCausalChain(e) .stream() - .filter(th -> - (th instanceof ExceptionMapper)).findAny(); + .filter(th ->false).findAny(); + //todo (th instanceof ExceptionMapper)).findAny(); final RuntimeException eRest = (RuntimeException) any.orElse(null); if (eRest != null) diff --git a/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceBadRequestException.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceBadRequestException.java new file mode 100644 index 000000000..b6bdc469e --- /dev/null +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceBadRequestException.java @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.tcbot.common.exeption; + +/** + * The request could not be completed due to a conflict with the current state of the target resource. + * + * This exception is thrown in case HTTP 400-Bad request is returned. + */ +public class ServiceBadRequestException extends RuntimeException { + /** + * @param msg Message. + */ + public ServiceBadRequestException(String msg) { + super(msg); + } +} diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ConflictException.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceConflictException.java similarity index 86% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ConflictException.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceConflictException.java index f46b3f746..28dde9b23 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ConflictException.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceConflictException.java @@ -15,18 +15,18 @@ * limitations under the License. */ -package org.apache.ignite.ci.web.rest.exception; +package org.apache.ignite.tcbot.common.exeption; /** * The request could not be completed due to a conflict with the current state of the target resource. * * This exception is thrown in case HTTP 409-Conflict is returned. */ -public class ConflictException extends RuntimeException { +public class ServiceConflictException extends RuntimeException { /** * @param msg Message. */ - public ConflictException(String msg) { + public ServiceConflictException(String msg) { super(msg); } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedException.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceUnauthorizedException.java similarity index 74% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedException.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceUnauthorizedException.java index 2978e6a2d..e096d2235 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/exception/ServiceUnauthorizedException.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/exeption/ServiceUnauthorizedException.java @@ -15,18 +15,13 @@ * limitations under the License. */ -package org.apache.ignite.ci.web.rest.exception; - -import javax.ws.rs.core.Response; -import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; +package org.apache.ignite.tcbot.common.exeption; +; /** * Exception is thrown if 3rd party service returned 401 - unauthorized. */ -@Provider -public class ServiceUnauthorizedException extends RuntimeException - implements ExceptionMapper { +public class ServiceUnauthorizedException extends RuntimeException { public ServiceUnauthorizedException(String message) { super(message); } @@ -39,9 +34,4 @@ public static ServiceUnauthorizedException noCreds(String srvId) { return new ServiceUnauthorizedException("Service [" + srvId + "] is not available for current user"); } - @Override - public Response toResponse(ServiceUnauthorizedException exception) { - return Response.status(424).entity(exception.getMessage()) - .type("text/plain").build(); - } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfiling.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/interceptor/AutoProfiling.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfiling.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/interceptor/AutoProfiling.java index e524fb9ae..e6146eef1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/di/AutoProfiling.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/interceptor/AutoProfiling.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.di; +package org.apache.ignite.tcbot.common.interceptor; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/Base64Util.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/Base64Util.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/Base64Util.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/Base64Util.java index 506c8aa8a..4dbee3030 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/Base64Util.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/Base64Util.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; - -import org.jetbrains.annotations.NotNull; +package org.apache.ignite.tcbot.common.util; +import javax.annotation.Nonnull; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Base64; @@ -33,13 +32,13 @@ public static String encodeUtf8String(String data) { return encodeBytesToString(data.getBytes(CHARSET)); } - @NotNull + @Nonnull public static String encodeBytesToString(byte[] bytes) { final byte[] encode = Base64.getEncoder().encode(bytes); return new String(encode, CHARSET); } - @NotNull + @Nonnull public static byte[] decodeString(String string) { return Base64.getDecoder().decode(string.getBytes(CHARSET)); } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/HttpUtil.java similarity index 94% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/HttpUtil.java index b39a4b4e3..ef5bc4c52 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/HttpUtil.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/HttpUtil.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; +package org.apache.ignite.tcbot.common.util; import com.google.common.base.Stopwatch; import java.io.BufferedReader; @@ -33,13 +33,14 @@ import java.nio.file.StandardCopyOption; import java.util.Map; import java.util.concurrent.TimeUnit; -import org.apache.ignite.ci.web.rest.exception.ConflictException; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; -import org.jetbrains.annotations.Nullable; + +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; +import org.apache.ignite.tcbot.common.exeption.ServiceBadRequestException; +import org.apache.ignite.tcbot.common.exeption.ServiceConflictException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.BadRequestException; +import javax.annotation.Nullable; /** * Methods for sending HTTP requests @@ -75,7 +76,7 @@ private static String readIsToString(InputStream inputStream) throws IOException * @return Input stream from connection. * @throws IOException If failed. * @throws FileNotFoundException If not found (404) was returned from service. - * @throws ConflictException If conflict (409) was returned from service. + * @throws ServiceConflictException If conflict (409) was returned from service. * @throws IllegalStateException if some unexpected HTTP error returned. */ public static InputStream sendGetWithBasicAuth(String basicAuthTok, String url) throws IOException { @@ -177,7 +178,7 @@ private static InputStream sendPostWithBasicAuth(String tok, String url, * @return Input stream from connection. * @throws IOException If communication failed. * @throws FileNotFoundException If not found (404) was returned from service. - * @throws ConflictException If conflict (409) was returned from service. + * @throws ServiceConflictException If conflict (409) was returned from service. * @throws IllegalStateException if some unexpected HTTP error returned. */ private static InputStream getInputStream(HttpURLConnection con) throws IOException { @@ -190,7 +191,7 @@ private static InputStream getInputStream(HttpURLConnection con) throws IOExcept String detailsFromResponeText = readIsToString(con.getErrorStream()); if (resCode == 400) - throw new BadRequestException(detailsFromResponeText); + throw new ServiceBadRequestException(detailsFromResponeText); if (resCode == 401) throw new ServiceUnauthorizedException("Service " + con.getURL() + " returned forbidden error."); @@ -199,7 +200,7 @@ private static InputStream getInputStream(HttpURLConnection con) throws IOExcept throw new FileNotFoundException("Service " + con.getURL() + " returned not found error. " + detailsFromResponeText); if (resCode == 409) - throw new ConflictException("Service " + con.getURL() + " returned Conflict Response Code :\n" + detailsFromResponeText); + throw new ServiceConflictException("Service " + con.getURL() + " returned Conflict Response Code :\n" + detailsFromResponeText); throw new IllegalStateException("Service " + con.getURL() + " returned Invalid Response Code : " + resCode + ":\n" + detailsFromResponeText); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ObjectInterner.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/ObjectInterner.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ObjectInterner.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/ObjectInterner.java index 9834d5ca9..4d997be74 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/ObjectInterner.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/ObjectInterner.java @@ -15,11 +15,13 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; +package org.apache.ignite.tcbot.common.util; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; + import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.Collection; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/TimeUtil.java b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/TimeUtil.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/TimeUtil.java rename to tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/TimeUtil.java index 36291ba27..82ae16ecc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/TimeUtil.java +++ b/tcbot-common/src/main/java/org/apache/ignite/tcbot/common/util/TimeUtil.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; +package org.apache.ignite.tcbot.common.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.Duration; import java.util.Date; -import org.jetbrains.annotations.Nullable; +import javax.annotation.Nullable; /** * Time and duration util. diff --git a/tc-bot-server/build.gradle b/tcbot-server/build.gradle similarity index 97% rename from tc-bot-server/build.gradle rename to tcbot-server/build.gradle index 2d6e2e35d..3ffcf74ef 100644 --- a/tc-bot-server/build.gradle +++ b/tcbot-server/build.gradle @@ -47,6 +47,10 @@ distributions { } dependencies { + compile (project(":tcbot-common")) { + transitive = false + } + compile (project(":ignite-tc-helper-web")) { transitive = false } diff --git a/tcbot-server/header.txt b/tcbot-server/header.txt new file mode 100644 index 000000000..a9ac9678d --- /dev/null +++ b/tcbot-server/header.txt @@ -0,0 +1,14 @@ +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/tc-bot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java b/tcbot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java similarity index 95% rename from tc-bot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java rename to tcbot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java index 0070dc976..c7011f487 100644 --- a/tc-bot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java +++ b/tcbot-server/src/main/java/org/apache/ignite/ci/TcBotIgniteServerLauncher.java @@ -20,19 +20,19 @@ import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; import org.apache.ignite.ci.db.Ignite2Configurer; -import org.apache.ignite.ci.db.TcHelperDb; import org.apache.ignite.configuration.DataRegionConfiguration; import org.apache.ignite.configuration.DataStorageConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.WALMode; import org.apache.ignite.logger.slf4j.Slf4jLogger; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; import java.io.File; import java.io.IOException; public class TcBotIgniteServerLauncher { public static void main(String[] args) throws IOException { - final File workDir = HelperConfig.resolveWorkDir(); + final File workDir = TcBotWorkDir.resolveWorkDir(); Ignite2Configurer.configLogger(workDir, "tcbot_srv_logs"); final IgniteConfiguration cfg = new IgniteConfiguration(); diff --git a/tcbot-teamcity/build.gradle b/tcbot-teamcity/build.gradle new file mode 100644 index 000000000..3ad28b8d4 --- /dev/null +++ b/tcbot-teamcity/build.gradle @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +apply plugin: 'java' +apply plugin: 'war' + +repositories { + mavenCentral() + mavenLocal() +} + +dependencies { + compile (project(":tcbot-common")); + + /// JAXB replacement for Java 11 + compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' + compile group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.0' + compile group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0' +} + \ No newline at end of file diff --git a/tcbot-teamcity/header.txt b/tcbot-teamcity/header.txt new file mode 100644 index 000000000..a9ac9678d --- /dev/null +++ b/tcbot-teamcity/header.txt @@ -0,0 +1,14 @@ +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java similarity index 81% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java index 5757239b3..787b25721 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/ITeamcity.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcity.java @@ -15,19 +15,17 @@ * limitations under the License. */ -package org.apache.ignite.ci; +package org.apache.ignite.tcservice; import com.google.common.collect.Sets; +import org.apache.ignite.tcbot.common.util.Base64Util; +import org.apache.ignite.tcservice.model.user.User; + import java.io.File; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; -import org.apache.ignite.ci.analysis.LogCheckResult; -import org.apache.ignite.ci.analysis.SingleBuildRunCtx; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.util.Base64Util; /** * API for calling methods from REST service: @@ -55,18 +53,8 @@ public interface ITeamcity extends ITeamcityConn { /** Fake property for addressing 'Suite Name'. */ public String SUITE_NAME_PROPERTY = "_suiteName"; - CompletableFuture unzipFirstFile(CompletableFuture fut); - CompletableFuture downloadBuildLogZip(int id); - /** - * Returns log analysis. Does not keep not zipped logs on disk. - * @param buildId Build ID. - * @param ctx Build results. - * @return - */ - CompletableFuture analyzeBuildLog(Integer buildId, SingleBuildRunCtx ctx); - void setExecutor(ExecutorService pool); Executor getExecutor(); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcityConn.java similarity index 83% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcityConn.java index 934b58fa7..24738fc00 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityConn.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/ITeamcityConn.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice; import java.io.FileNotFoundException; import java.io.UncheckedIOException; @@ -25,20 +25,20 @@ import java.util.concurrent.atomic.AtomicReference; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.changes.Change; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrences; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; -import org.apache.ignite.ci.web.rest.exception.ConflictException; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.changes.Change; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrences; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcbot.common.exeption.ServiceConflictException; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; /** * Pure Teamcity Connection API for calling methods from REST service:
@@ -47,7 +47,7 @@ * * HTTP methods return following errors in case HTTP communication failures: *
  • {@link UncheckedIOException} caused by {@link FileNotFoundException} - If not found (404) was returned from service.
  • - *
  • {@link ConflictException} If conflict (409) was returned from service.
  • + *
  • {@link ServiceConflictException} If conflict (409) was returned from service.
  • *
  • {@link IllegalStateException} if some unexpected HTTP error returned.
  • *
  • {@link UncheckedIOException} in case communication failed.
*/ diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java similarity index 66% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java index 314a9232f..af8cbacad 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/IgniteTeamcityConnection.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/IgniteTeamcityConnection.java @@ -15,78 +15,54 @@ * limitations under the License. */ -package org.apache.ignite.ci; +package org.apache.ignite.tcservice; -import com.google.common.base.Preconditions; -import com.google.common.base.Stopwatch; import com.google.common.base.Strings; import com.google.common.util.concurrent.MoreExecutors; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.io.UncheckedIOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.SortedSet; +import org.apache.ignite.tcservice.model.agent.Agent; +import org.apache.ignite.tcservice.model.agent.AgentsRef; +import org.apache.ignite.tcservice.model.changes.Change; +import org.apache.ignite.tcservice.model.changes.ChangesList; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; +import org.apache.ignite.tcservice.model.conf.ProjectsList; +import org.apache.ignite.tcservice.model.conf.bt.BuildTypeFull; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.Builds; +import org.apache.ignite.tcservice.model.mute.MuteInfo; +import org.apache.ignite.tcservice.model.mute.Mutes; +import org.apache.ignite.tcservice.model.result.Build; +import org.apache.ignite.tcservice.model.result.problems.ProblemOccurrences; +import org.apache.ignite.tcservice.model.result.stat.Statistics; +import org.apache.ignite.tcservice.model.result.tests.TestOccurrencesFull; +import org.apache.ignite.tcservice.model.user.User; +import org.apache.ignite.tcservice.model.user.Users; +import org.apache.ignite.tcservice.http.ITeamcityHttpConnection; +import org.apache.ignite.tcservice.util.XmlUtil; +import org.apache.ignite.tcbot.common.conf.ITcServerConfig; +import org.apache.ignite.tcbot.common.conf.ITcServerConfigSupplier; +import org.apache.ignite.tcbot.common.conf.TcBotWorkDir; +import org.apache.ignite.tcbot.common.exeption.ExceptionUtil; +import org.apache.ignite.tcbot.common.exeption.ServiceConflictException; +import org.apache.ignite.tcbot.common.interceptor.AutoProfiling; +import org.apache.ignite.tcbot.common.util.HttpUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import javax.inject.Inject; +import javax.xml.bind.JAXBException; +import java.io.*; +import java.util.*; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Supplier; import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import javax.inject.Inject; -import javax.xml.bind.JAXBException; -import org.apache.ignite.ci.analysis.ISuiteResults; -import org.apache.ignite.ci.analysis.LogCheckResult; -import org.apache.ignite.ci.analysis.LogCheckTask; -import org.apache.ignite.ci.analysis.SingleBuildRunCtx; -import org.apache.ignite.ci.di.AutoProfiling; -import org.apache.ignite.ci.logs.BuildLogStreamChecker; -import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; -import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; -import org.apache.ignite.ci.tcmodel.agent.Agent; -import org.apache.ignite.ci.tcmodel.agent.AgentsRef; -import org.apache.ignite.ci.tcmodel.changes.Change; -import org.apache.ignite.ci.tcmodel.changes.ChangesList; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; -import org.apache.ignite.ci.tcmodel.conf.ProjectsList; -import org.apache.ignite.ci.tcmodel.conf.bt.BuildTypeFull; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.hist.Builds; -import org.apache.ignite.ci.tcmodel.mute.MuteInfo; -import org.apache.ignite.ci.tcmodel.mute.Mutes; -import org.apache.ignite.ci.tcmodel.result.Build; -import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrences; -import org.apache.ignite.ci.tcmodel.result.stat.Statistics; -import org.apache.ignite.ci.tcmodel.result.tests.TestOccurrencesFull; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.tcmodel.user.Users; -import org.apache.ignite.ci.teamcity.pure.ITeamcityConn; -import org.apache.ignite.ci.teamcity.pure.ITeamcityHttpConnection; -import org.apache.ignite.ci.util.ExceptionUtil; -import org.apache.ignite.ci.util.HttpUtil; -import org.apache.ignite.ci.util.XmlUtil; -import org.apache.ignite.ci.util.ZipUtil; -import org.apache.ignite.ci.web.rest.exception.ConflictException; -import org.jetbrains.annotations.NotNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import static java.util.concurrent.CompletableFuture.supplyAsync; -import static org.apache.ignite.ci.HelperConfig.ensureDirExist; -import static org.apache.ignite.ci.util.XmlUtil.xmlEscapeText; /** * Class for access to Teamcity REST API without any caching. @@ -108,13 +84,10 @@ public class IgniteTeamcityConnection implements ITeamcity { /** Teamcity http connection. */ @Inject private ITeamcityHttpConnection teamcityHttpConn; - @Inject private ITcBotConfig cfg; + @Inject private ITcServerConfigSupplier cfg; private String srvCode; - /** Build logger processing running. */ - private ConcurrentHashMap> buildLogProcessingRunning = new ConcurrentHashMap<>(); - public Executor getExecutor() { return executor; } @@ -154,12 +127,11 @@ public void init(@Nullable String srvCode) { @AutoProfiling public CompletableFuture downloadBuildLogZip(int buildId) { - boolean archive = true; Supplier supplier = () -> { String buildIdStr = Integer.toString(buildId); - final File buildDir = ensureDirExist(new File(logsDir(), "buildId" + buildIdStr)); + final File buildDir = TcBotWorkDir.ensureDirExist(new File(logsDir(), "buildId" + buildIdStr)); final File file = new File(buildDir, - "build.log" + (archive ? ".zip" : "")); + "build.log.zip"); if (file.exists() && file.canRead() && file.length() > 0) { logger.info("Nothing to do, file is cached locally: [" + file + "]"); @@ -179,43 +151,25 @@ public CompletableFuture downloadBuildLogZip(int buildId) { return supplyAsync(supplier, executor); } + private static File resolveLogs(File workDir, String logsProp) { + final File logsDirFileConfigured = new File(logsProp); + return logsDirFileConfigured.isAbsolute() ? logsDirFileConfigured : new File(workDir, logsProp); + } + private File logsDir() { - File logsDirFile = HelperConfig.resolveLogs( - HelperConfig.resolveWorkDir(), + File logsDirFile = resolveLogs( + TcBotWorkDir.resolveWorkDir(), config().logsDirectory()); - return ensureDirExist(logsDirFile); + return TcBotWorkDir.ensureDirExist(logsDirFile); } - @AutoProfiling - @Override public CompletableFuture analyzeBuildLog(Integer buildId, SingleBuildRunCtx ctx) { - final Stopwatch started = Stopwatch.createStarted(); - - CompletableFuture fut = buildLogProcessingRunning.computeIfAbsent(buildId, - k -> checkBuildLogNoCache(k, ctx) - ); - - return fut - .thenApply(task -> { - buildLogProcessingRunning.remove(buildId, fut); - - return task; - }) - .thenApply(task -> { - logger.info(Thread.currentThread().getName() - + ": processBuildLog required: " + started.elapsed(TimeUnit.MILLISECONDS) - + "ms for " + ctx.suiteId()); - - return task; - }) - .thenApply(LogCheckTask::getResult); - } /** {@inheritDoc} */ @AutoProfiling @Override public Build triggerBuild( String buildTypeId, - @NotNull @Nonnull String branchName, + @Nonnull String branchName, boolean cleanRebuild, boolean queueAtTop, @Nullable Map buildParms @@ -235,10 +189,10 @@ private File logsDir() { if (buildParms != null) props.putAll(buildParms); - props.put(TCBOT_TRIGGER_TIME, System.currentTimeMillis()); // + props.put(ITeamcity.TCBOT_TRIGGER_TIME, System.currentTimeMillis()); // StringBuilder sb = new StringBuilder(); - sb.append("\n"); + sb.append("\n"); sb.append(" \n"); sb.append(comments); sb.append(triggeringOptions); @@ -246,7 +200,7 @@ private File logsDir() { props.forEach((k, v) -> { sb.append(" \n"); + sb.append(" value=\"").append(XmlUtil.xmlEscapeText(Objects.toString(v))).append("\"/>\n"); }); sb.append(" \n"); @@ -302,19 +256,6 @@ private File logsDir() { return getJaxbUsingHref(href, Change.class); } - private CompletableFuture> unzip(CompletableFuture zipFileFut) { - return zipFileFut.thenApplyAsync(ZipUtil::unZipToSameFolder, executor); - } - - @AutoProfiling - public CompletableFuture unzipFirstFile(CompletableFuture fut) { - final CompletableFuture> clearFileF = unzip(fut); - return clearFileF.thenApplyAsync(files -> { - Preconditions.checkState(!files.isEmpty(), "ZIP file can't be empty"); - return files.get(0); - }, executor); - } - /** {@inheritDoc} */ @Override public List getProjects() { return sendGetXmlParseJaxb(host() + "app/rest/latest/projects", ProjectsList.class).projects(); @@ -331,7 +272,7 @@ public CompletableFuture unzipFirstFile(CompletableFuture fut) { * @param rootElem Root elem. * * @throws UncheckedIOException caused by FileNotFoundException - If not found (404) was returned from service. - * @throws ConflictException If conflict (409) was returned from service. + * @throws ServiceConflictException If conflict (409) was returned from service. * @throws IllegalStateException if some unexpected HTTP error returned. * @throws UncheckedIOException in case communication failed. */ @@ -383,44 +324,6 @@ private T getJaxbUsingHref(String href, Class elem) { return srvCode; } - private CompletableFuture checkBuildLogNoCache(int buildId, ISuiteResults ctx) { - final CompletableFuture zipFut = downloadBuildLogZip(buildId); - boolean dumpLastTest = ctx.hasSuiteIncompleteFailure(); - - return zipFut.thenApplyAsync(zipFile -> runCheckForZippedLog(dumpLastTest, zipFile), executor); - } - - @SuppressWarnings("WeakerAccess") - @AutoProfiling - @NotNull protected LogCheckTask runCheckForZippedLog(boolean dumpLastTest, File zipFile) { - LogCheckTask task = new LogCheckTask(zipFile); - - try { - //get the zip file content - try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile))) { - ZipEntry ze = zis.getNextEntry(); //get the zipped file list entry - - while (ze != null) { - BuildLogStreamChecker checker = task.createChecker(); - checker.apply(zis, zipFile); - task.finalize(dumpLastTest); - - ze = zis.getNextEntry(); - } - zis.closeEntry(); - } - } - catch (IOException | UncheckedIOException e) { - final String msg = "Failed to process ZIPed entry " + zipFile; - - System.err.println(msg); - e.printStackTrace(); - - logger.error(msg, e); - } - - return task; - } /** {@inheritDoc} */ @AutoProfiling @@ -488,7 +391,7 @@ public void setHttpConn(ITeamcityHttpConnection teamcityHttpConn) { * @param buildId Build id. * @param testDtls request test details string */ - @NotNull + @Nonnull private String testsStartHref(int buildId, boolean testDtls) { String fieldList = "id,name," + (testDtls ? "details," : "") + diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcRealConnectionModule.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/TcRealConnectionModule.java similarity index 82% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcRealConnectionModule.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/TcRealConnectionModule.java index 14f2b8931..557533047 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcRealConnectionModule.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/TcRealConnectionModule.java @@ -14,12 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice; import com.google.inject.AbstractModule; import com.google.inject.internal.SingletonScope; -import org.apache.ignite.ci.ITeamcity; -import org.apache.ignite.ci.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.http.ITeamcityHttpConnection; +import org.apache.ignite.tcservice.http.TeamcityRecorder; +import org.apache.ignite.tcservice.http.TeamcityRecordingConnection; +import org.apache.ignite.tcservice.login.ITcLogin; +import org.apache.ignite.tcservice.login.TcLoginImpl; /** * Guice module to setup real connected server and all related implementations. @@ -29,9 +32,6 @@ public class TcRealConnectionModule extends AbstractModule { /** {@inheritDoc} */ @Override protected void configure() { - //Simple connection - bind(ITeamcity.class).to(IgniteTeamcityConnection.class); - if (conn != null) bind(ITeamcityHttpConnection.class).toInstance(conn); else @@ -42,7 +42,6 @@ public class TcRealConnectionModule extends AbstractModule { } public void overrideHttp(ITeamcityHttpConnection conn) { - this.conn = conn; } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/FileRecordingInputStream.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/FileRecordingInputStream.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/FileRecordingInputStream.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/FileRecordingInputStream.java index 45d1cdfae..416399e5b 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/FileRecordingInputStream.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/FileRecordingInputStream.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.http; import com.google.common.base.Charsets; import com.google.common.base.Preconditions; -import org.jetbrains.annotations.NotNull; +import javax.annotation.Nonnull; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; @@ -64,7 +64,7 @@ protected FileRecordingInputStream(InputStream in, } /** {@inheritDoc} */ - @Override public int read(@NotNull byte[] buf, int off, int cnt) throws IOException { + @Override public int read(@Nonnull byte[] buf, int off, int cnt) throws IOException { Preconditions.checkState(!closeGuard.get()); int readBytes = super.read(buf, off, cnt); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityHttpConnection.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/ITeamcityHttpConnection.java similarity index 86% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityHttpConnection.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/ITeamcityHttpConnection.java index 950f7a572..9b222b587 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITeamcityHttpConnection.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/ITeamcityHttpConnection.java @@ -15,19 +15,20 @@ * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.http; + +import org.apache.ignite.tcbot.common.exeption.ServiceConflictException; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import org.apache.ignite.ci.web.rest.exception.ConflictException; public interface ITeamcityHttpConnection { /** * @param basicAuthTok Basic auth token. * @param url Url. * @throws FileNotFoundException If not found (404) was returned from service. - * @throws ConflictException If conflict (409) was returned from service. + * @throws ServiceConflictException If conflict (409) was returned from service. * @throws IllegalStateException if some unexpected HTTP error returned. */ public InputStream sendGet(String basicAuthTok, String url) throws IOException; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecorder.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecorder.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecorder.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecorder.java index 4bd0b81cc..61d0b4acd 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecorder.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecorder.java @@ -15,16 +15,16 @@ * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.http; import com.google.common.base.Charsets; +import org.apache.ignite.tcbot.common.conf.TcBotSystemProperties; -import java.io.*; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.ConcurrentLinkedQueue; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.util.concurrent.locks.ReentrantLock; -import org.apache.ignite.ci.tcbot.TcBotSystemProperties; /** * diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecordingConnection.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecordingConnection.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecordingConnection.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecordingConnection.java index 4b0306ccf..7a93b4ecd 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TeamcityRecordingConnection.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/http/TeamcityRecordingConnection.java @@ -14,9 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.http; -import org.apache.ignite.ci.util.HttpUtil; +import org.apache.ignite.tcbot.common.util.HttpUtil; import javax.inject.Inject; import java.io.IOException; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITcLogin.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/ITcLogin.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITcLogin.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/ITcLogin.java index 7fb46b2ff..458c094a1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/ITcLogin.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/ITcLogin.java @@ -14,9 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.login; -import org.apache.ignite.ci.tcmodel.user.User; +import org.apache.ignite.tcservice.model.user.User; /** * Teamcity Login implementation. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcLoginImpl.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/TcLoginImpl.java similarity index 88% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcLoginImpl.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/TcLoginImpl.java index 0ae875b76..2c25f55af 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcLoginImpl.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/login/TcLoginImpl.java @@ -14,12 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.login; -import org.apache.ignite.ci.ITeamcity; -import org.apache.ignite.ci.IgniteTeamcityConnection; -import org.apache.ignite.ci.tcmodel.user.User; -import org.apache.ignite.ci.web.rest.exception.ServiceUnauthorizedException; +import org.apache.ignite.tcservice.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.model.user.User; +import org.apache.ignite.tcbot.common.exeption.ServiceUnauthorizedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,7 +28,7 @@ /** * Real implementation of login based on getting current user preferences from the server. */ -class TcLoginImpl implements ITcLogin { +public class TcLoginImpl implements ITcLogin { /** Logger. */ private static final Logger logger = LoggerFactory.getLogger(TcLoginImpl.class); diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/ParameterType.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/ParameterType.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/ParameterType.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/ParameterType.java index bdfd76624..9c4df2854 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/ParameterType.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/ParameterType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel; +package org.apache.ignite.tcservice.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Properties.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Properties.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Properties.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Properties.java index 192ec426d..145167d9e 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Properties.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Properties.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel; +package org.apache.ignite.tcservice.model; import java.util.ArrayList; import java.util.List; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Property.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Property.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Property.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Property.java index 2b30a924a..338338470 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/Property.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/Property.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel; +package org.apache.ignite.tcservice.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/Agent.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/Agent.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/Agent.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/Agent.java index b082cffde..e1ff5648d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/Agent.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/Agent.java @@ -15,15 +15,15 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.agent; +package org.apache.ignite.tcservice.model.agent; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.Properties; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.Properties; +import org.apache.ignite.tcservice.model.hist.BuildRef; /** *

Java class for agent complex type. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentPoolRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentPoolRef.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentPoolRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentPoolRef.java index d3a6988d8..c1994a96d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentPoolRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentPoolRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.agent; +package org.apache.ignite.tcservice.model.agent; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentRef.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentRef.java index d2f3b38f1..63696b44e 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentRef.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.agent; +package org.apache.ignite.tcservice.model.agent; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlType; -import org.apache.ignite.ci.tcmodel.Properties; +import org.apache.ignite.tcservice.model.Properties; /** *

Java class for agent complex type. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentsRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentsRef.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentsRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentsRef.java index 092d9f4ab..651de3d5d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/agent/AgentsRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/agent/AgentsRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.agent; +package org.apache.ignite.tcservice.model.agent; import java.util.ArrayList; import java.util.List; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/Change.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/Change.java similarity index 83% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/Change.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/Change.java index 5cfc3649f..ae66cb93f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/Change.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/Change.java @@ -15,24 +15,23 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.changes; +package org.apache.ignite.tcservice.model.changes; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.user.UserRef; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.user.UserRef; /** * VCS change reported by Teamcity */ @XmlRootElement(name = "change") -@Persisted public class Change extends ChangeRef { /** Comment text */ @XmlElement public String comment; - @Nullable @XmlElement public UserRef user; + @Nullable + @XmlElement public UserRef user; public boolean isFakeStub() { return getId() == null; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangeRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangeRef.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangeRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangeRef.java index a66dbc2c3..dc9290197 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangeRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangeRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.changes; +package org.apache.ignite.tcservice.model.changes; import com.google.common.base.Strings; import java.text.ParseException; @@ -24,15 +24,13 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlTransient; -import org.apache.ignite.ci.db.Persisted; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; -import static org.apache.ignite.ci.util.ExceptionUtil.propagateException; +import static org.apache.ignite.tcbot.common.exeption.ExceptionUtil.propagateException; /** * Change short version. */ -@Persisted @XmlAccessorType(XmlAccessType.FIELD) public class ChangeRef extends AbstractRef { @XmlAttribute public String id; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesList.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesList.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesList.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesList.java index 8ca0ed28b..c080f92cc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesList.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesList.java @@ -15,19 +15,17 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.changes; +package org.apache.ignite.tcservice.model.changes; import java.util.Collections; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.db.Persisted; /** * List of changes from TC. */ @XmlRootElement(name = "changes") -@Persisted public class ChangesList extends ChangesListRef { @XmlElement(name = "change") public List changes; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesListRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesListRef.java similarity index 88% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesListRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesListRef.java index 592f9f894..53f9fecfa 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/changes/ChangesListRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/changes/ChangesListRef.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.changes; +package org.apache.ignite.tcservice.model.changes; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; /** * Reference to list of changes. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/BuildType.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/BuildType.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/BuildType.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/BuildType.java index 3f7a0ef92..ba40e5a29 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/BuildType.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/BuildType.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf; +package org.apache.ignite.tcservice.model.conf; import java.util.Objects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; /** * Build type reference diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/Project.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/Project.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/Project.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/Project.java index e27736d33..ec47b4302 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/Project.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/Project.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf; +package org.apache.ignite.tcservice.model.conf; import java.util.Collections; import java.util.List; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/ProjectsList.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/ProjectsList.java similarity index 87% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/ProjectsList.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/ProjectsList.java index 1a9594a91..2af7a7816 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/ProjectsList.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/ProjectsList.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf; +package org.apache.ignite.tcservice.model.conf; import java.util.Collections; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.changes.ChangesListRef; -import org.jetbrains.annotations.NotNull; +import org.apache.ignite.tcservice.model.changes.ChangesListRef; +import org.checkerframework.checker.nullness.qual.NonNull; /** * List of Projects available at TC. @@ -44,7 +44,8 @@ public class ProjectsList extends ChangesListRef { } /** */ - @NotNull public List projects() { + @NonNull + public List projects() { return projects == null ? Collections.emptyList() : Collections.unmodifiableList(projects); } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/BuildTypeFull.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/BuildTypeFull.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/BuildTypeFull.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/BuildTypeFull.java index 73360bebb..587e70974 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/BuildTypeFull.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/BuildTypeFull.java @@ -15,22 +15,22 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf.bt; +package org.apache.ignite.tcservice.model.conf.bt; import java.util.Collections; import java.util.List; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.jetbrains.annotations.Nullable; /** * Full build type settings. */ @XmlRootElement(name = "buildType") @XmlAccessorType(XmlAccessType.FIELD) -public class BuildTypeFull extends org.apache.ignite.ci.tcmodel.conf.BuildType { +public class BuildTypeFull extends org.apache.ignite.tcservice.model.conf.BuildType { @XmlElement(name = "settings") Parameters settings; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Parameters.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Parameters.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Parameters.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Parameters.java index 9f92e33c6..1c6ff7f7d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Parameters.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Parameters.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf.bt; +package org.apache.ignite.tcservice.model.conf.bt; import com.google.common.base.MoreObjects; import java.util.ArrayList; @@ -23,10 +23,10 @@ import java.util.List; import java.util.Objects; import java.util.Optional; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; -import org.jetbrains.annotations.Nullable; /** * Collection of parameters in build @@ -46,7 +46,8 @@ public Parameters(List props) { /** * @param key Key of parameter. */ - @Nullable public String getParameter(String key) { + @Nullable + public String getParameter(String key) { if (properties == null) return null; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Property.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Property.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Property.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Property.java index 3f87d0a76..c9aec3d78 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/Property.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/Property.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf.bt; +package org.apache.ignite.tcservice.model.conf.bt; import com.google.common.base.MoreObjects; import java.util.Objects; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; -import org.jetbrains.annotations.Nullable; /** * Any property in builds or other configs. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependencies.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependencies.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependencies.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependencies.java index f35629cbe..6d29b001b 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependencies.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependencies.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf.bt; +package org.apache.ignite.tcservice.model.conf.bt; import com.google.common.base.MoreObjects; import java.util.ArrayList; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependency.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependency.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependency.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependency.java index 983a9b492..730ce1a1c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/conf/bt/SnapshotDependency.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/conf/bt/SnapshotDependency.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.conf.bt; +package org.apache.ignite.tcservice.model.conf.bt; import com.google.common.base.MoreObjects; import java.util.Objects; @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; -import org.apache.ignite.ci.tcmodel.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.BuildType; /** * Snapshot dependency. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/BuildRef.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/BuildRef.java index 491a06271..14cec20c2 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/BuildRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/BuildRef.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.hist; +package org.apache.ignite.tcservice.model.hist; import com.google.common.base.MoreObjects; import java.util.Objects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; /** * Actual result of build execution from build history, diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/Builds.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/Builds.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/Builds.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/Builds.java index 0de40d58c..5878ce2d3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/hist/Builds.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/hist/Builds.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.hist; +package org.apache.ignite.tcservice.model.hist; import java.util.Collections; import java.util.List; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteAssignment.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteAssignment.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteAssignment.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteAssignment.java index d70f894cb..11c279a78 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteAssignment.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteAssignment.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.mute; +package org.apache.ignite.tcservice.model.mute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.util.TimeUtil; +import org.apache.ignite.tcbot.common.util.TimeUtil; /** * Mute additional information. Contains mute date and it's comment. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteInfo.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteInfo.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteInfo.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteInfo.java index 61a153b92..f56d971f1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteInfo.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteInfo.java @@ -15,15 +15,16 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.mute; +package org.apache.ignite.tcservice.model.mute; import com.google.common.base.Objects; + +import javax.annotation.Nonnull; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.jetbrains.annotations.NotNull; /** * TeamCity mute. @@ -65,7 +66,7 @@ public class MuteInfo implements Comparable { } /** {@inheritDoc} */ - @Override public int compareTo(@NotNull MuteInfo o) { + @Override public int compareTo(@Nonnull MuteInfo o) { return Integer.compare(id, o.id); } } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteScope.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteScope.java similarity index 89% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteScope.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteScope.java index e2137d62a..fe63cd9dd 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteScope.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteScope.java @@ -15,15 +15,15 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.mute; +package org.apache.ignite.tcservice.model.mute; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.Project; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.Project; /** * Mute additional information. Contains project or build types - scope affected by mute. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteTarget.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteTarget.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteTarget.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteTarget.java index cd52735d4..69f4272cc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/MuteTarget.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/MuteTarget.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.mute; +package org.apache.ignite.tcservice.model.mute; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; -import org.apache.ignite.ci.tcmodel.result.tests.TestRef; +import org.apache.ignite.tcservice.model.result.tests.TestRef; /** * Mute additional information. Contains what was muted (tests, problems). diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/Mutes.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/Mutes.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/Mutes.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/Mutes.java index c8177b485..ed9236b9d 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/mute/Mutes.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/mute/Mutes.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.mute; +package org.apache.ignite.tcservice.model.mute; import java.util.Collections; import java.util.Set; @@ -26,7 +26,7 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; /** * Mute entities from TeamCity. On TeamCity this object represent page with several mutes. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/AbstractRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/AbstractRef.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/AbstractRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/AbstractRef.java index 4459623e1..bae7f2ef7 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/AbstractRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/AbstractRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import javax.xml.bind.annotation.XmlAttribute; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Build.java similarity index 88% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Build.java index a3871e07f..8b6d6934b 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Build.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Build.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import com.google.common.base.Strings; import java.text.ParseException; @@ -23,22 +23,22 @@ import java.util.Collections; import java.util.Date; import java.util.List; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; -import org.apache.ignite.ci.tcmodel.changes.ChangesListRef; -import org.apache.ignite.ci.tcmodel.conf.BuildType; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.vcs.Revision; -import org.apache.ignite.ci.tcmodel.vcs.Revisions; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.changes.ChangesListRef; +import org.apache.ignite.tcservice.model.conf.BuildType; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.vcs.Revision; +import org.apache.ignite.tcservice.model.vcs.Revisions; +import org.checkerframework.checker.nullness.qual.NonNull; -import static org.apache.ignite.ci.util.ExceptionUtil.propagateException; +import static org.apache.ignite.tcbot.common.exeption.ExceptionUtil.propagateException; /** * Build from history with test and problems references @@ -75,9 +75,10 @@ public class Build extends BuildRef { @XmlElement(name = "revisions") private Revisions revisions; /** Build parameters. */ - @Nullable @XmlElement(name = "properties") private Parameters properties; + @Nullable + @XmlElement(name = "properties") private Parameters properties; - @NotNull public static Build createFakeStub() { + @NonNull public static Build createFakeStub() { return new Build(); } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Configurations.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Configurations.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Configurations.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Configurations.java index eb62c4687..05035ab47 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Configurations.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Configurations.java @@ -15,14 +15,13 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; /** */ diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/ProblemOccurrencesRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/ProblemOccurrencesRef.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/ProblemOccurrencesRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/ProblemOccurrencesRef.java index a382ddbe5..3f231017a 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/ProblemOccurrencesRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/ProblemOccurrencesRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import javax.xml.bind.annotation.XmlAttribute; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/RelatedIssuesRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/RelatedIssuesRef.java similarity index 94% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/RelatedIssuesRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/RelatedIssuesRef.java index 81e115764..4297c0615 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/RelatedIssuesRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/RelatedIssuesRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; /** * Related issues reference. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/StatisticsRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/StatisticsRef.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/StatisticsRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/StatisticsRef.java index 94535b74e..9741d0173 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/StatisticsRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/StatisticsRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import javax.xml.bind.annotation.XmlAttribute; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/TestOccurrencesRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/TestOccurrencesRef.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/TestOccurrencesRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/TestOccurrencesRef.java index b250e98ba..ebf522204 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/TestOccurrencesRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/TestOccurrencesRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import javax.xml.bind.annotation.XmlAttribute; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Triggered.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Triggered.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Triggered.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Triggered.java index 4006fa07c..180c65bcc 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/Triggered.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/Triggered.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result; +package org.apache.ignite.tcservice.model.result; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.apache.ignite.ci.tcmodel.user.User; +import org.apache.ignite.tcservice.model.hist.BuildRef; +import org.apache.ignite.tcservice.model.user.User; /** *

Java class for triggeredBy complex type. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrence.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrence.java index 7b5afb474..8fa6a9f41 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrence.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrence.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.problems; +package org.apache.ignite.tcservice.model.result.problems; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAttribute; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.hist.BuildRef; /** * One build problem. Contains its type. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrences.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrences.java similarity index 89% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrences.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrences.java index 43d2e820b..d84b5f334 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/problems/ProblemOccurrences.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/problems/ProblemOccurrences.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.problems; +package org.apache.ignite.tcservice.model.result.problems; import java.util.Collections; import java.util.List; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.result.ProblemOccurrencesRef; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.result.ProblemOccurrencesRef; /** * List of problems associated with build. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/stat/Statistics.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/stat/Statistics.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/stat/Statistics.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/stat/Statistics.java index f7929a359..2250b1fa3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/stat/Statistics.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/stat/Statistics.java @@ -15,13 +15,12 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.stat; +package org.apache.ignite.tcservice.model.result.stat; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; /** * Build statistics reported by TC, data is stored in properties diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrence.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrence.java similarity index 98% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrence.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrence.java index 72cc17454..02ffa157e 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrence.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrence.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.tests; +package org.apache.ignite.tcservice.model.result.tests; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrenceFull.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrenceFull.java similarity index 92% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrenceFull.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrenceFull.java index 87bf4ec94..56dd4201f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrenceFull.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrenceFull.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.tests; +package org.apache.ignite.tcservice.model.result.tests; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.hist.BuildRef; +import org.apache.ignite.tcservice.model.hist.BuildRef; /** * Full test occurrence optionally with text details returned by REST, diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrences.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrences.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrences.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrences.java index eba259f4c..b7b8de4f3 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrences.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrences.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.tests; +package org.apache.ignite.tcservice.model.result.tests; import java.util.Collections; import java.util.List; @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.result.TestOccurrencesRef; +import org.apache.ignite.tcservice.model.result.TestOccurrencesRef; /** * Full tests occurrences, may have reference to next occurrences diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrencesFull.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrencesFull.java similarity index 93% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrencesFull.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrencesFull.java index 1329fafc5..1f6fe7c5c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestOccurrencesFull.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestOccurrencesFull.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.tests; +package org.apache.ignite.tcservice.model.result.tests; import java.util.Collections; import java.util.List; @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.result.TestOccurrencesRef; +import org.apache.ignite.tcservice.model.result.TestOccurrencesRef; /** * Full tests occurrences, may have reference to next occurrences diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestRef.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestRef.java index 975296334..3df64a002 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/result/tests/TestRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/result/tests/TestRef.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.result.tests; +package org.apache.ignite.tcservice.model.result.tests; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; -import org.apache.ignite.ci.tcmodel.result.AbstractRef; +import org.apache.ignite.tcservice.model.result.AbstractRef; /** * Reference to particular test diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/User.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/User.java similarity index 90% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/User.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/User.java index 2ced609bd..37efa8938 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/User.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/User.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.user; +package org.apache.ignite.tcservice.model.user; -import org.apache.ignite.ci.tcmodel.conf.bt.Parameters; -import org.jetbrains.annotations.Nullable; +import org.apache.ignite.tcservice.model.conf.bt.Parameters; +import javax.annotation.Nullable; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/UserRef.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/UserRef.java similarity index 95% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/UserRef.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/UserRef.java index b3f26d6b7..00bba76d1 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/UserRef.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/UserRef.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.user; +package org.apache.ignite.tcservice.model.user; import javax.xml.bind.annotation.XmlAttribute; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/Users.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/Users.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/Users.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/Users.java index 5e019472d..b9f257173 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/user/Users.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/user/Users.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.user; +package org.apache.ignite.tcservice.model.user; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revision.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revision.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revision.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revision.java index ae2ffd72e..855246827 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revision.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revision.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.vcs; +package org.apache.ignite.tcservice.model.vcs; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revisions.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revisions.java similarity index 97% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revisions.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revisions.java index c869aa03b..d07424eed 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/Revisions.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/Revisions.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.vcs; +package org.apache.ignite.tcservice.model.vcs; import java.util.Collections; import java.util.List; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/VcsRootInstance.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/VcsRootInstance.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/VcsRootInstance.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/VcsRootInstance.java index c3aa4b3ce..2e14ca773 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcmodel/vcs/VcsRootInstance.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/model/vcs/VcsRootInstance.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.ignite.ci.tcmodel.vcs; +package org.apache.ignite.tcservice.model.vcs; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcConnectionStaticLinker.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/TcConnectionStaticLinker.java similarity index 87% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcConnectionStaticLinker.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/TcConnectionStaticLinker.java index aafbe4f17..fad728c4f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/teamcity/pure/TcConnectionStaticLinker.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/TcConnectionStaticLinker.java @@ -14,9 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.ignite.ci.teamcity.pure; +package org.apache.ignite.tcservice.util; -import org.apache.ignite.ci.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.IgniteTeamcityConnection; +import org.apache.ignite.tcservice.http.TeamcityRecordingConnection; /** * Factory for non-guice creation of TC Connection instance. diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/XmlUtil.java b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/XmlUtil.java similarity index 96% rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/XmlUtil.java rename to tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/XmlUtil.java index 958edeb69..b0a03b5c6 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/util/XmlUtil.java +++ b/tcbot-teamcity/src/main/java/org/apache/ignite/tcservice/util/XmlUtil.java @@ -15,7 +15,9 @@ * limitations under the License. */ -package org.apache.ignite.ci.util; +package org.apache.ignite.tcservice.util; + +import org.apache.ignite.tcbot.common.util.ObjectInterner; import java.io.Reader; import java.io.StringWriter; @@ -26,7 +28,6 @@ import javax.xml.bind.Unmarshaller; /** - * Created by dpavlov on 27.07.2017 */ public class XmlUtil { /** Cached context to save time on creation ctx each time. */