New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build: Tycho Pomless and Maven Wrapper #287
Comments
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 7, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 8, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 8, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 8, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 8, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
to Boereck/corrosion
that referenced
this issue
Jan 8, 2020
… Wrapper This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Boereck
added a commit
that referenced
this issue
Jan 8, 2020
This change gets rid of most pom.xml files in Corrosion. This is done by using the Tycho Pomless technology in it's latest version. Since Tycho Pomless is somehow sensitive to different maven versions, the maven wrapper technology is used. This allows users (even without a maven installation) to always use the recommended maven version to build Corrosion. Build instructions were updated accordingly. The maven wrapper technology was approved via CQ 21342: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342 The added rustup-init.sh file was previously downloaded as part of the build and was already approved via CQ 21017: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21017 Signed-off-by: Max Bureck <max.bureck@fokus.fraunhofer.de>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am currently testing if we could use Tycho Pomless and the Maven Wrapper for the build of corrosion. I would love to get some opinions if this seems valid or if there are downsides I am missing and maybe someone can answer remaining questions.
Technologies
In the following sections I will briefly introduce the technologies and shortly discuss why these would be beneficial to use, what problems this may bring, and raise some questions.
Tycho Pomless
This maven plugin uses the polyglot-maven extension to use Eclipse metadata (
MANIFEST.MF
files etc.) to replacepom.xml
files.Advantages
pom.xml
files and Eclipse project metadataDownsides
Several maven versions broke Tycho or the polyglot feature altogether in the past. Therefore guidance for committers and control in CI build is needed (see Maven Wrapper for possible solution).
Open Question
The
org.eclipse.corrosion
plugin currently uses the mavenpom.xml
file to download therustup-init.sh
file. However, other external resources are already checked into the repository (such as the TextMate grammar files). Would it be OK to simply place the file in the repository and remove thepom.xml
file?Maven Wrapper
The maven wrapper is a set of shell scripts and a small jar file that are placed in the repository that make sure a maven (in the correct version) is installed on a machine, so the build can run successfully. A maven command can be used to create the necessary files for a maven project.
This can be the solution to the maven version problems of Tycho Pomless: We always select a matching maven version for the chosen Tycho Pomless version.
Advantages
Downsides
mvnw
may be unfamiliar to some people, but if explained in the project documentation this should not be a big issue.Open Questions
Current Prototype
In my fork, I currently switched all projects, except for the main plugin (do to the download as part of the pom) to Tycho Pomless. Some configuration had to be pulled to the root
pom.xml
file.For the maven wrapper, I just included scripts for creating the maven wrapper files.
The current version of the prototype can be found here:
https://github.com/Boereck/corrosion/tree/pomless
UPDATE
I also created a version which completely gets rid of project
pom.xml
files, includes therustup-init.sh
file with the sources and includes the maven wrapper files in the repository:https://github.com/Boereck/corrosion/tree/pomless_complete
I also created a CQ for the maven-wrapper in version 0.5.6:
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21342
The text was updated successfully, but these errors were encountered: