Convert maven-invoker-plugin tests to regular integration tests
Fixes the issue by converting all maven-invoker-plugin tests to regular integration tests in the tycho-its module, providing a single consistent testing approach across the Tycho project.
Problem
The use of maven-invoker-plugin for integration tests had several drawbacks:
- Tests didn't appear in CI reports, only showing as build failures
- Difficult to debug - required running locally and finding log files
- Hard to investigate - needed to understand groovy scripts and invoker properties
- Slower build times for regular verification
- Referenced legacy tycho-snapshot repositories from when tycho-extras was separate
- Unclear dependencies on the full Tycho build
Solution
Converted all maven-invoker-plugin tests to standard JUnit integration tests in the tycho-its module following the established pattern.
Changes Made
tycho-buildtimestamp-jgit:
- Converted 6 invoker tests to
BuildTimestampJgitTest.javaextendingAbstractTychoIntegrationTest - Moved test project zip files (containing git repositories) to
tycho-its/projects/buildtimestamp.jgit/ - Removed
src/it/directory with groovy scripts - Removed invoker plugin configuration and
UnzipFileutility class
tycho-extras:
- Removed maven-invoker-plugin configuration from parent pom
- Removed empty invoker plugin profiles from tycho-dependency-tools-plugin and tycho-p2-extras-plugin
- Removed commented-out invoker tests from target-platform-validation-plugin (already inactive)
tycho-its:
- Added
plexus-archiverdependency for extracting test project zip files - Created new test class with all 6 test methods: basic, submodules, dirtyWorkingTree, dirtySubmodules, dirtyWorkingTreeWarningOnly, and dirtyUnrelatedSubmodules
Benefits
✅ Tests now appear as proper JUnit tests in CI reports and GitHub Actions
✅ Easier to debug with standard Java debugging tools
✅ Full Maven build logs visible in CI output
✅ Single consistent test pattern - all integration tests now in tycho-its
✅ Clear that integration tests only run after full Tycho build
✅ Removed 560+ lines of code (groovy scripts, invoker configs, etc.)
The conversion maintains full test coverage while improving developer experience and CI visibility.
Original prompt
This section details on the original issue you should resolve
<issue_title>Convert invoker tests to "regular" integration tests</issue_title> <issue_description>Tycho-extras uses the maven-invoker plugin to run Integrationtest.
I think this has several drawbacks:
- It is really hard to find out whats going on, e.g. our regular integration tests show the full build-log output on the jenkins/gh actions, for the invoker ones it is required to run them locally, find the logfile, investigate some properties and/or groovy scripts
- currently the ci build dos not regogize them as tests and thus only shows a build failure even though it is actually a test-failure
- I find them hard to debug as well
- They don't bring a value over our standard integration-test but slow down the build times for a regular build/junit test verification
- back from the time where tycho-extras was a seperate project they reference a tycho-snapshot repository what most likeley is not what we want
- As they depend on large parts of tycho they are not really local to the module and thus it is unclear if such projects would require to depend "on everything" to work correctly
So I think we better should convert them to be placed in the
tycho-itsmodule so we can make sure there is only one way tycho developers must be familiar with and it is always clear that integration tests are only run after everything from tycho is build. </issue_description><agent_instructions>Currently we use maven-invoker-plugin plugin in some places. These should be converted into integration test as we use them in https://github.com/eclipse-tycho/tycho/tree/main/tycho-its</agent_instructions>
Comments on the Issue (you are @copilot in this section)
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
Test Results
1 020 files 1 020 suites 5h 42m 50s ⏱️ 1 309 tests 1 283 ✅ 20 💤 6 ❌ 3 927 runs 3 846 ✅ 63 💤 18 ❌
For more details on these failures, see this check.
Results for commit dfc915c5.