How To Install tycho on Fedora 34

tycho is Plugins and extensions for building Eclipse plugins and OSGI bundles with Maven

Introduction

In this tutorial we learn how to install tycho on Fedora 34.

What is tycho

Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGI bundles with Maven. Eclipse plugins and OSGI bundles have their own metadata for expressing dependencies, source folder locations, etc. that are normally found in a Maven POM. Tycho uses native metadata for Eclipse plugins and OSGi bundles and uses the POM to configure and drive the build. Tycho supports bundles, fragments, features, update site projects and RCP applications. Tycho also knows how to run JUnit test plugins using OSGi runtime and there is also support for sharing build results using Maven artifact repositories. Tycho plugins introduce new packaging types and the corresponding lifecycle bindings that allow Maven to use OSGi and Eclipse metadata during a Maven build. OSGi rules are used to resolve project dependencies and package visibility restrictions are honored by the OSGi-aware JDT-based compiler plugin. Tycho will use OSGi metadata and OSGi rules to calculate project dependencies dynamically and injects them into the Maven project model at build time. Tycho supports all attributes supported by the Eclipse OSGi resolver (Require-Bundle, Import-Package, Eclipse-GenericRequire, etc). Tycho will use proper classpath access rules during compilation. Tycho supports all project types supported by PDE and will use PDE/JDT project metadata where possible. One important design goal in Tycho is to make sure there is no duplication of metadata between POM and OSGi metadata.

We can use yum or dnf to install tycho on Fedora 34. In this tutorial we discuss both methods but you only need to choose one of method to install tycho.

Install tycho on Fedora 34 Using dnf

Update yum database with dnf using the following command.

sudo dnf makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install tycho using dnf by running the following command:

sudo dnf -y install tycho

Install tycho on Fedora 34 Using yum

Update yum database with yum using the following command.

sudo yum makecache --refresh

The output should look something like this:

Fedora 34 - x86_64                               20 kB/s | 6.6 kB     00:00
Fedora 34 openh264 (From Cisco) - x86_64        1.4 kB/s | 989  B     00:00
Fedora Modular 34 - x86_64                       68 kB/s | 6.5 kB     00:00
Fedora 34 - x86_64 - Updates                    3.5 kB/s | 6.2 kB     00:01
Fedora Modular 34 - x86_64 - Updates             17 kB/s | 5.9 kB     00:00
Metadata cache created.

After updating yum database, We can install tycho using yum by running the following command:

sudo yum -y install tycho

How To Uninstall tycho on Fedora 34

To uninstall only the tycho package we can use the following command:

sudo dnf remove tycho

tycho Package Contents on Fedora 34

/usr/share/doc/tycho
/usr/share/doc/tycho/README.md
/usr/share/java-utils/p2-install.sh
/usr/share/java/tycho
/usr/share/java/tycho/org.eclipse.tycho.core.shared.jar
/usr/share/java/tycho/org.eclipse.tycho.embedder.shared.jar
/usr/share/java/tycho/org.eclipse.tycho.noopsecurity.jar
/usr/share/java/tycho/org.eclipse.tycho.p2.maven.repository.jar
/usr/share/java/tycho/org.eclipse.tycho.p2.resolver.impl.jar
/usr/share/java/tycho/org.eclipse.tycho.p2.resolver.shared.jar
/usr/share/java/tycho/org.eclipse.tycho.p2.tools.impl.jar
/usr/share/java/tycho/org.eclipse.tycho.p2.tools.shared.jar
/usr/share/java/tycho/org.eclipse.tycho.surefire.junit.jar
/usr/share/java/tycho/org.eclipse.tycho.surefire.junit4.jar
/usr/share/java/tycho/org.eclipse.tycho.surefire.junit47.jar
/usr/share/java/tycho/org.eclipse.tycho.surefire.osgibooter.jar
/usr/share/java/tycho/org.eclipse.tycho.surefire.testng.jar
/usr/share/java/tycho/org.fedoraproject.p2.jar
/usr/share/java/tycho/sisu-equinox-api.jar
/usr/share/java/tycho/sisu-equinox-embedder.jar
/usr/share/java/tycho/sisu-equinox-launching.jar
/usr/share/java/tycho/target-platform-configuration.jar
/usr/share/java/tycho/target-platform-validation-plugin.jar
/usr/share/java/tycho/tycho-artifactcomparator.jar
/usr/share/java/tycho/tycho-bundles-external-manifest.txt
/usr/share/java/tycho/tycho-bundles-external.zip
/usr/share/java/tycho/tycho-compiler-jdt.jar
/usr/share/java/tycho/tycho-compiler-plugin.jar
/usr/share/java/tycho/tycho-core.jar
/usr/share/java/tycho/tycho-custom-bundle-plugin.jar
/usr/share/java/tycho/tycho-dependency-tools-plugin.jar
/usr/share/java/tycho/tycho-document-bundle-plugin.jar
/usr/share/java/tycho/tycho-eclipserun-plugin.jar
/usr/share/java/tycho/tycho-embedder-api.jar
/usr/share/java/tycho/tycho-lib-detector.jar
/usr/share/java/tycho/tycho-maven-plugin.jar
/usr/share/java/tycho/tycho-metadata-model.jar
/usr/share/java/tycho/tycho-p2-director-plugin.jar
/usr/share/java/tycho/tycho-p2-extras-plugin.jar
/usr/share/java/tycho/tycho-p2-facade.jar
/usr/share/java/tycho/tycho-p2-plugin.jar
/usr/share/java/tycho/tycho-p2-publisher-plugin.jar
/usr/share/java/tycho/tycho-p2-repository-plugin.jar
/usr/share/java/tycho/tycho-pack200-impl.jar
/usr/share/java/tycho/tycho-pack200-its.jar
/usr/share/java/tycho/tycho-pack200a-plugin.jar
/usr/share/java/tycho/tycho-pack200b-plugin.jar
/usr/share/java/tycho/tycho-packaging-plugin.jar
/usr/share/java/tycho/tycho-pomgenerator-plugin.jar
/usr/share/java/tycho/tycho-pomless.jar
/usr/share/java/tycho/tycho-source-feature-plugin.jar
/usr/share/java/tycho/tycho-source-plugin.jar
/usr/share/java/tycho/tycho-standalone-p2-director.zip
/usr/share/java/tycho/tycho-surefire-plugin.jar
/usr/share/java/tycho/tycho-version-bump-plugin.jar
/usr/share/java/tycho/tycho-versions-plugin.jar
/usr/share/java/tycho/xmvn-p2-installer-plugin.jar
/usr/share/maven-metadata/tycho.xml
/usr/share/maven-poms/tycho
/usr/share/maven-poms/tycho/fedoraproject-p2.pom
/usr/share/maven-poms/tycho/org.eclipse.tycho.surefire.junit.pom
/usr/share/maven-poms/tycho/org.eclipse.tycho.surefire.junit4.pom
/usr/share/maven-poms/tycho/org.eclipse.tycho.surefire.junit47.pom
/usr/share/maven-poms/tycho/org.eclipse.tycho.surefire.testng.pom
/usr/share/maven-poms/tycho/org.fedoraproject.p2.pom
/usr/share/maven-poms/tycho/sisu-equinox-api.pom
/usr/share/maven-poms/tycho/sisu-equinox-embedder.pom
/usr/share/maven-poms/tycho/sisu-equinox-launching.pom
/usr/share/maven-poms/tycho/sisu-equinox.pom
/usr/share/maven-poms/tycho/target-platform-configuration.pom
/usr/share/maven-poms/tycho/target-platform-validation-plugin.pom
/usr/share/maven-poms/tycho/tycho-artifactcomparator.pom
/usr/share/maven-poms/tycho/tycho-bundles.pom
/usr/share/maven-poms/tycho/tycho-compiler-jdt.pom
/usr/share/maven-poms/tycho/tycho-compiler-plugin.pom
/usr/share/maven-poms/tycho/tycho-core.pom
/usr/share/maven-poms/tycho/tycho-custom-bundle-plugin.pom
/usr/share/maven-poms/tycho/tycho-dependency-tools-plugin.pom
/usr/share/maven-poms/tycho/tycho-document-bundle-plugin.pom
/usr/share/maven-poms/tycho/tycho-eclipserun-plugin.pom
/usr/share/maven-poms/tycho/tycho-embedder-api.pom
/usr/share/maven-poms/tycho/tycho-extras.pom
/usr/share/maven-poms/tycho/tycho-lib-detector.pom
/usr/share/maven-poms/tycho/tycho-maven-plugin.pom
/usr/share/maven-poms/tycho/tycho-metadata-model.pom
/usr/share/maven-poms/tycho/tycho-p2-director-plugin.pom
/usr/share/maven-poms/tycho/tycho-p2-extras-plugin.pom
/usr/share/maven-poms/tycho/tycho-p2-facade.pom
/usr/share/maven-poms/tycho/tycho-p2-plugin.pom
/usr/share/maven-poms/tycho/tycho-p2-publisher-plugin.pom
/usr/share/maven-poms/tycho/tycho-p2-repository-plugin.pom
/usr/share/maven-poms/tycho/tycho-p2.pom
/usr/share/maven-poms/tycho/tycho-pack200-impl.pom
/usr/share/maven-poms/tycho/tycho-pack200-its.pom
/usr/share/maven-poms/tycho/tycho-pack200.pom
/usr/share/maven-poms/tycho/tycho-pack200a-plugin.pom
/usr/share/maven-poms/tycho/tycho-pack200b-plugin.pom
/usr/share/maven-poms/tycho/tycho-packaging-plugin.pom
/usr/share/maven-poms/tycho/tycho-pomgenerator-plugin.pom
/usr/share/maven-poms/tycho/tycho-pomless.pom
/usr/share/maven-poms/tycho/tycho-release.pom
/usr/share/maven-poms/tycho/tycho-source-feature-plugin.pom
/usr/share/maven-poms/tycho/tycho-source-plugin.pom
/usr/share/maven-poms/tycho/tycho-surefire-plugin.pom
/usr/share/maven-poms/tycho/tycho-surefire.pom
/usr/share/maven-poms/tycho/tycho-version-bump-plugin.pom
/usr/share/maven-poms/tycho/tycho-versions-plugin.pom
/usr/share/maven-poms/tycho/tycho.pom
/usr/share/maven-poms/tycho/xmvn-p2-installer-plugin.pom
/usr/share/xmvn/lib/installer/org.fedoraproject.p2.jar
/usr/share/xmvn/lib/installer/osgi.jar
/usr/share/xmvn/lib/installer/xmvn-p2-installer-plugin.jar

References

Summary

In this tutorial we learn how to install tycho on Fedora 34 using yum and dnf.