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]

Reply via email to