rempl-maven-plugin-1.1.3.pom.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rempl-maven-plugin Show documentation
Show all versions of rempl-maven-plugin Show documentation
Reverse Engineering Meta Programming Library (REMPL) that
enables manipulations with source code meta constructs,
like classes, methods, files, packages, etc. in runtime.
<?xml version="1.0"?> <!-- * * Copyright (c) 2011, REMPL.com * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1) Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2) Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * 3) Neither the name of the REMPL.com nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * * @version $Id: pom.xml 1744 2011-08-03 20:50:50Z [email protected] $ * --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.rempl</groupId> <artifactId>rempl-plugins</artifactId> <version>1.1.3</version> <!-- REMPL-VERSION --> </parent> <groupId>com.rempl.plugins</groupId> <artifactId>rempl-maven-plugin</artifactId> <packaging>maven-plugin</packaging> <name>rempl-maven-plugin</name> <prerequisites> <!-- this element is mandatory for maven plugin --> <maven>3.0</maven> </prerequisites> <properties> <maven.version>3.0.2</maven.version> <!-- * @todo #15 This is not the latest version at the moment. 1.11 is the * latest, but we can't use it. When 1.11 is used Maven 3.0.3 * changes its JAR files on-fly to 1.9, which is not compatible * with our code. I don't know how to solve it, and will discuss * with Aether team in their mailing list. In the mean time * 1.9 works fine. --> <aether.version>1.9</aether.version> </properties> <dependencies> <dependency> <groupId>com.rempl</groupId> <artifactId>rempl-tk</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>com.rempl</groupId> <artifactId>rempl-api</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>com.rempl</groupId> <artifactId>rempl-aspects</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> <scope>compile</scope> </dependency> <dependency> <groupId>com.rempl</groupId> <artifactId>rempl-aether</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.rempl</groupId> <artifactId>rempl-core</artifactId> <scope>runtime</scope> <!-- see details in rempl/pom.xml/dependencyManagement --> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>${maven.version}</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-project</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-api</artifactId> <version>3.0</version> <!-- 24 March 2011 --> </dependency> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-sink-api</artifactId> <version>1.0</version> <!-- 24 March 2011 --> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-compat</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-settings</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-settings-builder</artifactId> <version>${maven.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.sonatype.sisu</groupId> <artifactId>sisu-inject-plexus</artifactId> <version>2.1.1</version> <!-- 18 Mar 2011 --> <scope>runtime</scope> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.10</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-container-default</artifactId> <version>1.0-alpha-44</version> <!-- 18 Mar 2011 --> <scope>runtime</scope> </dependency> <dependency> <groupId>org.sonatype.aether</groupId> <artifactId>aether-api</artifactId> <version>${aether.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.sonatype.aether</groupId> <artifactId>aether-util</artifactId> <!-- @todo #15 I don't know why, but this version has to be 1.11, while other Aether artifacts have to be in 1.9. Only this particular combination of versions work fine with all unit and integration tests. --> <version>1.11</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.sonatype.aether</groupId> <artifactId>aether-impl</artifactId> <version>${aether.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-aether-provider</artifactId> <scope>runtime</scope> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.sonatype.aether</groupId> <artifactId>aether-connector-file</artifactId> <version>${aether.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.sonatype.aether</groupId> <artifactId>aether-connector-wagon</artifactId> <version>${aether.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-provider-api</artifactId> <scope>test</scope> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-http-lightweight</artifactId> <scope>test</scope> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.apache.maven.plugin-testing</groupId> <artifactId>maven-plugin-testing-harness</artifactId> <version>2.0-alpha-1</version> <!-- 17 Mar 2011 --> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-easymock</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymockclassextension</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <!-- see details in rempl/pom.xml/dependencyManagement --> </dependency> <dependency> <!-- see details in rempl/pom.xml/dependencyManagement --> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> </dependency> <dependency> <!-- see details in rempl/pom.xml/dependencyManagement --> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>com.ymock</groupId> <artifactId>ymock-util</artifactId> </dependency> </dependencies> <profiles> <!-- @todo #40: When tests migrate from assertTrue assertFalse to assertThat, we can remove whole aspectj profile from here (correct one will be inheritet from the parent --> <profile> <id>aspectj</id> <activation> <property><name>aj</name></property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <executions> <execution> <id>weave-classes</id> <phase>package</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>weave-test-classes</id> <phase>package</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.10</version> <scope>runtime</scope> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <profile> <id>plugin-specifics</id> <activation> <property><name>ci</name></property> </activation> <build> <plugins> <plugin> <!-- Validate the quality of documentation @link http://maven.apache.org/plugins/maven-docck-plugin --> <artifactId>maven-docck-plugin</artifactId> <version>1.0</version> <!-- 30 Dec 2010 --> <configuration> <offline>false</offline> </configuration> <executions> <execution> <id>check-documentation</id> <phase>package</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>2.6</version> <!-- 1 Jan 2011 --> <executions> <execution> <!-- Generate com.rempl.maven.HelpMojo class to enable "help" goal for the plugin. --> <id>generate-helpmojo</id> <goals> <goal>helpmojo</goal> </goals> </execution> </executions> </plugin> <plugin> <!-- Here we're overriding configuration already provided in rempl/pom.xml --> <artifactId>maven-site-plugin</artifactId> <configuration> <reportPlugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <!-- version is specified in pluginManagement --> <configuration> <dependencyDetailsEnabled>false</dependencyDetailsEnabled> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> <reports> <report>cim</report> <report>dependencies</report> <report>issue-tracking</report> <report>license</report> <report>mailing-list</report> <report>plugins</report> <report>project-team</report> <report>scm</report> <report>summary</report> </reports> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>2.6</version> <!-- 1 Jan 2011 --> <reports> <report>report</report> </reports> </plugin> <!-- This configuration leads to a strange defect in maven: Could not find goal javadoc in plugin org.codehaus.mojo:cobertura-maven-plugin:2.4 among available goals dump-datafile, instrument, clean, help, check, cobertura I don't know how to fix it, that's why I'm disabling this report for now... --> <!-- <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> </plugin> --> </reportPlugins> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>static-analysis</id> <activation> <property><name>ci</name></property> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <configuration> <check> <!-- @todo #15 temporary, in order to disable code coverage check. We should remove this plugin from here as soon as we cover all classes with tests. --> <haltOnFailure>false</haltOnFailure> </check> <instrumentation> <excludes> <!-- auto-generated classes for i18n --> <exclude>com/rempl/maven/HelpMojo.*</exclude> </excludes> </instrumentation> </configuration> </plugin> <plugin> <!-- We're overriding parent configuration from rempl/pom.xml --> <artifactId>maven-pmd-plugin</artifactId> <configuration> <excludeRoots> <excludeRoot> ${project.build.directory}/generated-sources/plugin </excludeRoot> </excludeRoots> </configuration> </plugin> <plugin> <!-- We're overriding parent configuration from rempl/pom.xml --> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> <excludeFilterFile> ${basedir}/src/test/resources/findbugs/exclude.xml </excludeFilterFile> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <!-- @todo 41: disabling because tests don't pass checkstyle, remove this plugin from here when the test conform with checkstyle --> <!-- version and configuration is in pluginManagement section --> <artifactId>maven-checkstyle-plugin</artifactId> <executions> <execution> <id>check-tests</id> <phase>none</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>non-site-production</id> <activation> <property><name>!site</name></property> </activation> </profile> </profiles> <reporting> <!-- We don't need this section in Maven-3, since all reporting plugins are attached to maven-site-plugin, in rempl/pom.xml. However, "maven-docck-plugin" still doesn't understand such a new structure, and needs this "reporting" section. The defect is already reported in their tracker: http://jira.codehaus.org/browse/MDOCCK-20 --> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8</version> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>2.1</version> </plugin> </plugins> </reporting> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <!-- This system variable is used in com.rempl.dbl.LogHelper: int LEVEL_DEBUG = 0; int LEVEL_INFO = 1; int LEVEL_WARN = 2; int LEVEL_ERROR = 3; int LEVEL_FATAL = 4; int LEVEL_DISABLED = 5; --> <level>LEVEL_DEBUG</level> </systemPropertyVariables> </configuration> <executions> <execution> <!-- Run all tests again but with logging turned OFF. It is necessary to increase code coverage. Somewhere in the code we depend on logging configuration. --> <id>test-without-logging</id> <goals> <goal>test</goal> </goals> <!-- This execution is bound to such a strange phase because if we bind it to "test" it will be merged with the main goal, and configuration won't be effective. --> <phase>process-test-classes</phase> <configuration> <systemPropertyVariables> <level>LEVEL_ERROR</level> </systemPropertyVariables> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>1.5</version> <!-- 22 Mar 2011 --> <configuration> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> <debug>true</debug> <goals> <goal>clean</goal> </goals> <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> <noLog>true</noLog> <!-- With this construct you can exclude certain IT projects. <pomExcludes> <pomExclude>simple-report/pom.xml</pomExclude> <pomExclude>*/pom.xml</pomExclude> </pomExcludes> --> <pomIncludes> <pomInclude>*/pom.xml</pomInclude> </pomIncludes> <postBuildHookScript>verify</postBuildHookScript> <preBuildHookScript>setup</preBuildHookScript> <projectsDirectory>src/it</projectsDirectory> <settingsFile>${basedir}/src/it/settings.xml</settingsFile> <showErrors>true</showErrors> <showVersion>true</showVersion> <streamLogs>true</streamLogs> </configuration> <executions> <execution> <id>integration-test</id> <goals> <goal>install</goal> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>