How To Install tycho on Fedora 34
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.