This is an automated email from the ASF dual-hosted git repository.

martinkanters pushed a change to branch 
feature/MNG-7338-automatic-non-interactive-mode-in-ci
in repository https://gitbox.apache.org/repos/asf/maven.git


    from f6bb2befd [MNG-7338] Automatically activate batch-mode and make output 
quiet when running in CI.
     add 38ba58163 correct comment (#1074)
     add b2b04d2e9 [MNG-7749] Upgrade animal-sniffer from 1.21 to 1.23
     add 8421a3659 [MNG-6825] Replace StringUtils (#1078)
     add 26056b9b2 [MNG-7756] The degree of concurrency does not support "2." 
as a factor
     add b2ee29e03 [MNG-6825] Get rid of commons-lang
     add 53b647323 [MNG-7754] Improvement and extension of plugin validation 
(#1079)
     add 328ea1be3 [MNG-7750] Ensure no unwanted interpolation in plugins from 
profiles. (#1076)
     add 432bd7af3 [MNG-7741] Track missing files, plugin and parent pom 
dependencies (#1058)
     add b7a3d8571 Simplify logger creation leveraging Map.computeIfAbsent
     add d7d854466 [MNG-7765] - Minimum Build Requirement is wrong
     add c49c4e0b1 [MNG-7451] - Remove public modifier from test methods / test 
classes
     add 5c750eacb [MNG-7766] - Migrate to use mockito-bom 4.11.0
     add 0a6721927 [MNG-7753] Upgrade resolver to 1.9.8 (was 1.9.7).
     add 9e51a8fe9 [MNG-7763] Provide UTF-8 as a default value for 
project.build.sourceEncoding and project.reporting.outputEncoding (#1085)
     add 2db7c85b6 [MNG-7038] Introduce public properties to point to the root 
and top directories of (multi-module) project (#1061)
     add 81231b886 [MNG-7707] Skip consumer pom artifact transformation when no 
pom is available (fixes #1060)
     add 8b8f2c3dd [MNG-7767] Tone down plugin validator (#1092)
     add 366774735 Merge branch 'master' into 
feature/MNG-7338-automatic-non-interactive-mode-in-ci

No new revisions were added by this update.

Summary of changes:
 README.md                                          |   2 +-
 .../apache/maven/settings/GlobalSettingsTest.java  |   4 +-
 .../main/java/org/apache/maven/api/Project.java    |  37 ++
 .../main/java/org/apache/maven/api/Session.java    |  29 +-
 api/maven-api-model/src/main/mdo/maven.mdo         |  13 +
 .../apache/maven/api/settings/SettingsTest.java    |   2 +-
 maven-artifact/pom.xml                             |   7 -
 .../org/apache/maven/artifact/ArtifactUtils.java   |  12 +-
 .../artifact/versioning/ComparableVersion.java     |   2 +-
 .../versioning/DefaultArtifactVersion.java         |  15 +-
 .../apache/maven/artifact/ArtifactUtilsTest.java   |   8 +-
 .../apache/maven/artifact/DefaultArtifactTest.java |  26 +-
 .../artifact/versioning/ComparableVersionIT.java   |   4 +-
 .../artifact/versioning/ComparableVersionTest.java |  30 +-
 .../versioning/DefaultArtifactVersionTest.java     |  16 +-
 .../artifact/versioning/VersionRangeTest.java      |  22 +-
 .../building/DefaultProblemCollectorTest.java      |   6 +-
 .../apache/maven/building/DefaultProblemTest.java  |  16 +-
 .../org/apache/maven/building/FileSourceTest.java  |  10 +-
 .../building/ProblemCollectorFactoryTest.java      |   4 +-
 .../apache/maven/building/StringSourceTest.java    |   8 +-
 .../org/apache/maven/building/UrlSourceTest.java   |   8 +-
 .../repository/metadata/MetadataBridge.java        |   5 +-
 .../artifact/deployer/ArtifactDeployerTest.java    |  12 +-
 .../factory/DefaultArtifactFactoryTest.java        |   4 +-
 .../artifact/installer/ArtifactInstallerTest.java  |   4 +-
 .../repository/MavenArtifactRepositoryTest.java    |   4 +-
 .../resolver/ArtifactResolutionExceptionTest.java  |   4 +-
 .../artifact/resolver/ArtifactResolverTest.java    |  19 +-
 .../resolver/DefaultArtifactResolverTest.java      |   6 +-
 .../resolver/filter/AndArtifactFilterTest.java     |   4 +-
 .../resolver/filter/FilterHashEqualsTest.java      |   4 +-
 .../resolver/filter/OrArtifactFilterTest.java      |   4 +-
 .../resolver/filter/ScopeArtifactFilterTest.java   |  12 +-
 .../transform/TransformationManagerTest.java       |   4 +-
 .../manager/DefaultProfileManagerTest.java         |  14 +-
 .../apache/maven/project/ProjectClasspathTest.java |   4 +-
 .../apache/maven/project/TestProjectBuilder.java   |   7 +-
 .../inheritance/t00/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t01/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t02/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t03/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t04/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t05/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t06/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t07/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t08/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t09/ProjectInheritanceTest.java    |   6 +-
 .../inheritance/t10/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t11/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t12/ProjectInheritanceTest.java    |   4 +-
 .../inheritance/t12scm/ProjectInheritanceTest.java |   6 +-
 .../project/path/DefaultPathTranslatorTest.java    |   8 +-
 .../repository/DefaultMirrorSelectorTest.java      |   4 +-
 .../repository/LegacyRepositorySystemTest.java     |   6 +-
 .../maven/repository/MirrorProcessorTest.java      |  18 +-
 .../legacy/DefaultUpdateCheckManagerTest.java      |  16 +-
 .../repository/legacy/DefaultWagonManagerTest.java |  18 +-
 .../legacy/LegacyRepositorySystemTest.java         |   6 +-
 .../resolver/DefaultArtifactCollectorTest.java     |  81 ++--
 .../conflict/FarthestConflictResolverTest.java     |  10 +-
 .../conflict/NearestConflictResolverTest.java      |  10 +-
 .../conflict/NewestConflictResolverTest.java       |  10 +-
 .../conflict/OldestConflictResolverTest.java       |  10 +-
 .../DefaultClasspathTransformationTest.java        |  14 +-
 .../DefaultGraphConflictResolutionPolicyTest.java  |   8 +-
 .../metadata/DefaultGraphConflictResolverTest.java |  14 +-
 maven-core/pom.xml                                 |  13 +-
 .../DefaultBeanConfigurationRequest.java           |  14 +-
 .../DefaultBuildResumptionDataRepository.java      |   6 +-
 .../execution/DefaultMavenExecutionRequest.java    |  33 ++
 .../maven/execution/MavenExecutionRequest.java     |  47 +++
 .../org/apache/maven/execution/MavenSession.java   |  21 +
 .../aether/ReverseTreeRepositoryListener.java      | 163 ++++++--
 .../impl/DefaultArtifactCoordinateFactory.java     |  13 +-
 .../internal/impl/DefaultArtifactFactory.java      |  13 +-
 .../apache/maven/internal/impl/DefaultProject.java |  16 +
 .../apache/maven/internal/impl/DefaultSession.java |  13 +-
 .../ConsumerPomArtifactTransformer.java            |   7 +
 .../maven/plugin/PluginValidationManager.java      |  55 +++
 .../AbstractMavenPluginDependenciesValidator.java  |  55 +++
 ...PluginDescriptorSourcedParametersValidator.java |   6 +
 .../AbstractMavenPluginParametersValidator.java    |  40 +-
 .../plugin/internal/DefaultMavenPluginManager.java |  23 +-
 .../DefaultPluginDependenciesResolver.java         |  20 +-
 .../internal/DefaultPluginValidationManager.java   | 276 +++++++++++++
 .../DeprecatedCoreExpressionValidator.java         |  21 +-
 .../plugin/internal/DeprecatedPluginValidator.java |  41 +-
 .../internal/Maven2DependenciesValidator.java      |  63 +++
 .../internal/MavenMixedDependenciesValidator.java  |  60 +++
 .../MavenPluginConfigurationValidator.java         |   5 +-
 ....java => MavenPluginDependenciesValidator.java} |  18 +-
 .../MavenPluginJavaPrerequisiteChecker.java        |   3 +-
 .../internal/MavenScopeDependenciesValidator.java  |  62 +++
 ...lexusContainerDefaultDependenciesValidator.java |  53 +++
 .../ReadOnlyPluginParametersValidator.java         |  24 +-
 .../maven/project/DefaultProjectBuilder.java       |  14 +-
 .../org/apache/maven/project/MavenProject.java     |  20 +
 .../project/artifact/ProjectArtifactMetadata.java  |   5 +-
 .../rtinfo/internal/DefaultRuntimeInformation.java |  11 +-
 .../java/org/apache/maven/DefaultMavenTest.java    |   8 +-
 .../maven/MavenLifecycleParticipantTest.java       |   6 +-
 .../maven/ProjectDependenciesResolverTest.java     |   6 +-
 .../artifact/handler/ArtifactHandlerTest.java      |   8 +-
 .../filter/ExclusionArtifactFilterTest.java        |  22 +-
 .../DefaultBeanConfiguratorPathTest.java           |  12 +-
 .../configuration/DefaultBeanConfiguratorTest.java |  12 +-
 .../exception/DefaultExceptionHandlerTest.java     |   8 +-
 .../DefaultBuildResumptionAnalyzerTest.java        |  14 +-
 .../DefaultBuildResumptionDataRepositoryTest.java  |  12 +-
 .../DefaultMavenExecutionRequestPopulatorTest.java |   4 +-
 .../maven/execution/DefaultMavenExecutionTest.java |   6 +-
 .../scope/internal/MojoExecutionScopeTest.java     |   6 +-
 .../maven/graph/DefaultGraphBuilderTest.java       |   2 +-
 .../graph/DefaultProjectDependencyGraphTest.java   |  19 +-
 .../maven/internal/MultilineMessageHelperTest.java |   6 +-
 .../aether/ReverseTreeRepositoryListenerTest.java  |  25 +-
 .../maven/internal/impl/DefaultSessionTest.java    |  62 +++
 .../maven/internal/impl/PropertiesAsMapTest.java   |   4 +-
 .../org/apache/maven/internal/impl/TestApi.java    |   2 +-
 .../maven/internal/impl/TestRepositorySystem.java  |   5 +-
 .../ConsumerPomArtifactTransformerTest.java        |  27 +-
 .../maven/lifecycle/DefaultLifecyclesTest.java     |  14 +-
 .../lifecycle/LifecycleExecutorSubModulesTest.java |   4 +-
 .../maven/lifecycle/LifecycleExecutorTest.java     |  24 +-
 .../maven/lifecycle/MavenExecutionPlanTest.java    |  10 +-
 .../internal/BuildListCalculatorTest.java          |   4 +-
 .../internal/ConcurrencyDependencyGraphTest.java   |   6 +-
 .../internal/LifecycleDependencyResolverTest.java  |   4 +-
 .../LifecycleExecutionPlanCalculatorTest.java      |   4 +-
 .../internal/LifecycleModuleBuilderTest.java       |   4 +-
 .../LifecycleTaskSegmentCalculatorImplTest.java    |   4 +-
 .../lifecycle/internal/PhaseRecorderTest.java      |   4 +-
 .../lifecycle/internal/ProjectBuildListTest.java   |   4 +-
 .../internal/builder/BuilderCommonTest.java        |  12 +-
 .../ConcurrencyDependencyGraphTest.java            |   4 +-
 .../multithreaded/ThreadOutputMuxerTest.java       |   6 +-
 .../stub/ProjectDependencyGraphStubTest.java       |  10 +-
 .../lifecycle/mapping/LifecyclePhaseTest.java      |   6 +-
 .../org/apache/maven/plugin/PluginManagerTest.java |  24 +-
 .../maven/plugin/PluginParameterExceptionTest.java |  10 +-
 .../PluginParameterExpressionEvaluatorTest.java    |  66 ++-
 ... PluginParameterExpressionEvaluatorV4Test.java} |  87 +++-
 .../plugin/internal/DefaultLegacySupportTest.java  |   4 +-
 .../plugin/internal/MavenPluginValidatorTest.java  |  10 +-
 .../project/DefaultMavenProjectBuilderTest.java    |  30 +-
 .../project/ExtensionDescriptorBuilderTest.java    |  10 +-
 .../org/apache/maven/project/MavenProjectTest.java |  24 +-
 .../apache/maven/project/PomConstructionTest.java  | 452 +++++++++++++++------
 .../apache/maven/project/ProjectBuilderTest.java   |  34 +-
 .../maven/project/ProjectModelResolverTest.java    |  23 +-
 .../apache/maven/project/ProjectSorterTest.java    |  26 +-
 .../artifact/DefaultMavenMetadataCacheTest.java    |   6 +-
 .../artifact/DefaultProjectArtifactsCacheTest.java |   6 +-
 .../project/artifact/MavenMetadataSourceTest.java  |   8 +-
 .../canonical/CanonicalProjectBuilderTest.java     |   4 +-
 .../maven/repository/TestRepositoryConnector.java  |  16 +-
 .../internal/DefaultRuntimeInformationTest.java    |   6 +-
 .../settings/PomConstructionWithSettingsTest.java  |  10 +-
 .../apache/maven/settings/SettingsUtilsTest.java   |   6 +-
 .../DefaultToolchainManagerPrivateTest.java        |  12 +-
 .../toolchain/DefaultToolchainManagerTest.java     |  16 +-
 .../maven/toolchain/DefaultToolchainTest.java      |  16 +-
 .../toolchain/RequirementMatcherFactoryTest.java   |   6 +-
 .../plugin-interpolation-build/pom.xml             | 123 ++++++
 .../plugin-interpolation-reporting/pom.xml         | 123 ++++++
 maven-embedder/pom.xml                             |   4 -
 .../org/apache/maven/cli/CLIReportingUtils.java    |  10 +-
 .../main/java/org/apache/maven/cli/CliRequest.java |   5 +
 .../main/java/org/apache/maven/cli/MavenCli.java   |  98 +++--
 .../transfer/AbstractMavenTransferListener.java    |  22 +-
 .../cli/transfer/ConsoleMavenTransferListener.java |   4 +-
 .../maven/cli/CLIManagerDocumentationTest.java     |   6 +-
 .../apache/maven/cli/CLIReportingUtilsTest.java    |   4 +-
 .../org/apache/maven/cli/CleanArgumentTest.java    |   8 +-
 .../java/org/apache/maven/cli/MavenCliTest.java    |  62 +--
 .../maven/cli/event/ExecutionEventLoggerTest.java  |   6 +-
 .../maven/cli/transfer/FileSizeFormatTest.java     |  18 +-
 .../src/test/projects/root-attribute/child/pom.xml |   3 +
 .../src/test/projects/root-attribute/pom.xml       |   3 +
 .../model/building/DefaultModelBuilderFactory.java |  18 +-
 .../AbstractStringBasedModelInterpolator.java      |  22 +-
 .../StringVisitorModelInterpolator.java            |   6 +-
 .../ProfileActivationFilePathInterpolator.java     |  19 +-
 .../maven/model/root/DefaultRootLocator.java       |  59 +++
 .../org/apache/maven/model/root/RootLocator.java   |  69 ++++
 .../org.apache.maven.model.root.RootLocator        |   1 +
 .../resources/org/apache/maven/model/pom-4.0.0.xml |   5 +
 maven-model-builder/src/site/apt/index.apt         |  22 +-
 .../model/building/ComplexActivationTest.java      |   4 +-
 .../building/DefaultModelBuilderFactoryTest.java   |   6 +-
 .../model/building/DefaultModelBuilderTest.java    |   6 +-
 .../maven/model/building/FileModelSourceTest.java  |   6 +-
 .../model/building/FileToRawModelMergerTest.java   |   4 +-
 .../DefaultInheritanceAssemblerTest.java           |  22 +-
 .../AbstractModelInterpolatorTest.java             |  47 ++-
 .../interpolation/MavenBuildTimestampTest.java     |   4 +-
 .../StringVisitorModelInterpolatorTest.java        |   2 +-
 .../maven/model/merge/MavenModelMergerTest.java    |  10 +-
 .../maven/model/path/DefaultUrlNormalizerTest.java |  16 +-
 .../activation/FileProfileActivatorTest.java       |  35 +-
 .../activation/JdkVersionProfileActivatorTest.java |  16 +-
 .../activation/PropertyProfileActivatorTest.java   |  22 +-
 .../validation/DefaultModelValidatorTest.java      | 132 +++---
 .../RawToConsumerPomXMLFilterFactory.java          |   2 +
 .../maven/model/transform/RootXMLFilter.java}      |  46 ++-
 .../model/transform/pull/BufferingParser.java      |  10 +
 .../model/transform/CiFriendlyXMLFilterTest.java   |   4 +-
 .../model/transform/ConsumerPomXMLFilterTest.java  |  10 +-
 .../model/transform/ModulesXMLFilterTest.java      |  12 +-
 .../maven/model/transform/ParentXMLFilterTest.java |  26 +-
 .../transform/ReactorDependencyXMLFilterTest.java  |  12 +-
 .../model/transform/RelativePathXMLFilterTest.java |   8 +-
 .../org/apache/maven/model/ActivationFileTest.java |  10 +-
 .../org/apache/maven/model/ActivationOSTest.java   |  10 +-
 .../apache/maven/model/ActivationPropertyTest.java |  10 +-
 .../org/apache/maven/model/ActivationTest.java     |  10 +-
 .../java/org/apache/maven/model/BuildTest.java     |  10 +-
 .../org/apache/maven/model/CiManagementTest.java   |  10 +-
 .../org/apache/maven/model/ContributorTest.java    |  10 +-
 .../maven/model/DependencyManagementTest.java      |  10 +-
 .../org/apache/maven/model/DependencyTest.java     |  10 +-
 .../maven/model/DeploymentRepositoryTest.java      |  10 +-
 .../java/org/apache/maven/model/DeveloperTest.java |  10 +-
 .../maven/model/DistributionManagementTest.java    |  10 +-
 .../java/org/apache/maven/model/ExclusionTest.java |  10 +-
 .../java/org/apache/maven/model/ExtensionTest.java |  10 +-
 .../apache/maven/model/IssueManagementTest.java    |  10 +-
 .../java/org/apache/maven/model/LicenseTest.java   |  10 +-
 .../org/apache/maven/model/MailingListTest.java    |  10 +-
 .../java/org/apache/maven/model/ModelTest.java     |  10 +-
 .../java/org/apache/maven/model/NotifierTest.java  |  10 +-
 .../org/apache/maven/model/OrganizationTest.java   |  10 +-
 .../java/org/apache/maven/model/ParentTest.java    |  10 +-
 .../maven/model/PluginConfigurationTest.java       |  10 +-
 .../apache/maven/model/PluginContainerTest.java    |  10 +-
 .../apache/maven/model/PluginExecutionTest.java    |  10 +-
 .../apache/maven/model/PluginManagementTest.java   |  10 +-
 .../java/org/apache/maven/model/PluginTest.java    |  10 +-
 .../org/apache/maven/model/PrerequisitesTest.java  |  10 +-
 .../java/org/apache/maven/model/ProfileTest.java   |  10 +-
 .../org/apache/maven/model/RelocationTest.java     |  10 +-
 .../org/apache/maven/model/ReportPluginTest.java   |  10 +-
 .../java/org/apache/maven/model/ReportSetTest.java |  10 +-
 .../java/org/apache/maven/model/ReportingTest.java |  10 +-
 .../apache/maven/model/RepositoryPolicyTest.java   |  10 +-
 .../org/apache/maven/model/RepositoryTest.java     |  10 +-
 .../java/org/apache/maven/model/ResourceTest.java  |  10 +-
 .../test/java/org/apache/maven/model/ScmTest.java  |  10 +-
 .../org/apache/maven/model/SerializationTest.java  |   4 +-
 .../test/java/org/apache/maven/model/SiteTest.java |  10 +-
 .../apache/maven/model/merge/MavenMergerTest.java  |   8 +-
 .../org/apache/maven/model/v4/ModelXmlTest.java    |   4 +-
 .../plugin/descriptor/MojoDescriptorTest.java      |   4 +-
 .../descriptor/PluginDescriptorBuilderTest.java    |   4 +-
 .../artifact/repository/metadata/MetadataTest.java |   2 +-
 .../DefaultArtifactDescriptorReaderTest.java       |   4 +-
 .../internal/DefaultModelResolverTest.java         |  23 +-
 .../internal/DefaultVersionResolverTest.java       |   6 +-
 .../internal/MavenRepositorySystemUtilsTest.java   |   4 +-
 .../internal/RemoteSnapshotMetadataTest.java       |   8 +-
 .../repository/internal/RepositorySystemTest.java  |  24 +-
 .../DefaultSettingsBuilderFactoryTest.java         |   4 +-
 .../validation/DefaultSettingsValidatorTest.java   |  22 +-
 .../java/org/slf4j/impl/MavenLoggerFactory.java    |   9 +-
 .../org/slf4j/impl/MavenLoggerFactoryTest.java     |  10 +-
 .../maven/logwrapper/LogLevelRecorderTest.java     |  10 +-
 .../building/DefaultToolchainsBuilderTest.java     |  22 +-
 .../building/ToolchainsBuildingExceptionTest.java  |  10 +-
 .../toolchain/merge/MavenToolchainMergerTest.java  |  10 +-
 .../maven/internal/xml/XmlNodeBuilderTest.java     |   4 +-
 .../apache/maven/internal/xml/XmlNodeImplTest.java |  43 +-
 pom.xml                                            |  24 +-
 src/mdo/reader-ex.vm                               |   2 +-
 src/mdo/reader-modified.vm                         |   2 +-
 src/mdo/reader.vm                                  |  14 +-
 src/mdo/writer-ex.vm                               |   9 +-
 src/mdo/writer.vm                                  |   9 +-
 278 files changed, 3569 insertions(+), 1513 deletions(-)
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/PluginValidationManager.java
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/AbstractMavenPluginDependenciesValidator.java
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/Maven2DependenciesValidator.java
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/MavenMixedDependenciesValidator.java
 copy 
maven-core/src/main/java/org/apache/maven/plugin/internal/{MavenPluginValidator.java
 => MavenPluginDependenciesValidator.java} (70%)
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/MavenScopeDependenciesValidator.java
 create mode 100644 
maven-core/src/main/java/org/apache/maven/plugin/internal/PlexusContainerDefaultDependenciesValidator.java
 create mode 100644 
maven-core/src/test/java/org/apache/maven/internal/impl/DefaultSessionTest.java
 copy 
maven-core/src/test/java/org/apache/maven/plugin/{PluginParameterExpressionEvaluatorTest.java
 => PluginParameterExpressionEvaluatorV4Test.java} (77%)
 create mode 100644 
maven-core/src/test/resources-project-builder/plugin-interpolation-build/pom.xml
 create mode 100644 
maven-core/src/test/resources-project-builder/plugin-interpolation-reporting/pom.xml
 create mode 100644 
maven-embedder/src/test/projects/root-attribute/child/pom.xml
 create mode 100644 maven-embedder/src/test/projects/root-attribute/pom.xml
 create mode 100644 
maven-model-builder/src/main/java/org/apache/maven/model/root/DefaultRootLocator.java
 create mode 100644 
maven-model-builder/src/main/java/org/apache/maven/model/root/RootLocator.java
 create mode 100644 
maven-model-builder/src/main/resources/META-INF/services/org.apache.maven.model.root.RootLocator
 copy 
maven-model-transform/src/{test/java/org/apache/maven/model/transform/AbstractXMLFilterTests.java
 => main/java/org/apache/maven/model/transform/RootXMLFilter.java} (51%)

Reply via email to