Jeffrey van Gogh | 32d3c0c | 2016-04-04 10:49:31 -0700 | [diff] [blame^] | 1 | <?xml version="1.0" encoding="UTF-8"?> |
| 2 | <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"> |
| 3 | |
| 4 | <modelVersion>4.0.0</modelVersion> |
| 5 | |
| 6 | <parent> |
| 7 | <groupId>org.sonatype.sisu.inject</groupId> |
| 8 | <artifactId>guice-parent</artifactId> |
| 9 | <version>3.1.0</version> |
| 10 | </parent> |
| 11 | |
| 12 | <groupId>org.sonatype.sisu</groupId> |
| 13 | <artifactId>sisu-guice</artifactId> |
| 14 | |
| 15 | <name>Sisu Guice - Core Library</name> |
| 16 | |
| 17 | <dependencies> |
| 18 | <dependency> |
| 19 | <groupId>javax.inject</groupId> |
| 20 | <artifactId>javax.inject</artifactId> |
| 21 | <version>1</version> |
| 22 | </dependency> |
| 23 | <dependency> |
| 24 | <groupId>aopalliance</groupId> |
| 25 | <artifactId>aopalliance</artifactId> |
| 26 | <version>1.0</version> |
| 27 | </dependency> |
| 28 | <dependency> |
| 29 | <groupId>org.slf4j</groupId> |
| 30 | <artifactId>slf4j-api</artifactId> |
| 31 | <version>1.6.2</version> |
| 32 | <optional>true</optional> |
| 33 | </dependency> |
| 34 | <dependency> |
| 35 | <groupId>cglib</groupId> |
| 36 | <artifactId>cglib</artifactId> |
| 37 | <version>2.2.2</version> |
| 38 | <optional>true</optional> |
| 39 | </dependency> |
| 40 | <dependency> |
| 41 | <groupId>org.sonatype.sisu</groupId> |
| 42 | <artifactId>sisu-guava</artifactId> |
| 43 | <version>0.9.9</version> |
| 44 | </dependency> |
| 45 | <dependency> |
| 46 | <groupId>javax.inject</groupId> |
| 47 | <artifactId>javax.inject-tck</artifactId> |
| 48 | <version>1</version> |
| 49 | <scope>test</scope> |
| 50 | </dependency> |
| 51 | <dependency> |
| 52 | <groupId>org.springframework</groupId> |
| 53 | <artifactId>spring-beans</artifactId> |
| 54 | <version>3.0.6.RELEASE</version> |
| 55 | <scope>test</scope> |
| 56 | </dependency> |
| 57 | <dependency> |
| 58 | <groupId>biz.aQute</groupId> |
| 59 | <artifactId>bnd</artifactId> |
| 60 | <version>0.0.384</version> |
| 61 | <scope>test</scope> |
| 62 | </dependency> |
| 63 | <dependency> |
| 64 | <groupId>org.apache.felix</groupId> |
| 65 | <artifactId>org.apache.felix.framework</artifactId> |
| 66 | <version>3.2.2</version> |
| 67 | <scope>test</scope> |
| 68 | </dependency> |
| 69 | </dependencies> |
| 70 | |
| 71 | <build> |
| 72 | <plugins> |
| 73 | <!-- |
| 74 | | Add standard LICENSE and NOTICE files |
| 75 | --> |
| 76 | <plugin> |
| 77 | <artifactId>maven-remote-resources-plugin</artifactId> |
| 78 | </plugin> |
| 79 | <!-- |
| 80 | | Enable Java5 conformance checks |
| 81 | --> |
| 82 | <plugin> |
| 83 | <groupId>org.codehaus.mojo</groupId> |
| 84 | <artifactId>animal-sniffer-maven-plugin</artifactId> |
| 85 | </plugin> |
| 86 | <plugin> |
| 87 | <artifactId>maven-surefire-plugin</artifactId> |
| 88 | <configuration> |
| 89 | <!-- |
| 90 | | Run core tests without SLF4J on the classpath |
| 91 | --> |
| 92 | <classpathDependencyExcludes> |
| 93 | <exclude>org.slf4j:slf4j-api</exclude> |
| 94 | </classpathDependencyExcludes> |
| 95 | <!-- |
| 96 | | This test needs updating for use with Maven |
| 97 | --> |
| 98 | <excludes> |
| 99 | <exclude>**/OSGiContainerTest*</exclude> |
| 100 | </excludes> |
| 101 | </configuration> |
| 102 | </plugin> |
| 103 | <!-- |
| 104 | | Add OSGi manifest |
| 105 | --> |
| 106 | <plugin> |
| 107 | <groupId>org.apache.felix</groupId> |
| 108 | <artifactId>maven-bundle-plugin</artifactId> |
| 109 | <configuration> |
| 110 | <instructions> |
| 111 | <Bundle-Name> |
| 112 | ${project.artifactId}$(if;$(classes;NAMED;*.Interceptor*);; (no_aop)) |
| 113 | </Bundle-Name> |
| 114 | <Require-Bundle>org.sonatype.sisu.guava</Require-Bundle> |
| 115 | <DynamicImport-Package>org.slf4j</DynamicImport-Package> |
| 116 | <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI> |
| 117 | </instructions> |
| 118 | </configuration> |
| 119 | </plugin> |
| 120 | <!-- |
| 121 | | Remove duplicate jarjar'd LICENSE and NOTICE |
| 122 | --> |
| 123 | <plugin> |
| 124 | <artifactId>maven-jar-plugin</artifactId> |
| 125 | <configuration> |
| 126 | <excludes> |
| 127 | <exclude>LICENSE</exclude> |
| 128 | <exclude>NOTICE</exclude> |
| 129 | </excludes> |
| 130 | </configuration> |
| 131 | </plugin> |
| 132 | </plugins> |
| 133 | </build> |
| 134 | |
| 135 | <profiles> |
| 136 | <profile> |
| 137 | <!-- |
| 138 | | No-AOP profile: repeat the build lifecycle with munged no-AOP source |
| 139 | --> |
| 140 | <id>guice.with.no_aop</id> |
| 141 | <activation> |
| 142 | <property> |
| 143 | <name>guice.with.no_aop</name> |
| 144 | <value>!false</value> |
| 145 | </property> |
| 146 | </activation> |
| 147 | <build> |
| 148 | <plugins> |
| 149 | <plugin> |
| 150 | <groupId>org.sonatype.plugins</groupId> |
| 151 | <artifactId>munge-maven-plugin</artifactId> |
| 152 | <version>1.0</version> |
| 153 | <executions> |
| 154 | <execution> |
| 155 | <phase>prepare-package</phase> |
| 156 | <goals> |
| 157 | <goal>munge-fork</goal> |
| 158 | </goals> |
| 159 | <configuration> |
| 160 | <symbols>NO_AOP</symbols> |
| 161 | <excludes> |
| 162 | **/InterceptorBinding.java, |
| 163 | **/InterceptorBindingProcessor.java, |
| 164 | **/InterceptorStackCallback.java, |
| 165 | **/LineNumbers.java, |
| 166 | **/MethodAspect.java, |
| 167 | **/ProxyFactory.java, |
| 168 | **/BytecodeGenTest.java, |
| 169 | **/IntegrationTest.java, |
| 170 | **/MethodInterceptionTest.java, |
| 171 | **/ProxyFactoryTest.java |
| 172 | </excludes> |
| 173 | </configuration> |
| 174 | </execution> |
| 175 | </executions> |
| 176 | </plugin> |
| 177 | <!-- |
| 178 | | Package the no-AOP build with its own OSGi manifest and attach using "no_aop" classifier |
| 179 | --> |
| 180 | <plugin> |
| 181 | <artifactId>maven-jar-plugin</artifactId> |
| 182 | <executions> |
| 183 | <execution> |
| 184 | <id>no_aop</id> |
| 185 | <phase>package</phase> |
| 186 | <goals> |
| 187 | <goal>jar</goal> |
| 188 | </goals> |
| 189 | <configuration> |
| 190 | <classesDirectory>${project.build.directory}/munged/classes</classesDirectory> |
| 191 | <classifier>no_aop</classifier> |
| 192 | <archive> |
| 193 | <manifestFile>${project.build.directory}/munged/classes/META-INF/MANIFEST.MF</manifestFile> |
| 194 | </archive> |
| 195 | </configuration> |
| 196 | </execution> |
| 197 | </executions> |
| 198 | </plugin> |
| 199 | </plugins> |
| 200 | </build> |
| 201 | </profile> |
| 202 | <profile> |
| 203 | <!-- |
| 204 | | JarJar build profile: re-package ASM and CGLIB classes under the Guice namespace |
| 205 | --> |
| 206 | <id>guice.with.jarjar</id> |
| 207 | <activation> |
| 208 | <property> |
| 209 | <name>guice.with.jarjar</name> |
| 210 | <value>!false</value> |
| 211 | </property> |
| 212 | </activation> |
| 213 | <build> |
| 214 | <plugins> |
| 215 | <plugin> |
| 216 | <groupId>org.sonatype.plugins</groupId> |
| 217 | <artifactId>jarjar-maven-plugin</artifactId> |
| 218 | <version>1.5</version> |
| 219 | <configuration> |
| 220 | <overwrite>true</overwrite> |
| 221 | <includes> |
| 222 | <include>*:asm</include> |
| 223 | <include>*:cglib</include> |
| 224 | </includes> |
| 225 | <rules> |
| 226 | <rule> |
| 227 | <pattern>net.sf.cglib.*</pattern> |
| 228 | <result>com.google.inject.internal.cglib.$@1</result> |
| 229 | </rule> |
| 230 | <rule> |
| 231 | <pattern>net.sf.cglib.**.*</pattern> |
| 232 | <result>com.google.inject.internal.cglib.@1.$@2</result> |
| 233 | </rule> |
| 234 | <rule> |
| 235 | <pattern>org.objectweb.asm.*</pattern> |
| 236 | <result>com.google.inject.internal.asm.$@1</result> |
| 237 | </rule> |
| 238 | <rule> |
| 239 | <pattern>org.objectweb.asm.**.*</pattern> |
| 240 | <result>com.google.inject.internal.asm.@1.$@2</result> |
| 241 | </rule> |
| 242 | <keep> |
| 243 | <pattern>com.google.inject.**</pattern> |
| 244 | </keep> |
| 245 | <keep> |
| 246 | <pattern>com.googlecode.**</pattern> |
| 247 | </keep> |
| 248 | </rules> |
| 249 | </configuration> |
| 250 | <!-- |
| 251 | | JarJar all classes before running tests |
| 252 | --> |
| 253 | <executions> |
| 254 | <execution> |
| 255 | <id>jarjar-classes</id> |
| 256 | <phase>process-test-classes</phase> |
| 257 | <goals> |
| 258 | <goal>jarjar</goal> |
| 259 | </goals> |
| 260 | <configuration> |
| 261 | <input>{classes}</input> |
| 262 | </configuration> |
| 263 | </execution> |
| 264 | <execution> |
| 265 | <id>jarjar-test-classes</id> |
| 266 | <phase>process-test-classes</phase> |
| 267 | <goals> |
| 268 | <goal>jarjar</goal> |
| 269 | </goals> |
| 270 | <configuration> |
| 271 | <input>{test-classes}</input> |
| 272 | </configuration> |
| 273 | </execution> |
| 274 | </executions> |
| 275 | </plugin> |
| 276 | </plugins> |
| 277 | </build> |
| 278 | </profile> |
| 279 | <profile> |
| 280 | <!-- |
| 281 | | m2e profile - force use of JarJar inside Eclipse |
| 282 | --> |
| 283 | <id>m2e</id> |
| 284 | <activation> |
| 285 | <property> |
| 286 | <name>m2e.version</name> |
| 287 | </property> |
| 288 | </activation> |
| 289 | <build> |
| 290 | <pluginManagement> |
| 291 | <plugins> |
| 292 | <plugin> |
| 293 | <groupId>org.eclipse.m2e</groupId> |
| 294 | <artifactId>lifecycle-mapping</artifactId> |
| 295 | <version>1.0.0</version> |
| 296 | <configuration> |
| 297 | <lifecycleMappingMetadata> |
| 298 | <pluginExecutions> |
| 299 | <pluginExecution> |
| 300 | <pluginExecutionFilter> |
| 301 | <groupId>org.sonatype.plugins</groupId> |
| 302 | <artifactId>jarjar-maven-plugin</artifactId> |
| 303 | <versionRange>[1.4,)</versionRange> |
| 304 | <goals><goal>jarjar</goal></goals> |
| 305 | </pluginExecutionFilter> |
| 306 | <action><execute /></action> |
| 307 | </pluginExecution> |
| 308 | </pluginExecutions> |
| 309 | </lifecycleMappingMetadata> |
| 310 | </configuration> |
| 311 | </plugin> |
| 312 | </plugins> |
| 313 | </pluginManagement> |
| 314 | </build> |
| 315 | </profile> |
| 316 | </profiles> |
| 317 | |
| 318 | </project> |