Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't resolve allure-report-data artifact while evaluating the plugin #26

Closed
grmaxxon opened this issue Jul 16, 2015 · 1 comment
Closed

Comments

@grmaxxon
Copy link

We are using TeamCity with many different agents (Windows, Linux, OS X, Solaris, AIX etc). We are living behind the proxy server and use the single access to remove repositories with Nexus Professional (Nexus OSS, Artifactory are similar repository software). Our Maven installations on agents configured with separated global settings.xml (with the list of local repositories on our Nexus) and user's settings.xml in ~/.m2/settings.xml with secured credentials for basic authentication in Nexus for downloading all maven artifacts.

The allure-teamcity-plugin has direct URLs for getting necessary artifacts and cannot be used in this environment. I tried many steps for making it work, but unsuccessfully:

  1. Setting of M2_HOME cannot help
  2. Setting maven.home and user.home variables (according the code of clay-maven-settings-builder v. 2.3) also does not work
  3. I downloaded allure-report-builder trunk and concatenated it with allure-teamcity-plugin - unsuccessfully
  4. I downloaded necessary jar * war manually and modified allure-report-builder for using local jars. The main issue has been skipped, but build failed because of dependencies of allure-report-data.jar was not downloaded and not added to the classpath. Hell!
  5. I found that clay-maven-settings-builder read only one settings.xml (which will be found first), I modified sources for reading both global and user settings.xml, but also unfotunately - the library now skip messages about unavailability of hardcoded repo URLs (repo1.maven.org and oss.sonatype.org), but I'm still not lucky:

[19:39:50]Allure report generation
[19:39:50][Allure report generation] analyse results pattern **/allure-results
[19:39:51][Allure report generation] analyse results directories [C:\TeamCity\buildAgent\work\d6f20466435135e0\common\reports\allure-results, C:\TeamCity\buildAgent\work\d6f20466435135e0\cte\target\allure-results]
[19:39:51][Allure report generation] prepare allure report directory [C:\TeamCity\buildAgent\temp\agentTmp\allure]
[19:39:51][Allure report generation] prepare report generator with version: 1.4.15
[19:39:51][Allure report generation] process tests results to directory [C:\TeamCity\buildAgent\temp\agentTmp\allure]
[19:39:51]
[Allure report generation] ru.yandex.qatools.allure.report.AllureReportBuilderException: ru.yandex.qatools.clay.AetherException: Can't resolve given artifact ru.yandex.qatools.allure:allure-report-data:jar:1.4.15
at ru.yandex.qatools.allure.report.AllureReportBuilder.processResults(AllureReportBuilder.java:185)
at ru.yandex.qatools.allure.teamcity.AgentBuildEventsProvider.beforeBuildFinish(AgentBuildEventsProvider.java:72)
at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at jetbrains.buildServer.util.EventDispatcher.dispatch(EventDispatcher.java:120)
at jetbrains.buildServer.util.EventDispatcher$2.invoke(EventDispatcher.java:67)
at com.sun.proxy.$Proxy6.beforeBuildFinish(Unknown Source)
at jetbrains.buildServer.agent.impl.buildStages.finishStages.FireBeforeBuildFinishFStage.doFinishStage(FireBeforeBuildFinishFStage.java:32)
at jetbrains.buildServer.agent.impl.buildStages.BuildFinishStagesExecutor.runFinishStage(BuildFinishStagesExecutor.java:28)
at jetbrains.buildServer.agent.impl.buildStages.BuildFinishStagesExecutor.doBuildFinishStages(BuildFinishStagesExecutor.java:20)
at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:58)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:281)
at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:55)
at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:245)
at java.lang.Thread.run(Thread.java:745)
Caused by: ru.yandex.qatools.clay.AetherException: Can't resolve given artifact ru.yandex.qatools.allure:allure-report-data:jar:1.4.15
at ru.yandex.qatools.clay.Aether.resolveWithTransitives(Aether.java:179)
at ru.yandex.qatools.clay.Aether.resolve(Aether.java:131)
at ru.yandex.qatools.clay.Aether.resolve(Aether.java:109)
at ru.yandex.qatools.allure.report.AllureReportBuilder.processResults(AllureReportBuilder.java:175)
... 15 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact ru.yandex.qatools.allure:allure-report-data:jar:1.4.15
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
at ru.yandex.qatools.clay.Aether.resolveWithTransitives(Aether.java:177)
... 18 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact ru.yandex.qatools.allure:allure-report-data:jar:1.4.15
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
... 19 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact ru.yandex.qatools.allure:allure-report-data:jar:1.4.15
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:434)
... 21 more

Unfortunately, I can't set system proxy on all agents or set the proxy into user's maven settings.xml - everything should use the single Nexus server for accessing artifacts from maven, gradle, grapes etc.

Please, add the support of separated settings.xml and using of them with highest priority because they're main configuration files for everybody who are living outside of Internet.
Or add the reading of environment variables with paths of global settings.xml and user's settings.xml for ignoring default Internet URLs.

Thanks!

@baev
Copy link
Member

baev commented Aug 19, 2015

fixed via #28 . The release and documentation is coming soon.

@baev baev closed this as completed Aug 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants