From ccb332574c06cbfb4d60c10b30e911a217d55458 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Fri, 31 May 2024 14:36:44 +0200 Subject: [PATCH] Add test for build with updated bundle versions --- .../java/org/eclipse/tycho/test/DemoTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tycho-its/src/test/java/org/eclipse/tycho/test/DemoTest.java b/tycho-its/src/test/java/org/eclipse/tycho/test/DemoTest.java index 306829f841..4f30521a26 100644 --- a/tycho-its/src/test/java/org/eclipse/tycho/test/DemoTest.java +++ b/tycho-its/src/test/java/org/eclipse/tycho/test/DemoTest.java @@ -48,6 +48,32 @@ public void testAutomaticManifest() throws Exception { .anyMatch(pkg -> "tycho.demo.service.api".equals(pkg.getName()))); } + @Test + public void testAutomaticManifestUpdateVersion() throws Exception { + // run the initial build + Verifier verifier = runDemo("pde-automatic-manifest"); + + // now update the version + verifier.executeGoals( + List.of("org.eclipse.tycho:tycho-versions-plugin:set-version", "-DnewVersion=1.1.0.qualifier")); + verifier.verifyErrorFreeLog(); + + // build again + verifier.executeGoals(List.of("clean", "verify")); + verifier.verifyErrorFreeLog(); + + BundleDescription description = BundlesAction.createBundleDescription(Path + .of(verifier.getBasedir(), "tycho.demo.service.impl/target/tycho.demo.service.impl-1.1.0-SNAPSHOT.jar") + .toFile()); + assertNotNull("demo bundle was not packed", description); + @SuppressWarnings("unchecked") + Dictionary manifest = (Dictionary) description.getUserObject(); + assertEquals("Service component not found", "OSGI-INF/tycho.demo.service.impl.InverterServiceImpl.xml", + manifest.get("Service-Component")); + assertTrue("tycho.demo.service.api package not imported", Arrays.stream(description.getImportPackages()) + .anyMatch(pkg -> "tycho.demo.service.api".equals(pkg.getName()))); + } + @Test public void testTychoJustJDemo() throws Exception { assertIncludesJustJ(new File(runDemo("justj", "-f", "product").getBasedir(),