Hey all, in this mail I want to share my experiences / thouhgts I had on my way from the decision to contribute some code to the Maven project, because I think there are some things which may be improved. But before creating issues about that I wanted to write here, as it's heavly opinion based (obviously ;) ).
To my background: At my work I don't code that much as some years ago, but do a lot of team lead, mentoring and (not only as part of the first two things) documentation (funny enough one of the documentation I currectly overhaul is the one for onboarind new team members and get them to work). I'm also one of the maintainers of the JUnit extension library "Pioneer" where I primely care about issues and documentation. --- IDE setup and code style: When I decided trying to contribute some small code fragements as a first step I first tried to setup my IDE. So I checked the coding rules on the Code style page (https://maven.apache.org/developers/conventions/code.html) As I'm more used to Eclipse and it's workspace concept I tried to set up this first. Imported the "import order"-file and all except coding style. I read the instructions to compile the palantir Java plugin (never heart about palantir before) which worked (I think, needed to switch to an older JDK for it) but I noticed nothing in Eclipse of it. So I tried IntelliJ as I read on the plugin page that it is available in the plugin store there. As not that familiar it took quite a long time for me to set up a project (workspace) with multiple maven modules, but finally I got it. And also got the palantir plugin to worked. To finish the story of coding style: After I coded somthing the build failed as the Spotless plugin said my code does not match the style. That confused me quite a lot as that should be done by the planatir plugin. But in some places it did not what the spotless check wanted to have. I then decided so give a **** about palantir and only use spotless. I think a statement on the website that the spotless plugin is configured and can/should be used would make it easier I think Mojo docs: After I've set up my IDE I wanted to know how plugins work so I took the Mojo docs and tried to understand by using a quite simple plugin (clean plugin) When I read the "Common Bugs and Pitfalls" page (https://maven.apache.org/plugin-developers/common-bugs.html) I was very confused by the code examples. First I wondered why they are all labeld with fixme and therefore not up to date? I then realized that all code examples are the "don't do it that way" examples, but the "how you do it right" is only written in text (or not at all, e.g. the Logging example) - without any code examples. From my experience with juniors at my work and from how (many) people in the internet people mostly only look at the code examples without further reading the sentences around the examples. I think Benjamin agrees me about that, do you? ;) (https://x.com/bmarwell/status/1751539018389475558?s=20) Logging: Information about loggin are wide spreaded and I think that's not good. - At "Maven 3.1.x loggin" what framework Maven uses, but there is not shown how to get the correct logger or logging example - At the pitfalls page only the bad one is shown, but not the correct one - At the "Maven loggin" page it shows that you should you use "Logger.getLogger" but in mosts Mojo codes of plugins (let's take a SNAPSHOT of the maven site plugin) always "getLog()" is used and it took me some time to understand the difference to the pitfalls page bad example I suggest to bring that in line and connect it more or centralize it. Integration tests: I find it hard to find a good documentation about how to write and execute integration tests. On the "testing a plugin" page there is a link to a wiki article from 2018. Doesn't make me feel compfortable. Other: - There's a "TODO creating and using custom packaging" at the plugin developer centre start page. - There's a formatting error on the pitfalls page - I opend my first PR about three weeks ago and didn't get any response yet. I know all do this in their spare time and I wouldn't expect responses when opening issues (and I didn't get one since months on my first JIRA issue), but from my expierence it's always good to show at least some reaction (esp. to new contributes) - even if it's only to thank him and to tell him that a review may be delayed. I know I'm not yet deep into Maven, but I wanted to share my thoughts of my first steps. Have a good weekend Matthias --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
