You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2024/08/16 16:16:00 UTC

[jira] [Commented] (MNG-8214) Allow extension of the model classes being generated with model.vm

    [ https://issues.apache.org/jira/browse/MNG-8214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17874310#comment-17874310 ] 

ASF GitHub Bot commented on MNG-8214:
-------------------------------------

kwin opened a new pull request, #1660:
URL: https://github.com/apache/maven/pull/1660

   This makes the constructor protected and takes the Builder as argument
   
   Following this checklist to help us incorporate your
   contribution quickly and easily:
   
    - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MNG) filed
          for the change (usually before you start working on it).  Trivial changes like typos do not
          require a JIRA issue. Your pull request should address just this issue, without
          pulling in other changes.
    - [ ] Each commit in the pull request should have a meaningful subject line and body.
    - [ ] Format the pull request title like `[MNG-XXX] SUMMARY`,
          where you replace `MNG-XXX` and `SUMMARY` with the appropriate JIRA issue.
    - [ ] Also format the first line of the commit message like `[MNG-XXX] SUMMARY`.
          Best practice is to use the JIRA issue title in both the pull request title and in the first line of the commit message.
    - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will
          be performed on your pull request automatically.
    - [ ] You have run the [Core IT][core-its] successfully.
   
   If your pull request is about ~20 lines of code you don't need to sign an
   [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
   please ask on the developers list.
   
   To make clear that you license your contribution under
   the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
    - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   
    - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   [core-its]: https://maven.apache.org/core-its/core-it-suite/
   




> Allow extension of the model classes being generated with model.vm
> ------------------------------------------------------------------
>
>                 Key: MNG-8214
>                 URL: https://issues.apache.org/jira/browse/MNG-8214
>             Project: Maven
>          Issue Type: Improvement
>    Affects Versions: 4.0.0-beta-3
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>
> The [model.vm|https://github.com/apache/maven/blob/master/src/mdo/model.vm] being used with Maven 4 models generates immutable classes with builders. 
> The generated classes cannot be extended easily because
> # the builder's constructor is having default access instead of being protected (https://github.com/apache/maven/blob/e335f95dfd11468bdf617421fd5e7093a727d1e1/src/mdo/model.vm#L409 and https://github.com/apache/maven/blob/e335f95dfd11468bdf617421fd5e7093a727d1e1/src/mdo/model.vm#L427
> # the builder's build method doesn't rely on generics. Instead an additional constructor should be added which takes a parameterized builder object (like outlined in https://stackoverflow.com/a/17165079)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)