Плагин изменений в Maven с проблемой Mercurial - PullRequest
2 голосов
/ 29 апреля 2010

Я настроил свой проект Maven2 для создания отчета об изменениях из репозитория Mercurial (доступного через файл: // протокол), но выполнение цели завершается неудачно со следующим сообщением:

+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'changelog'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Phobos3 Prototype
[INFO]    task-segment: [changelog:changelog]
[INFO] ------------------------------------------------------------------------
[INFO] [changelog:changelog {execution: default-cli}]
[INFO] Generating changed sets xml to: D:\Documents and Settings\501845922\Workspace\phobos3.prototype\target\changelog.xml
[INFO] EXECUTING: hg log --verbose
[WARNING] Could not figure out: abort: Invalid argument
[ERROR]
EXECUTION FAILED
  Execution of cmd : log failed with exit code: -1.
  Working directory was:
    D:\Documents and Settings\501845922\Workspace\phobos3.prototype
  Your Hg installation seems to be valid and complete.
    Hg version: 1.4.3+20100201 (OK)


[ERROR] Provider message:
[ERROR]
EXECUTION FAILED
  Execution of cmd : log failed with exit code: -1.
  Working directory was:
    D:\Documents and Settings\501845922\Workspace\phobos3.prototype
  Your Hg installation seems to be valid and complete.
    Hg version: 1.4.3+20100201 (OK)


[ERROR] Command output:
[ERROR]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An error has occurred in Change Log report generation.

Embedded error: An error has occurred during changelog command :
Command failed.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An error has occurred in Change Log report generation.
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in Change Log report generation.
        at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:79)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        ... 17 more
Caused by: org.apache.maven.reporting.MavenReportException: An error has occurred during changelog command :
        at org.apache.maven.plugin.changelog.ChangeLogReport.generateChangeSetsFromSCM(ChangeLogReport.java:555)
        at org.apache.maven.plugin.changelog.ChangeLogReport.getChangedSets(ChangeLogReport.java:393)
        at org.apache.maven.plugin.changelog.ChangeLogReport.executeReport(ChangeLogReport.java:340)
        at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:98)
        at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:73)
        ... 19 more
Caused by: org.apache.maven.plugin.MojoExecutionException: Command failed.
        at org.apache.maven.plugin.changelog.ChangeLogReport.checkResult(ChangeLogReport.java:705)
        at org.apache.maven.plugin.changelog.ChangeLogReport.generateChangeSetsFromSCM(ChangeLogReport.java:467)
        ... 23 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Thu Apr 29 17:10:06 CEST 2010
[INFO] Final Memory: 5M/10M
[INFO] ------------------------------------------------------------------------

Что я упустил в конфигурации? (Надеюсь, что это проблема конфигурации, а не ошибка, связанная с плагинами Maven! :) URL моего репозитория, кажется, в порядке (плагин жаловался раньше, я исправил это), я также установил формат даты для разбора (также жаловался , также исправлено).

target / changelog.xml, который был обещан, вообще не был создан.

Maven 2.2.1 Mercurial 1.4.3 Windows XP SP3

Команда

mvn scm:changelog обеспечивает ожидаемый результат.

Спасибо за любые предложения, я ничего не гуглил (и не глотал;).

1 Ответ

1 голос
/ 30 апреля 2010

Я сделал тест со случайным проектом ( noop , если быть точным):

hg clone https://noop.googlecode.com/hg/ noop

И после настройки dateFormat из maven-changelog-plugin в верхней части pom.xml:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-changelog-plugin</artifactId>
    <configuration>
      <dateFormat>EEE MMM dd hh:mm:ss yyyy Z</dateFormat>
    </configuration>
  </plugin>

Я смог запустить mvn changelog:changelog без проблем. Я хочу сказать, что плагин работает как минимум для одного проекта (выбран случайным образом:).

Мне бы очень хотелось знать, правильно ли ведет себя hg log --verbose, так как плагин, похоже, жалуется на то, что он не работает успешно. Если это произойдет, не могли бы вы попытаться передать опцию -X при запуске Maven и посмотреть, получите ли вы более полезную информацию.

Также укажите содержание элемента <scm>.

...