| ----- |
| Introduction |
| ----- |
| Hervé Boutemy |
| ----- |
| 2011-09-04 |
| ----- |
| |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/doxia/references/apt-format.html |
| |
| |
| Maven Core ITs |
| |
| Maven Core Integration Tests provide tooling to test every aspect of Maven functionalities with any Maven version. |
| |
| This project has declared the following modules: |
| |
| * {{{./core-it-support/}Maven IT Support}}: Maven Integration Tests support tools, to completely decouple ITs from production plugins. |
| |
| * {{{./core-it-suite/}Maven ITs}}: The effective Maven Integration Tests suite. |
| |
| |
| * Core ITs and dependencies |
| |
| A good IT does not depend on external repos like central, it uses dedicated test plugins and test repositories. |
| The default <<<settings.xml>>> used by ITs helps to enforce this by pointing central at <<<file:target/null>>>, |
| which obviously can't resolve anything. This setup using a file-based dummy repo also helps execution time, |
| because this repo produces (expected) <<<404>>>s much faster than a HTTP-based repo. |
| |
| The one place where access to central is desired is in the <<<MavenITBootstrapTest>>> |
| ({{{./core-it-suite/xref-test/org/apache/maven/it/MavenITBootstrapTest.html}src}}, |
| {{{./core-it-suite/testapidocs/org/apache/maven/it/MavenITBootstrapTest.html}javadoc}}), |
| which doesn't really test anything but just primes the local repo with any artifacts the ITs will need. |
| |
| So some care needs to be taken when introducing new dependencies into the ITs themselves or the support plugins. |
| Many times the failures that we encounter are discrepancies between actual artifact consumption required and |
| what is populated during bootstraping. |