[
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)