-
Notifications
You must be signed in to change notification settings - Fork 16
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
Mavenize project and add Github actions #91
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can bump the Eclipse dependency (used as target platform), but then we need to perform a major revision bump, for being a "breaking change", requiring to bump the Eclipse release for existing setups.
However, given that we haven't updated to anything newer than Eclipse 2024-03 yet, we should stick to that one for now.
Otherways, good job, highly appreciated!
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When aiming for "reproducible builds", we also need to avoid dependencies with unspecified version numbers.
In particular, "latest" explicitly talks about a moving target, which breaks any reproducability of the build.
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pinning the ubuntu version is even more important in the "official" build.
pom.xml
Outdated
@@ -53,6 +54,7 @@ | |||
</pluginRepositories> | |||
|
|||
<build> | |||
<finalName>foobar</finalName> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this finalName for?
pom.xml
Outdated
</repository> | ||
<repository> | ||
<id>cbi-targetplatform-dsl-mirror</id> | ||
<layout>p2</layout> | ||
<url>https://download.eclipse.org/cbi/updates/tpd/release/3.0.0</url> | ||
<url>https://download.eclipse.org/cbi/updates/tpd/release/</url> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without the release number, this URL is a moving target as well, no?
pom.xml
Outdated
@@ -261,12 +263,12 @@ | |||
<repository> | |||
<id>eclipse</id> | |||
<layout>p2</layout> | |||
<url>http://download.eclipse.org/releases/2024-12</url> | |||
<url>http://download.eclipse.org/releases/2024-06</url> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In regards of reproducible builds, on OCXConf I've learned that we should add the specific build date here as well.
<feature id="com.wamas.ide.launching.feature" version="0.0.0"> | ||
<category name="releng"/> | ||
</feature> | ||
<category-def name="releng" label="Eclipse CBI Release Engineering tools"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This label (and the description below) seems to indicate where you've copied from, no? ;)
pom.xml
Outdated
<xtext-version>2.36.0</xtext-version> | ||
<cbi-plugins.version>1.5.0</cbi-plugins.version> | ||
<os-jvm-flags/> | ||
<eclipse-repo.url>https://repo.eclipse.org/content/repositories/cbi/</eclipse-repo.url> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This URL, for not being a p2 repo, seems to be specific to Eclipse CBI projects, rather than being some dependency URL, no?
pom.xml
Outdated
<repository> | ||
<id>eclipse</id> | ||
<layout>p2</layout> | ||
<url>http://download.eclipse.org/releases/2024-12</url> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Depending on an Eclipse release newer than 2022-12 requires a major revision bump.
Feel free to add another commit doing the major revbump.
target-platforms/default.tpd
Outdated
with source requirements | ||
environment JavaSE-17 | ||
|
||
location "https://download.eclipse.org/eclipse/updates/4.32" { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use the repository that has the timestamp in the URL, if available, to increase reproducability of the build.
However, shouldn't we better use the Eclipse "release" here, rather than the "update"?
Let me invite @Bananeweizen to review this PR as well! |
The whole project has been restructured so that it can be built using Maven and Tycho. The name of the resulting JAR files contains the date of the last commit as well as in case of local builds, the suffix -UNOFFICIAL. Additionally, the project now supports Github actions, where the code is compiled and the resulting build artifacts can be downloaded. Builds triggered by pull requests contain the suffix -PR followed by the pull request id.