-
Notifications
You must be signed in to change notification settings - Fork 145
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
Upgrade CS #771
Upgrade CS #771
Conversation
@@ -16,8 +16,8 @@ | |||
<properties> | |||
<project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding> | |||
<!-- It is compile dependency to checkstyle, this version has to be the same as eclipse-cs depends on --> | |||
<checkstyle.eclipse-cs.version>8.18</checkstyle.eclipse-cs.version> | |||
<checkstyle.configLocation>https://raw.githubusercontent.com/checkstyle/checkstyle/checkstyle-${checkstyle.eclipse-cs.version}/config/checkstyle_checks.xml</checkstyle.configLocation> | |||
<checkstyle.version>8.23</checkstyle.version> |
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 isn't possible.
Sevntu-checks may be fine, but eclipsecs-sevntu-plugin won't work because eclipse-cs hasn't been upgraded yet.
Sevntu is currently entirely dependent on eclipse-cs version.
New property name is very misleading in that it makes you think it is only a checkstyle dependency and not an eclipse-cs one.
I don't see how this can be merged unless we split apart version numbering between sevntu and eclipsecs-sevntu-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.
I still can get the meaning of checkstyle.eclipse-cs.version
then.
How it is connected with eclipse-cs, given
sevntu.checkstyle/.ci/travis.sh
Lines 15 to 18 in 9765a3b
git clone https://github.com/checkstyle/eclipse-cs.git | |
cd eclipse-cs/ | |
git checkout 8.12.0 | |
mvn -e install |
and
sevntu.checkstyle/eclipsecs-sevntu-plugin/pom.xml
Lines 27 to 31 in 9765a3b
<properties> | |
<eclipsecs.version>8.12.0-SNAPSHOT</eclipsecs.version> | |
</properties> | |
Is that rather CS - eclipse-cs - sevntu compatibility level or something?
How does checkstyle.eclipse-cs.version
influence dependency to eclipse-cs?
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.
Sevntu is a library, just like checkstyle. Sevntu requires the checkstyle dependency.
eclipsecs-sevntu-plugin is a plugin which has sevntu as a dependency.
https://github.com/sevntu-checkstyle/sevntu.checkstyle/blob/master/eclipsecs-sevntu-plugin/pom.xml#L34-L36
It also has a dependency on the main eclipse-cs project which requires it's own checkstyle version.
https://github.com/sevntu-checkstyle/sevntu.checkstyle/blob/master/eclipsecs-sevntu-plugin/pom.xml#L38-L47
This is the great circle of life.
So eclipsecs-sevntu-plugin for version X requires sevntu version X which then relies on checkstyle version Y through sevntu and checkstyle version Y through eclipse-cs.
If you upgrade checkstyle version to Z, sevntu pulls that in and may work fine by itself. The problem is then eclipsecs-sevntu-plugin pulls in that same sevntu version and tries to work with that version of checkstyle while also working with eclipse-cs version of checkstyle which we know isn't version Z.
Since 2 versions aren't compatible by the updates you are required to make in this PR, something will break if we move sevntu's checkstyle version to be later than what eclipse-cs has released.
The only way to really fix this issue is either have eclipse-cs update to newer versions or break our current versioning system and allow eclipsecs-sevntu-plugin to stay stale until eclipse-cs is updated and allow new releases of sevntu alone.
I hope that helps explain the problem better.
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.
sevntu.checkstyle/.ci/travis.sh
Lines 15 to 18 in 9765a3b
git clone https://github.com/checkstyle/eclipse-cs.git | |
cd eclipse-cs/ | |
git checkout 8.12.0 | |
mvn -e install |
Since sevntu is on checkstyle 8.18 , it looks like this SH file is outdated by displaying 8.12 unless I am missing something.
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.
Thank you for your rich response.
allow eclipsecs-sevntu-plugin to stay stale until eclipse-cs is updated and allow new releases of sevntu alone.
[As I do not use that plugin...] I'd second such solution! 😁
I hope that helps explain the problem better.
Indeed it does, thank you.
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.
@romani ping
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.
allow eclipsecs-sevntu-plugin to stay stale until eclipse-cs is updated and allow new releases of sevntu alone.
Yesterday I was enthusiastic about that idea as it would solve my problem. But now that I put some boxes and arrows on paper I really like that. (Not for plugin to be stale, but to separate them.) And perhaps sonar plugin as well...
Oh, I just found #705, I'll get familiar with that. It has no labels nor milestones set though. I assume you are processing it in background anyway.
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 put an approved label on it. We don't put on milestones until it is completed.
Understood. |
Mandatory to understand and do:
0) Issue you are trying to fix/resolve has to have "approved" label.
a) Must match one of the following patterns:\n"
^Issue #\d+: .$
^Pull #\d+: .$
^(minor|config|infra|doc|spelling): .*$
b) It contains only one line of text
c) Must not end with a period, space, or tab
To avoid multiple iterations of fixes and CIs failures, please read http://checkstyle.sourceforge.net/contributing.html
ATTENTION: We are not merging Pull Requests that not passing our CIs, but we help to resolve issues.
Thanks for reading, remove whole this message and type what you need.