Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxkratz/maven-tycho-eclipse-example
Example on how to use Maven & Tycho to build an Eclipse plug-in, feature, and update site.
https://github.com/maxkratz/maven-tycho-eclipse-example
ci continuous-integration eclipse eclipse-plugin eclipse-repositories eclipse-update-site maven tycho tycho-maven
Last synced: about 1 month ago
JSON representation
Example on how to use Maven & Tycho to build an Eclipse plug-in, feature, and update site.
- Host: GitHub
- URL: https://github.com/maxkratz/maven-tycho-eclipse-example
- Owner: maxkratz
- License: agpl-3.0
- Created: 2023-04-24T08:17:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-23T05:49:19.000Z (4 months ago)
- Last Synced: 2024-08-23T06:49:06.210Z (4 months ago)
- Topics: ci, continuous-integration, eclipse, eclipse-plugin, eclipse-repositories, eclipse-update-site, maven, tycho, tycho-maven
- Language: Java
- Homepage:
- Size: 2.89 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Maven Tycho Eclipse example
This example shows how to build a complete (and functional) [P2](https://www.eclipse.org/equinox/p2/) Eclipse update site with [Maven](https://maven.apache.org/) and [Tycho](https://projects.eclipse.org/projects/technology.tycho).
It can be used to create Eclipse update sites from various projects and features *headlessley*, e.g., with the help of a CI pipeline and without the need to run Eclipse tasks manually.[![CI](https://github.com/maxkratz/maven-tycho-eclipse-example/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/maxkratz/maven-tycho-eclipse-example/actions/workflows/ci.yml)
## Structure
| Name | Type | Purpose |
| -------------------------------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------- |
| [org.example.impl](org.example.impl/) | Eclipse (plug-in) project | Contains the implementation of a feature or an Eclipse plug-in (in this case an empty example). |
| [org.example.impl.feature](org.example.impl.feature/) | Eclipse Feature project | Contains the necessary information for the feature to export. |
| [org.example.impl.updatesite](org.example.impl.updatesite/) | Eclipse Update Site project | Contains the update site configuration (to include the feature above). |
| [org.example.impl.dependencies](org.example.impl.dependencies) | Eclipse (plug-in) project | Contains all necessary dependencies (JARs). |
| [org.example.impl.tests](org.example.impl.tests/) | Eclipse (plug-in) project | Contains all tests and test-related content. |
| [ci.yml](.github/workflows/ci.yml) | File | Example GitHub Actions configuration to build and push the update site. |
| [pom.xml](pom.xml) | File | Maven configuration file that contains the parent group/porject. |## How to build
- Build the project + feature + update site:
`$ mvn clean package`
- Build + install the project to the local `.m2/` folder:
`$ mvn clean install`
- Run all tests:
`$ mvn clean verify`
- Change the version of the plug-in to a new semver (e.g., before publishing a new release):
`$ mvn versions:set -DnewVersion=0.0.2-SNAPSHOT`## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for more details.