maven/maven-core-it
John Dennis Casey 4b1038de53 Working on: MNG-607
o Added '-f' CLI option, to allow use of non-standard pom files, or spawning of a build from outside of the project dir.
o Added preferential processing of release-pom.xml over pom.xml if it exists (assumes that the current checkout is a release of the software)
o Moved all file discovery from MavenCli to DefaultMaven, to allow embedders to have access to this logic.
o Modified MavenExecutionRequest to add a flag for reactor-activation and the name of a non-standard pom to use, if appropriate.
o Removed getFiles() and getProjectFiles() from MavenExecutionRequest, since file discovery is now done in the DefaultMaven.
o Added integration tests to check preference of release-pom.xml in standalone and '-r' mode
o Added integration tests to check usage of '-f' option within and outside of the project directory
o Added processing for cli-options.txt to maven-core-it-verifier (Verifier.java) to allow specification of '-f' and '-r' in tests


NOTE: the release plugin still doesn't correctly remove the release-pom.xml from HEAD/trunk, since I don't have access to the SCM remove command from maven-scm. I'm waiting for Emmanuel to finish some API changes before moving to the new maven-scm version, and implementing this final step.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@225226 13f79535-47bb-0310-9956-ffa450edef68
2005-07-26 03:55:37 +00:00
..
it0000 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0001 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0002 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0003 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0004 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0005 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0006 use built verifier plugin in itest 2005-05-21 15:46:15 +00:00
it0007 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0008 Clean up of the lifecycle executor, simplify configuration and push back into the plugin manager. 2005-06-18 13:01:26 +00:00
it0009 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0010 Update all versions to beta-1-SNAPSHOT 2005-06-27 15:29:14 +00:00
it0011 Update all versions to beta-1-SNAPSHOT 2005-06-27 15:29:14 +00:00
it0012 Update all versions to beta-1-SNAPSHOT 2005-06-27 15:29:14 +00:00
it0013 Fixing problem with using distributionManagement repository definition for download of plugins.xml metadata. 2005-07-12 20:08:21 +00:00
it0014 add test compilation to integration test 2005-05-08 21:39:30 +00:00
it0015 Fixing problem with using distributionManagement repository definition for download of plugins.xml metadata. 2005-07-12 20:08:21 +00:00
it0016 PR: MNG-415 2005-06-16 15:02:07 +00:00
it0017 reformat 2005-07-22 13:52:21 +00:00
it0018 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0019 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it0020 Fixing problem with using distributionManagement repository definition for download of plugins.xml metadata. 2005-07-12 20:08:21 +00:00
it0021 Fixing problem with using distributionManagement repository definition for download of plugins.xml metadata. 2005-07-12 20:08:21 +00:00
it0022 Fixed problems with merging profile-defined properties into the project, and fixed the ITs testing profile definitions in the process. 2005-06-09 15:53:31 +00:00
it0023 fix bad group id 2005-06-23 15:15:09 +00:00
it0024 fix incorrect test (execution cannot affect something already bound by packaging) 2005-06-18 16:01:48 +00:00
it0025 fix incorrect test - executing a standalone goal does not invoke executions 2005-06-18 16:03:20 +00:00
it0026 o Re-adding support for user-level settings which are not assumed to be in ~ (for continuum and other server-style apps' convenience) 2005-06-13 21:56:00 +00:00
it0027 PR: MNG-471 2005-06-20 14:42:56 +00:00
it0028 Resolving: MNG-496 2005-06-20 20:11:01 +00:00
it0029 Fix it number in artifact name 2005-06-27 13:14:49 +00:00
it0030 reenable tests 2005-07-22 15:37:46 +00:00
it0031 Fixing issues related to MNG-377, where the plugins.xml metadata was being mishandled. Separated updating of this metadata into a separate mojo, bound to the 'package' phase, and put in a validator for the POM (POM has to have distributionRepository now for maven-plugin's) which is bound to the 'validate' phase. Put together an integration test that uses modello:java as a case where the pluginGroups must be consulted. Also had to change the Verifier to check a verifier.properties for failOnErrorOutput, which will suppress IT failures based on [ERROR] log output (modello outputs one of these, and kills the IT unnecessarily). 2005-07-11 22:08:58 +00:00
it0032 integration tests for the required maven version test 2005-07-18 11:59:46 +00:00
it0033 Resolving: MNG-576...I'm committing Stephane's patch for an integration test. Thanks, Stephane 2005-07-18 21:43:11 +00:00
it0034 use a more normal IT test style for artifact resolution 2005-07-22 00:21:57 +00:00
it0035 PR: MNG-507 2005-07-22 00:31:44 +00:00
it0036 Working on: MNG-607 2005-07-26 03:55:37 +00:00
it0037 Working on: MNG-607 2005-07-26 03:55:37 +00:00
it0038 Working on: MNG-607 2005-07-26 03:55:37 +00:00
it0039 Working on: MNG-607 2005-07-26 03:55:37 +00:00
it1000 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it1001 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it1002 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it1003 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it1004 remove old cvs ignore files 2005-06-07 05:24:51 +00:00
it1005 IT for testing failure when duplicate goal names are specified in multiple mojos... 2005-05-06 00:36:00 +00:00
it1006 Resolving issue: MNG-493 2005-06-21 03:57:17 +00:00
it1007 integration tests for the required maven version test 2005-07-18 11:59:46 +00:00
it1008 PR: MNG-505 2005-07-20 06:53:47 +00:00
README.txt Working on: MNG-607 2005-07-26 03:55:37 +00:00
integration-tests.txt Working on: MNG-607 2005-07-26 03:55:37 +00:00
maven-core-it.bat more parameter consistency. MAVEN_OPTS goes to java, $@ goes to the args. 2005-06-07 01:32:11 +00:00
maven-core-it.sh more parameter consistency. MAVEN_OPTS goes to java, $@ goes to the args. 2005-06-07 01:32:11 +00:00

README.txt

-------------------------------------------------------------------------------
it0000: The simplest of builds. We have one application class and one test
        class. There are no resources, no source generation, no resource
        generation and a the super model is employed to provide the build
        information.

it0001: Builds upon it0000: we add an application resource that is packaged
        up in the resultant JAR.

it0002: Builds upon it0001: we add the download of a dependency. We delete
        the JAR from the local repository and make sure it is there post build.
       
it0003: Builds upon it0001: we add a jar installation step. We delete the JAR
        from the local repository to make sure it is there post build.
       
it0004: The simplest of pom installation. We have a pom and we install it in
        local repository.
       
it0005: The simplest of pom installation. We have a snapshot pom and we install
        it in local repository.

it0006: Integration test for the verifier plugin.

it0007: We specify a parent in the POM and make sure that it is downloaded as
        part of the process.        

it0008: Simple goal decoration where a plugin binds to a phase and the plugin must
        be downloaded from a remote repository before it can be executed. This
        test also checks to make sure that mojo parameters are aligned to the 
        project basedir when their type is "java.io.File".
        
it0009: Test plugin configuration and goal configuration that overrides what the
        mojo has specified.
        
it0010: Since the artifact resolution does not use the project builder, we must
        ensure that the full hierarchy of all dependencies is resolved. This
        includes the dependencies of the parent-pom's of dependencies. This test
        will check this, by depending on classworlds, which is a dependency of
        maven-component, which is the parent of maven-plugin, which is an
        explicit dependency of this test.
        # TODO: must correct the assumptions of this test
        
it0011: Test specification of dependency versions via <dependencyManagement/>.

it0012: Test simple POM interpolation

it0013: Test plugin-plugin, which tests maven-plugin-tools-api and 
        maven-plugin-tools-java. This will generate a plugin descriptor from 
        java-based mojo sources, install the plugin, and then use it.

it0014: Test POM configuration by settings the -source and -target for the
        compiler to 1.4

it0015: Test marmalade-driven mojo support. This will compile supporting java
        classes (mmld tag & taglib), generate plugin descriptor from mmld script,
        install the plugin, and finally use the new plugin.

it0016: Test a WAR generation

it0017: Test an EJB generation

it0018: Ensure that managed dependencies for dependency POMs are calculated
        correctly when resolved. Removes commons-logging-1.0.3 and checks it is
        redownloaded.

it0019: Test that a version is managed by pluginManagement in the super POM

it0020: Test beanshell mojo support.

it0021: Test pom-level profile inclusion (this one is activated by system
        property).

it0022: Test profile inclusion from profiles.xml (this one is activated by system
        property).

it0023: Test profile inclusion from settings.xml (this one is activated by an id
        in the activeProfiles section).

it0024: Test usage of <executions/> inside a plugin rather than <goals/>
        that are directly inside th plugin.

it0025: Test multiple goal executions with different execution-level configs.

it0026: Test merging of global- and user-level settings.xml files.

it0027: Test @execute with a custom lifecycle, including configuration

it0028: Test that unused configuration parameters from the POM don't cause the
        mojo to fail...they will show up as warnings in the -X output instead.

it0029: Test for pluginManagement injection of plugin configuration.

it0030: Test for injection of dependencyManagement through parents of 
        dependency poms.

it0031: Test usage of plugins.xml mapping file on the repository to resolve
        plugin artifactId from it's prefix using the pluginGroups in
        the provided settings.xml.

it0032: Tests that a specified Maven version requirement that is lower doesn't cause any problems

it0033: Test an EAR generation

it0034: Test version range junit [3.7,) resolves to 3.8.1

it0035: Test artifact relocation.

it0036: Test building from release-pom.xml when it's available

it0037: Test building with alternate pom file using '-f'

it0038: Test building project from outside the project directory using '-f'
        option

it0039: Test reactor for projects that have release-pom.xml in addition to
        pom.xml. The release-pom.xml file should be chosen above pom.xml for
        these projects in the build.

-------------------------------------------------------------------------------

- generated sources
- generated resources from sources
- generated resources from generated sources
- filtered resources
- build that requires a plugin download
- transitive dependencies
- goal attainment not requiring depedency resolution
- goal attainment where a POM is not required: this is a case where
  we are using mgen to create new applications and project structures
  which is used by the m2 geronimo plugin and tools like the "setup"
  goal which brings a project to life from scratch using something like:
  m2 --setup xstream --version 1.0

- write a small program to generate a massively nested build
  which which use the reactor and inheritence. we need to have
  integration tests that go far beyond what the average user
  would ever setup.
  
- project with a cyclic dependency

-------------------------------------------------------------------------------
These are a set of builds that contain known errors. The errors should be
captured and reported in a useful manner to the user. We will start at it1000
for intentially flawed builds.
-------------------------------------------------------------------------------
it1000: A build which contains a malformed pom.xml. We have intentionally 
        created a mismatch in the first element. We have:
        <projectX>...</project>
-------------------------------------------------------------------------------
it1001: A build whose pom.xml does not contain a <groupId/> element.
-------------------------------------------------------------------------------
it1002: A build with a syntax error in the first field declaration.
-------------------------------------------------------------------------------
it1003: A build with a simple test failure.
-------------------------------------------------------------------------------

- checksum mismatch
-------------------------------------------------------------------------------
it1005: A build with two mojo java sources that declare the same goal.
-------------------------------------------------------------------------------
it1006: Tests collision on default execution id. Should throw an 
        IllegalStateException, since the model is incorrect.
-------------------------------------------------------------------------------
it1007: Should fail due to requiring a future version of Maven.
-------------------------------------------------------------------------------
it1008: Should fail due to requiring a version range for junit that doesn't exist
        in the repository. Currently succeeds (MNG-614)
-------------------------------------------------------------------------------