Closed rdlopes closed 2 years ago
Oh wow, I've just seen your recent updates, you've been busy ^^ So Maven is updated, that's neat!
Hey @rdlopes, regarding modernizing the code base, you're absolutely right! This project started a while ago and I think it was just recently that we migrated to Java 8.
About the logger, I still think we can rely on the standard one, I know it's painful but it will cause less trouble to the users of cukector, unless you have a use case where a different logger would be needed.
Would you allow such a refresh?
Definitely, let's go for it. We have quite an extensive test suite which will help us in any refactoring. I'd happily review and approve the PRs ;)
There would be backward compatibilities issues of course, but older users could still use versions up to 3.7.0.
I'm releasing 3.8.0 now and if let's say we decide to move to stay in JDK 8 but make a lot of internal refactorings to make the code clean/lean but keep the same API then we can just release 3.9.0 but if for example, we move to Java 11 or break change current API I'd go for v 4.0.
@andrewesweet is helping a lot with the project and might also weigh in but I'm all in for modernizing the code, I think it's also a go way for new contributors like you to learn the codebase.
Cherers!
Glad to hear @rmpestano !
Hey @andrewesweet, nice to meet you, I'm Rui, new to contributing but I'm actually quite experienced with cukedoctor and cucumber, I've been using them for years now ^^
I actually have a repo with cukedoctor 3.7.0, cucumber 7 and junit5
I plan to:
Don't know up to where I'm going to fill my duty, but I feel the need to pay back to cukedoctor, this lib has been a great companion over the years !
Will push progress and PRs here.
BTW, do you have formatting rules ? If none, I would suggest google-java-format cause it's a universal standard, but some have strong opinions on formatting.
switch to Java 17, latest LTS for Java
I think we can agree on Java 11 for baseline as it's quite adopted, I think if we go for 17 we might block a lot of users from upgrading cukdoctor
BTW, do you have formatting rules ? I would suggest google-java-format cause it's a universal standard, but some have strong opinions on formatting.
We don't have any. Personally at work I always rely on IntelliJ defaults but I agree that we should define one for this project as we might have contributors using different ides.
I think google one is fine, I just suggest to do all the formating it in one separated PR.
OK, so formatting will go first, I activated the dynamic analyzes on my IntelliJ and it's red and yellow all over the place 😰 PR #265 has been created for that matter.
I think we can agree on Java 11 for baseline as it's quite adopted, I think if we go for 17 we might block a lot of users from upgrading cukedoctor
They have the option to stay on 3.8.0, I have doubts on not upgrading to latest LTS, Java 11 is from September 2018 and vulnerabilities are usually not an option for Java professionals.
Thing is, what's the use of upgrading if that's for falling into a deprecated version soon again?
Thing is, what's the use of upgrading if that's for falling into a deprecated version soon again?
Mainly because some developers rely on the infrastructure that their organization have and are not in control of which JDK their CI runs. I think we should upgrade once the JDK 17 adoption increases and I think that won't take too much as Spring is setting Java 17 as baseline for Spring 6 and Boot 3, that will speed up adoption I guess.
OK, so be it. I created #266 for fixing the remaining warnings/errors during build and build output, but I need to rebase first.
Noticed two things:
For 2. I guess the project cukedoctor-converter should be dependent on the last RELEASE version and not on the snapshot. Maven does not allow cyclic dependencies in tree graph :-(
For 2. I guess the project cukedoctor-converter should be dependent on the last RELEASE version and not on the snapshot. Maven does not allow cyclic dependencies in tree graph :-(
I think if we do that then cukedoctor maven plugin won't use latest converter when pushing to maven central, unless we release then separately
Nevermind, you're talking about cukectodor maven plugin used by the converter to generate cukedoctor docs...I think we can do what you suggested, yes.
Normally we need to separate between dependencies and usage.
But there's a nice thing coming up with your latest changes: We can use the LATEST keyword in Maven since you have updated the Maven version.
Sorry for the mess on last PR; created #267 for a clean base, formatting killed me!
Hi there, created #270 to update to JDK 11. This PR will be the second to last, before the update of language constructs in the code.
@rmpestano you were mentioning a Jenkins plugin to replace ? I should probably do this before updating source code with Java 11 constructs.
you were mentioning a Jenkins plugin to replace ? I should probably do this before updating source code with Java 11 constructs.
@rdlopes currently the plugin is discontinued because we had so many issues with Jenkins and AsciidoctorJ. One idea is to provide Antora integration (#178) so we have a simple way to publish the documentation generated by Cukedoctor.
To sumup we can move forward and upgrade to 11
Hi folks, here's the last PR for that issue #271 - removing a few code smells spotted by Sonar.
Hi Raphaël, hope you're well, as I understand the structure of the code, it's still using JDK 8/11 and Maven 3.3.3.
I have noticed a few other things:
I am sure that we could benefit from refreshing the project a bit, up to a great bump in performance.
Would you allow such a refresh? There would be backward compatibilities issues of course, but older users could still use versions up to 3.7.0. Newer users would benefit from the bump-up, version 4.0.0 I guess (if you follow semantic versioning).