tycho icon indicating copy to clipboard operation
tycho copied to clipboard

dynamic packaging not working properly

Open david-ecc opened this issue 1 year ago • 2 comments

The tycho-versions:set-version Mojo does not change MANIFEST.MF when executed in a project with pom.xml and <packaging/> is set by property.

not working

Running mvn tycho-versions:set-version -DnewVersion=1.2.5.qualifier with this pom.xml changes only <version/> in pom.xml, MANIFEST.MF is not updated:

<project>
	<modelVersion>4.0.0</modelVersion>

	<groupId>tychotest</groupId>
	<artifactId>dynamicpackaging</artifactId>
	<packaging>${packaging}</packaging>
	<version>1.0.0-SNAPSHOT</version>
	<properties>
		<packaging>eclipse-plugin</packaging>
		<tycho-version>4.0.7</tycho-version>
	</properties>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-versions-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
		</plugins>
	</build>
</project>

Output:

[INFO] Scanning for projects...
[INFO] Tycho Version:  4.0.7 (0dbf79b2a18b352cdfa8ea65f7d433e0ff838100)
[INFO] Tycho Mode:     project
[INFO] Tycho Builder:  maven
[INFO] Build Threads:  1
[INFO]
[INFO] ---------------------< tychotest:dynamicpackaging >---------------------
[INFO] Building dynamicpackaging 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] ---------------------------[ eclipse-plugin ]---------------------------
[INFO]
[INFO] --- tycho-versions:4.0.7:set-version (default-cli) @ dynamicpackaging ---
[INFO] Making changes in C:\dev\workspace-efile-e4\dynamicpackaging
[INFO]   pom.xml//project/version: 1.0.0-SNAPSHOT => 1.2.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.518 s
[INFO] Finished at: 2024-03-28T13:00:49+01:00
[INFO] ------------------------------------------------------------------------

working

If packaging is set without properties mvn tycho-versions:set-version -DnewVersion=1.2.5.qualifier modifies both pom.xml AND MANIFEST.MF.

<project>
	<modelVersion>4.0.0</modelVersion>

	<groupId>tychotest</groupId>
	<artifactId>dynamicpackaging</artifactId>
	<packaging>eclipse-plugin</packaging>
	<version>1.0.0-SNAPSHOT</version>
	<properties>
		<tycho-version>4.0.7</tycho-version>
	</properties>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.tycho</groupId>
					<artifactId>tycho-versions-plugin</artifactId>
					<version>${tycho-version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
		</plugins>
	</build>
</project>

Output:

[INFO] Scanning for projects...
[INFO] Tycho Version:  4.0.7 (0dbf79b2a18b352cdfa8ea65f7d433e0ff838100)
[INFO] Tycho Mode:     project
[INFO] Tycho Builder:  maven
[INFO] Build Threads:  1
[INFO]
[INFO] ---------------------< tychotest:dynamicpackaging >---------------------
[INFO] Building dynamicpackaging 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] ---------------------------[ eclipse-plugin ]---------------------------
[INFO]
[INFO] --- tycho-versions:4.0.7:set-version (default-cli) @ dynamicpackaging ---
[INFO] Making changes in C:\dev\workspace-efile-e4\dynamicpackaging
[INFO]   META-INF/MANIFEST.MF//Bundle-Version: 1.0.0.qualifier => 1.2.5.qualifier
[INFO]   pom.xml//project/version: 1.0.0-SNAPSHOT => 1.2.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.501 s
[INFO] Finished at: 2024-03-28T12:58:52+01:00
[INFO] ------------------------------------------------------------------------

david-ecc avatar Mar 28 '24 12:03 david-ecc

@david-ecc I'm not sure having packaging be a property is actually supported, anyways we have some test cases here:

https://github.com/eclipse-tycho/tycho/tree/main/tycho-its/projects/tycho-version-plugin

Do you like to provide an integration-test to demonstrate the issue and maybe even propose a fix?

laeubi avatar Mar 28 '24 12:03 laeubi

Is this "dynamic packaging" maybe related to some IDE hack/workaround? Or what is the purpose of having it "dynamic"?

cstamas avatar Mar 28 '24 17:03 cstamas