[ 
https://issues.apache.org/jira/browse/FLINK-32734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthias Pohl updated FLINK-32734:
----------------------------------
    Description: 
FLINK-28016 allowed Flink to switch to newer (i.e. 3.2.5+) Maven versions. 
Maven 3.3.1 introduced certain local configuration files that are automatically 
injected (e.g. {{.mvn/jvm.options}} and {{.mvn/maven.config}}).

The former one is actively used (and checked into the repository) to define 
certain Java-related requirements. {{.mvn/maven.config}} instead, is not 
utilized right now. It can be used, though, to customize the Maven execution to 
once needs (e.g. always skipping {{flink-runtime-web}} through 
{{-Pskip-webui-build}}).

To be fair, that would be also possible through the 
{{${user.home}/.m2/settings.xml}} through profiles. There are certain 
configuration parameters, though, that are not configurable easily through 
profiles.

Configuring a checkout-specific local repository isn't possible. 
Checkout-specific local repositories are handy, though when working in multiple 
Flink checkouts (e.g. one checkout for reviews and one for contributions). 
Using a single local repository would cause problems when working on a branch 
locally while reviewing other PRs (and checking them out) that touch the same 
files.

A workaround for such a scenario would be to have a checkout-specific 
settings.xml that specifies a checkout-specific local repository.

To support this, I'm suggesting to add {{.mvn/maven.config}} to {{.gitignore}} 
for now. That would allow the developer to enable specific Maven parameters by 
default that match his/her needs. We can revert this change as soon as we 
identify the need to have this file included in the repository.

  was:
FLINK-28016 allowed Flink to switch to newer (i.e. 3.2.5+) Maven versions. 
Maven 3.3.1 introduced certain local configuration files that are automatically 
injected (e.g. {{.mvn/jvm.options}} and {{.mvn/maven.config}}).

The former one is actively used (and checked into the repository) to define 
certain Java-related requirements. {{.mvn/maven.config}} instead, is not 
utilized right now. It can be used, though, to customize the Maven execution to 
once needs (e.g. always skipping {{flink-runtime-web}} through 
{{-Pskip-webui-build}}).

To be fair, that would be also possible through the 
{{${user.home}/.m2/settings.xml}} through profiles. There are certain 
configuration parameters, though, that are not configurable easily through 
profiles.

Configuring a checkout-specific local repository isn't possible. 
Checkout-specific local repositories are handy, though when working in multiple 
Flink checkouts (e.g. one checkout for reviews and one for contributions). 
Using a single local repository would cause problems when working on a branch 
locally while reviewing other PRs (and checking them out) that touch the same 
files.

A workaround for such a scenario would be to have a checkout-specific 
settings.xml that specifies a checkout-specific local repository.

To support this, I'm suggesting to add {{.mvn/maven.config}} to {{.gitignore}} 
for now. That would allow the developer to enable specific Maven parameters by 
default that match his/her needs.


> Add .mvn/maven.config to .gitignore
> -----------------------------------
>
>                 Key: FLINK-32734
>                 URL: https://issues.apache.org/jira/browse/FLINK-32734
>             Project: Flink
>          Issue Type: Improvement
>          Components: Build System
>    Affects Versions: 1.18.0, 1.19.0
>            Reporter: Matthias Pohl
>            Assignee: Matthias Pohl
>            Priority: Major
>              Labels: pull-request-available
>
> FLINK-28016 allowed Flink to switch to newer (i.e. 3.2.5+) Maven versions. 
> Maven 3.3.1 introduced certain local configuration files that are 
> automatically injected (e.g. {{.mvn/jvm.options}} and {{.mvn/maven.config}}).
> The former one is actively used (and checked into the repository) to define 
> certain Java-related requirements. {{.mvn/maven.config}} instead, is not 
> utilized right now. It can be used, though, to customize the Maven execution 
> to once needs (e.g. always skipping {{flink-runtime-web}} through 
> {{-Pskip-webui-build}}).
> To be fair, that would be also possible through the 
> {{${user.home}/.m2/settings.xml}} through profiles. There are certain 
> configuration parameters, though, that are not configurable easily through 
> profiles.
> Configuring a checkout-specific local repository isn't possible. 
> Checkout-specific local repositories are handy, though when working in 
> multiple Flink checkouts (e.g. one checkout for reviews and one for 
> contributions). Using a single local repository would cause problems when 
> working on a branch locally while reviewing other PRs (and checking them out) 
> that touch the same files.
> A workaround for such a scenario would be to have a checkout-specific 
> settings.xml that specifies a checkout-specific local repository.
> To support this, I'm suggesting to add {{.mvn/maven.config}} to 
> {{.gitignore}} for now. That would allow the developer to enable specific 
> Maven parameters by default that match his/her needs. We can revert this 
> change as soon as we identify the need to have this file included in the 
> repository.



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

Reply via email to