Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Better build and installation support #209
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
base: master
Are you sure you want to change the base?
Better build and installation support #209
Changes from 39 commits
b61eaaa
1ddd312
4886f3f
11cf7d8
b91070e
b848783
480fb6c
f405787
62fa4ab
014c16f
6753016
9842b14
f36b16e
713cf5d
ab586bd
e7b7148
214a621
c1aab36
37aa04c
73d37cf
791268b
45c5fc6
6458a32
5b375f5
1741cc1
ae51390
31a0cda
05e8944
2c8d08e
a904b5f
13ce050
0780bfd
4e6b747
6124998
fd9f0d1
3895c4c
1b64c1c
e5f8ac6
b7f6acf
ed544cd
87b2fb7
882cfe6
875dbf5
60d41a9
979d6aa
2f17155
e01bbc2
742b6c1
d305ce0
52d976f
537339b
886c0a6
68e88d6
31475f4
b475ce2
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
I also saw this in the GH actions build ...
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.
the du is just because sometimes upload might fail a bit silently if the files are too large, it also makes sure it's about the right size (some MB) so it was (maybe) built correctly
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 travis file is obsolete, they stopped offering free service for open source projects so I now only use GH actions. So this file can be deleted it is overridden by the Gh workflow file.
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.
How does this get here? I see that the jar is removed, but now it is being referenced as a plug-in. Where did the plug-in come from?
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.
I guess you mean the objenesis dependency.
The plugin is resolved directly in the Nexus central :
https://github.com/yanntm/Optimize-Java-8-Streams-Refactoring/blob/master/edu.cuny.hunter.streamrefactoring.parent/pom.xml#L149-L152
A lot of third-party artifacts are released there, among which is this objenesis dependency. https://mvnrepository.com/artifact/org.objenesis/objenesis
This is not as good as grabbing it from Orbit, because Orbit is a "simultaneous release" of components that are tested and interact well together and with the version of eclipse platform we are targetting. But it avoids at least repackaging our own, and lets us update automatically if a new version is released to maven central. It certainly is better than having a copy of the jar in our lib/ folder.
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's wrong with
Import-Package
?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.
"Import-Package" means that this particular package should exist in the platform, but you are not specifying the plugin that provides it.
So it is a weakly declared dependency, in the sense you cannot actually import the package unless it is present in your platform (i.e. it has been installed).
Moving this dependency declaration to a "Require-Bundle" means that maven and eclipse p2 both understand the dependency and will deal with it appropriately (i.e. by deploying the plugin you depend on, and its own dependencies). So for a "managed" build it is recommended not to use "Import-Package", I removed mostly all of those.
The problem is then to find a "bundle" or plugin that provides the required package. We can resolve such artifacts in the update sites we provide to maven :
https://github.com/yanntm/Optimize-Java-8-Streams-Refactoring/blob/master/edu.cuny.hunter.streamrefactoring.parent/pom.xml#L109-L153
In this place I put the WALA and SAFE repositories, as well as point "orbit" which is an eclipse project providing quite a few common utilities packaged as bundles so we can use them in this kind of integration scenario. e.g. this is where we resolve dependencies on apache stuff https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/
For instance this is where we now resolve org.apache.commons.csv dependencies (instead of packaging them ourselves in .eval plugin)
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.
Oh, interesting. I didn't know about that. Thanks!