byte-buddy-parent-1.12.18.pom 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249
  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/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>net.bytebuddy</groupId>
  5. <artifactId>byte-buddy-parent</artifactId>
  6. <version>1.12.18</version>
  7. <packaging>pom</packaging>
  8. <inceptionYear>2014</inceptionYear>
  9. <name>Byte Buddy (parent)</name>
  10. <description>
  11. Byte Buddy is a Java library for creating Java classes at run time.
  12. The parent artifact contains configuration information that concern all modules.
  13. </description>
  14. <url>https://bytebuddy.net</url>
  15. <!--
  16. There are several build profiles available:
  17. - extras: Creates additional artifacts containing source files and javadoc. (activated on release)
  18. - gpg: Sign all artifacts using gpg. (activated on release)
  19. - checks: Applies style checks to the source files. (activated by default, activated on release)
  20. - integration: Runs additional unit tests that are long-running (activated on CI server)
  21. - analysis: Executes static code analysis (activated on CI server)
  22. - android: Builds an Android test application. An Android SDK is required for doing so. (excluded from release)
  23. - native-compile: Compiles the native extensions required by Byte Buddy agent.
  24. It is also possible to build Byte Buddy against a specific byte code level. By default, Byte Buddy is Java 5 compatible
  25. but requires Java 6 to build and to run tests: By activating a profile javaX where X is a specific version number,
  26. tests and source are compiled to a differing byte code level.
  27. Additionally, the following reports are available via Maven:
  28. - jacoco:prepare-agent verify jacoco:report - Computes coverage for test suite (all modules)
  29. - org.pitest:pitest-maven:mutationCoverage - Runs mutation tests (all modules)
  30. - spotbugs:spotbugs spotbugs:gui - Runs spotbugs and shows a report in a graphical interface (module specific)
  31. - com.github.ferstl:jitwatch-jarscan-maven-plugin:scan - Finds all methods above HotSpot's inlining threshold
  32. - versions:update-properties - Automated dependency version update.
  33. At last, two pseudo-profiles are available that allow for handling checksum data for all downloaded artifacts.
  34. These profiles are only effective if the Maven wrapper is used, which is configured to install the Maven
  35. checksum extension:
  36. - checksum-collect: collects checksums for all used artifacts.
  37. - checksum-enforce: enforces that all downloaded artifacts represent a known checksum
  38. -->
  39. <modules>
  40. <module>byte-buddy</module>
  41. <module>byte-buddy-dep</module>
  42. <module>byte-buddy-benchmark</module>
  43. <module>byte-buddy-agent</module>
  44. <module>byte-buddy-android</module>
  45. <module>byte-buddy-android-test</module>
  46. <module>byte-buddy-maven-plugin</module>
  47. <module>byte-buddy-gradle-plugin</module>
  48. </modules>
  49. <properties>
  50. <copyright.holder>Rafael Winterhalter</copyright.holder>
  51. <bytebuddy.extras>false</bytebuddy.extras>
  52. <bytebuddy.integration>false</bytebuddy.integration>
  53. <bytebuddy.experimental>false</bytebuddy.experimental>
  54. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  55. <project.build.outputTimestamp>0</project.build.outputTimestamp>
  56. <sourcecode.main.version>1.5</sourcecode.main.version>
  57. <sourcecode.test.version>1.6</sourcecode.test.version>
  58. <bytecode.main.version>1.5</bytecode.main.version>
  59. <bytecode.test.version>1.6</bytecode.test.version>
  60. <pitest.target>net.bytebuddy</pitest.target>
  61. <nexus.url>https://s01.oss.sonatype.org</nexus.url>
  62. <version.asm>9.4</version.asm>
  63. <version.jna>5.12.1</version.jna>
  64. <version.junit>4.13.2</version.junit>
  65. <version.mockito>2.28.2</version.mockito>
  66. <version.plugin.clean>3.2.0</version.plugin.clean>
  67. <version.plugin.bundle>5.1.7</version.plugin.bundle>
  68. <version.plugin.compiler>3.10.1</version.plugin.compiler>
  69. <version.plugin.install>3.0.1</version.plugin.install>
  70. <version.plugin.deploy>3.0.0</version.plugin.deploy>
  71. <version.plugin.staging>1.6.13</version.plugin.staging>
  72. <version.plugin.versions>2.11.0</version.plugin.versions>
  73. <version.plugin.javadoc>3.4.0</version.plugin.javadoc>
  74. <version.plugin.source>3.2.1</version.plugin.source>
  75. <version.plugin.shade>3.3.0</version.plugin.shade>
  76. <version.plugin.gpg>3.0.1</version.plugin.gpg>
  77. <version.plugin.jxr>3.2.0</version.plugin.jxr>
  78. <version.plugin.buildhelper>3.3.0</version.plugin.buildhelper>
  79. <version.plugin.jar>3.2.2</version.plugin.jar>
  80. <version.plugin.site>3.12.0</version.plugin.site>
  81. <version.plugin.exec>3.1.0</version.plugin.exec>
  82. <version.plugin.plugin>3.6.4</version.plugin.plugin>
  83. <version.plugin.release>2.5.3</version.plugin.release>
  84. <version.plugin.resources>3.2.0</version.plugin.resources>
  85. <version.plugin.assembly>3.4.2</version.plugin.assembly>
  86. <version.plugin.dependency>3.3.0</version.plugin.dependency>
  87. <version.plugin.help>3.2.0</version.plugin.help>
  88. <version.plugin.surefire>2.22.2</version.plugin.surefire>
  89. <version.plugin.pitest>1.9.2</version.plugin.pitest>
  90. <version.plugin.animal-sniffer>1.21</version.plugin.animal-sniffer>
  91. <version.plugin.enforcer>3.1.0</version.plugin.enforcer>
  92. <version.plugin.jacoco>0.8.8</version.plugin.jacoco>
  93. <version.plugin.coveralls>4.3.0</version.plugin.coveralls>
  94. <version.plugin.checkstyle>3.1.2</version.plugin.checkstyle>
  95. <version.plugin.jitwatch>1.1</version.plugin.jitwatch>
  96. <version.plugin.spotbugs>4.2.3</version.plugin.spotbugs>
  97. <version.plugin.modulemaker>1.9</version.plugin.modulemaker>
  98. <version.plugin.license>3.0</version.plugin.license>
  99. <version.plugin.japicmp>0.15.7</version.plugin.japicmp>
  100. <version.plugin.antrun>3.1.0</version.plugin.antrun>
  101. <version.checkstyle>9.3</version.checkstyle>
  102. <version.android.sdk>4.1.1.4</version.android.sdk>
  103. <version.utility.findbugs>3.0.1</version.utility.findbugs>
  104. <version.utility.jsr305>3.0.2</version.utility.jsr305>
  105. <version.jmh>1.35</version.jmh>
  106. <version.cglib>3.3.0</version.cglib>
  107. <version.javassist>3.29.0-GA</version.javassist>
  108. <spotbugs.skip>false</spotbugs.skip>
  109. <jacoco.skip>false</jacoco.skip>
  110. <japicmp.skip>false</japicmp.skip>
  111. <modulemaker.skip>false</modulemaker.skip>
  112. <javadoc.download.skip>false</javadoc.download.skip>
  113. <repository.url>git@github.com:raphw/byte-buddy.git</repository.url>
  114. </properties>
  115. <licenses>
  116. <license>
  117. <name>Apache License, Version 2.0</name>
  118. <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
  119. <distribution>repo</distribution>
  120. <comments>A business-friendly OSS license</comments>
  121. </license>
  122. </licenses>
  123. <developers>
  124. <developer>
  125. <id>raphw</id>
  126. <name>Rafael Winterhalter</name>
  127. <email>rafael.wth@gmail.com</email>
  128. <url>https://rafael.codes</url>
  129. <roles>
  130. <role>developer</role>
  131. </roles>
  132. <timezone>+1</timezone>
  133. </developer>
  134. </developers>
  135. <issueManagement>
  136. <system>github.com</system>
  137. <url>https://github.com/raphw/byte-buddy/issues</url>
  138. </issueManagement>
  139. <scm>
  140. <connection>scm:git:${repository.url}</connection>
  141. <developerConnection>scm:git:${repository.url}</developerConnection>
  142. <url>${repository.url}</url>
  143. <tag>byte-buddy-1.12.18</tag>
  144. </scm>
  145. <dependencies>
  146. <!-- Allows the suppression of spotbugs false-positives by annotations without adding an actual dependency. -->
  147. <dependency>
  148. <groupId>com.google.code.findbugs</groupId>
  149. <artifactId>findbugs-annotations</artifactId>
  150. <version>${version.utility.findbugs}</version>
  151. <scope>provided</scope>
  152. </dependency>
  153. <!-- Allow for marking nullability of values.-->
  154. <dependency>
  155. <groupId>com.google.code.findbugs</groupId>
  156. <artifactId>jsr305</artifactId>
  157. <version>${version.utility.jsr305}</version>
  158. <scope>provided</scope>
  159. </dependency>
  160. </dependencies>
  161. <build>
  162. <plugins>
  163. <!-- Define release properties. -->
  164. <plugin>
  165. <groupId>org.apache.maven.plugins</groupId>
  166. <artifactId>maven-release-plugin</artifactId>
  167. <version>${version.plugin.release}</version>
  168. <configuration>
  169. <useReleaseProfile>false</useReleaseProfile>
  170. <releaseProfiles>extras,gpg,gradle-release</releaseProfiles>
  171. <autoVersionSubmodules>true</autoVersionSubmodules>
  172. <tagNameFormat>byte-buddy-@{project.version}</tagNameFormat>
  173. </configuration>
  174. </plugin>
  175. <!-- Enable mutation testing. -->
  176. <plugin>
  177. <groupId>org.pitest</groupId>
  178. <artifactId>pitest-maven</artifactId>
  179. <version>${version.plugin.pitest}</version>
  180. <configuration>
  181. <targetClasses>
  182. <param>${pitest.target}.*</param>
  183. </targetClasses>
  184. <targetTests>
  185. <param>${pitest.target}.*</param>
  186. </targetTests>
  187. </configuration>
  188. </plugin>
  189. <!-- Configure Jacoco support for evaluating test case coverage. -->
  190. <plugin>
  191. <groupId>org.jacoco</groupId>
  192. <artifactId>jacoco-maven-plugin</artifactId>
  193. <version>${version.plugin.jacoco}</version>
  194. <configuration>
  195. <skip>${jacoco.skip}</skip>
  196. <includes>
  197. <include>net/bytebuddy/**</include>
  198. </includes>
  199. <excludes>
  200. <!-- Do not include JMH generated classes (both modern and legacy JMH).-->
  201. <exclude>net/bytebuddy/benchmark/generated/*</exclude>
  202. <exclude>net/bytebuddy/benchmark/jmh_generated/*</exclude>
  203. <!-- Avoid adding synthetic members to test classes as test assert class members. -->
  204. <exclude>*Test*</exclude>
  205. <exclude>*test*</exclude>
  206. </excludes>
  207. </configuration>
  208. </plugin>
  209. <!-- Generate coveralls reports from CI server. -->
  210. <plugin>
  211. <groupId>org.eluder.coveralls</groupId>
  212. <artifactId>coveralls-maven-plugin</artifactId>
  213. <version>${version.plugin.coveralls}</version>
  214. <configuration>
  215. <sourceDirectories>
  216. <sourceDirectory>${project.basedir}/byte-buddy-dep/src/main/java-6</sourceDirectory>
  217. </sourceDirectories>
  218. </configuration>
  219. </plugin>
  220. <!-- Also allow for manual spotbugs execution. Note that the generated warnings do not always apply for Byte Buddy's use case. -->
  221. <plugin>
  222. <groupId>com.github.spotbugs</groupId>
  223. <artifactId>spotbugs-maven-plugin</artifactId>
  224. <version>${version.plugin.spotbugs}</version>
  225. <configuration>
  226. <skip>${spotbugs.skip}</skip>
  227. <effort>Max</effort>
  228. <threshold>Low</threshold>
  229. <xmlOutput>true</xmlOutput>
  230. <failOnError>false</failOnError>
  231. <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory>
  232. <excludeFilterFile>${project.basedir}/../spotbugs-exclude.xml</excludeFilterFile>
  233. </configuration>
  234. </plugin>
  235. <!-- Enable scanning for methods above the inlining threshold (JDK 7+) -->
  236. <plugin>
  237. <groupId>com.github.ferstl</groupId>
  238. <artifactId>jitwatch-jarscan-maven-plugin</artifactId>
  239. <version>${version.plugin.jitwatch}</version>
  240. </plugin>
  241. <!-- Add license headers to all files. -->
  242. <plugin>
  243. <groupId>com.mycila</groupId>
  244. <artifactId>license-maven-plugin</artifactId>
  245. <version>${version.plugin.license}</version>
  246. <inherited>false</inherited>
  247. <configuration>
  248. <header>${project.basedir}/NOTICE</header>
  249. <aggregate>true</aggregate>
  250. <failIfMissing>true</failIfMissing>
  251. <encoding>${project.build.sourceEncoding}</encoding>
  252. <properties>
  253. <current.year>Present</current.year>
  254. <copyright.holder>${copyright.holder}</copyright.holder>
  255. </properties>
  256. <includes>
  257. <include>**/main/java/**/*.java</include>
  258. <include>**/main/java-*/**/*.java</include>
  259. <include>**/main/c/**/*.c</include>
  260. </includes>
  261. <strictCheck>true</strictCheck>
  262. <mapping>
  263. <java>SLASHSTAR_STYLE</java>
  264. </mapping>
  265. </configuration>
  266. <executions>
  267. <execution>
  268. <phase>package</phase>
  269. <goals>
  270. <goal>format</goal>
  271. </goals>
  272. </execution>
  273. </executions>
  274. </plugin>
  275. <!-- Setup plugin for deployment to Maven Central. -->
  276. <plugin>
  277. <groupId>org.sonatype.plugins</groupId>
  278. <artifactId>nexus-staging-maven-plugin</artifactId>
  279. <version>${version.plugin.staging}</version>
  280. <extensions>true</extensions>
  281. <configuration>
  282. <serverId>central</serverId>
  283. <nexusUrl>${nexus.url}</nexusUrl>
  284. <autoReleaseAfterClose>true</autoReleaseAfterClose>
  285. </configuration>
  286. </plugin>
  287. <!-- Allow for automated version updates. -->
  288. <plugin>
  289. <groupId>org.codehaus.mojo</groupId>
  290. <artifactId>versions-maven-plugin</artifactId>
  291. <version>${version.plugin.versions}</version>
  292. <configuration>
  293. <rulesUri>file://${session.executionRootDirectory}/version-rules.xml</rulesUri>
  294. </configuration>
  295. </plugin>
  296. </plugins>
  297. <pluginManagement>
  298. <plugins>
  299. <plugin>
  300. <groupId>org.apache.maven.plugins</groupId>
  301. <artifactId>maven-clean-plugin</artifactId>
  302. <version>${version.plugin.clean}</version>
  303. </plugin>
  304. <plugin>
  305. <groupId>org.apache.maven.plugins</groupId>
  306. <artifactId>maven-jar-plugin</artifactId>
  307. <version>${version.plugin.jar}</version>
  308. </plugin>
  309. <plugin>
  310. <groupId>org.apache.maven.plugins</groupId>
  311. <artifactId>maven-resources-plugin</artifactId>
  312. <version>${version.plugin.resources}</version>
  313. <configuration>
  314. <!-- Setting this property suppresses a warning on implicit setting the filter encoding. -->
  315. <encoding>${project.build.sourceEncoding}</encoding>
  316. </configuration>
  317. </plugin>
  318. <plugin>
  319. <groupId>org.apache.maven.plugins</groupId>
  320. <artifactId>maven-install-plugin</artifactId>
  321. <version>${version.plugin.install}</version>
  322. </plugin>
  323. <plugin>
  324. <groupId>org.apache.maven.plugins</groupId>
  325. <artifactId>maven-surefire-plugin</artifactId>
  326. <version>${version.plugin.surefire}</version>
  327. <configuration>
  328. <systemPropertyVariables>
  329. <net.bytebuddy.experimental>${bytebuddy.experimental}</net.bytebuddy.experimental>
  330. <net.bytebuddy.test.integration>${bytebuddy.integration}</net.bytebuddy.test.integration>
  331. </systemPropertyVariables>
  332. </configuration>
  333. </plugin>
  334. <plugin>
  335. <groupId>org.apache.maven.plugins</groupId>
  336. <artifactId>maven-deploy-plugin</artifactId>
  337. <version>${version.plugin.deploy}</version>
  338. <configuration>
  339. <updateReleaseInfo>true</updateReleaseInfo>
  340. </configuration>
  341. </plugin>
  342. <plugin>
  343. <groupId>org.apache.maven.plugins</groupId>
  344. <artifactId>maven-site-plugin</artifactId>
  345. <version>${version.plugin.site}</version>
  346. </plugin>
  347. <plugin>
  348. <groupId>org.apache.maven.plugins</groupId>
  349. <artifactId>maven-compiler-plugin</artifactId>
  350. <version>${version.plugin.compiler}</version>
  351. <inherited>true</inherited>
  352. <configuration>
  353. <source>${sourcecode.main.version}</source>
  354. <target>${bytecode.main.version}</target>
  355. <testSource>${sourcecode.test.version}</testSource>
  356. <testTarget>${bytecode.test.version}</testTarget>
  357. <encoding>${project.build.sourceEncoding}</encoding>
  358. <showWarnings>true</showWarnings>
  359. <showDeprecation>true</showDeprecation>
  360. <compilerArgument>-Xlint:all,-options,-processing</compilerArgument>
  361. </configuration>
  362. </plugin>
  363. <plugin>
  364. <groupId>org.apache.maven.plugins</groupId>
  365. <artifactId>maven-javadoc-plugin</artifactId>
  366. <version>${version.plugin.javadoc}</version>
  367. <configuration>
  368. <source>${sourcecode.main.version}</source>
  369. <failOnWarnings>true</failOnWarnings>
  370. <detectOfflineLinks>false</detectOfflineLinks>
  371. </configuration>
  372. </plugin>
  373. <plugin>
  374. <groupId>org.apache.maven.plugins</groupId>
  375. <artifactId>maven-plugin-plugin</artifactId>
  376. <version>${version.plugin.plugin}</version>
  377. <dependencies>
  378. <dependency>
  379. <groupId>org.ow2.asm</groupId>
  380. <artifactId>asm</artifactId>
  381. <version>${version.asm}</version>
  382. </dependency>
  383. <dependency>
  384. <groupId>org.ow2.asm</groupId>
  385. <artifactId>asm-commons</artifactId>
  386. <version>${version.asm}</version>
  387. </dependency>
  388. </dependencies>
  389. </plugin>
  390. <plugin>
  391. <groupId>org.apache.maven.plugins</groupId>
  392. <artifactId>maven-assembly-plugin</artifactId>
  393. <version>${version.plugin.assembly}</version>
  394. </plugin>
  395. <plugin>
  396. <groupId>org.apache.maven.plugins</groupId>
  397. <artifactId>maven-dependency-plugin</artifactId>
  398. <version>${version.plugin.dependency}</version>
  399. </plugin>
  400. <plugin>
  401. <groupId>org.apache.maven.plugins</groupId>
  402. <artifactId>maven-help-plugin</artifactId>
  403. <version>${version.plugin.help}</version>
  404. </plugin>
  405. </plugins>
  406. </pluginManagement>
  407. </build>
  408. <!-- Define explicit version to overcome problem with generated reports. -->
  409. <reporting>
  410. <plugins>
  411. <plugin>
  412. <groupId>org.apache.maven.plugins</groupId>
  413. <artifactId>maven-jxr-plugin</artifactId>
  414. <version>${version.plugin.jxr}</version>
  415. </plugin>
  416. </plugins>
  417. </reporting>
  418. <distributionManagement>
  419. <snapshotRepository>
  420. <id>central</id>
  421. <url>${nexus.url}/content/repositories/snapshots</url>
  422. </snapshotRepository>
  423. <repository>
  424. <id>central</id>
  425. <url>${nexus.url}/service/local/staging/deploy/maven2</url>
  426. </repository>
  427. </distributionManagement>
  428. <profiles>
  429. <!-- Runs the build with compatibility for Java 6 JVMs. -->
  430. <profile>
  431. <id>java6-compatibility</id>
  432. <activation>
  433. <activeByDefault>false</activeByDefault>
  434. <jdk>1.6</jdk>
  435. </activation>
  436. <properties>
  437. <version.asm.deprecated>7.1</version.asm.deprecated>
  438. <version.plugin.clean>3.0.0</version.plugin.clean>
  439. <version.plugin.bundle>2.5.4</version.plugin.bundle>
  440. <version.plugin.compiler>3.6.2</version.plugin.compiler>
  441. <version.plugin.install>2.5.2</version.plugin.install>
  442. <version.plugin.deploy>2.8.2</version.plugin.deploy>
  443. <version.plugin.staging>1.6.8</version.plugin.staging>
  444. <version.plugin.versions>2.4</version.plugin.versions>
  445. <version.plugin.source>2.4</version.plugin.source>
  446. <version.plugin.gpg>1.6</version.plugin.gpg>
  447. <version.plugin.jxr>2.5</version.plugin.jxr>
  448. <version.plugin.buildhelper>1.12</version.plugin.buildhelper>
  449. <version.plugin.jar>3.0.2</version.plugin.jar>
  450. <version.plugin.site>3.7.1</version.plugin.site>
  451. <version.plugin.exec>1.5.0</version.plugin.exec>
  452. <version.plugin.plugin>3.5.2</version.plugin.plugin>
  453. <version.plugin.resources>3.0.2</version.plugin.resources>
  454. <version.plugin.assembly>2.6</version.plugin.assembly>
  455. <version.plugin.dependency>2.10</version.plugin.dependency>
  456. <version.plugin.help>2.2</version.plugin.help>
  457. <version.plugin.animal-sniffer>1.16</version.plugin.animal-sniffer>
  458. <version.plugin.enforcer>1.4.1</version.plugin.enforcer>
  459. <version.plugin.jacoco>0.7.9</version.plugin.jacoco>
  460. <version.plugin.checkstyle>2.15</version.plugin.checkstyle>
  461. <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs>
  462. <version.plugin.license>3.0</version.plugin.license>
  463. <version.plugin.shade>3.1.1</version.plugin.shade>
  464. <version.plugin.surefire>2.22.1</version.plugin.surefire>
  465. <version.plugin.javadoc>2.10.4</version.plugin.javadoc>
  466. <version.plugin.antrun>1.8</version.plugin.antrun>
  467. <version.checkstyle>6.1.1</version.checkstyle>
  468. <version.jmh>1.16</version.jmh>
  469. <version.cglib>3.2.12</version.cglib>
  470. <version.javassist>3.22.0-GA</version.javassist>
  471. <modulemaker.skip>true</modulemaker.skip>
  472. <spotbugs.skip>true</spotbugs.skip>
  473. <javadoc.download.skip>true</javadoc.download.skip>
  474. </properties>
  475. <modules>
  476. <module>byte-buddy</module>
  477. <module>byte-buddy-dep</module>
  478. <module>byte-buddy-benchmark</module>
  479. <module>byte-buddy-agent</module>
  480. <module>byte-buddy-android</module>
  481. <module>byte-buddy-maven-plugin</module>
  482. <module>byte-buddy-gradle-plugin</module>
  483. </modules>
  484. <build>
  485. <pluginManagement>
  486. <plugins>
  487. <plugin>
  488. <groupId>org.apache.maven.plugins</groupId>
  489. <artifactId>maven-plugin-plugin</artifactId>
  490. <version>${version.plugin.plugin}</version>
  491. <dependencies>
  492. <dependency>
  493. <groupId>org.ow2.asm</groupId>
  494. <artifactId>asm</artifactId>
  495. <version>${version.asm.deprecated}</version>
  496. </dependency>
  497. <dependency>
  498. <groupId>org.ow2.asm</groupId>
  499. <artifactId>asm-commons</artifactId>
  500. <version>${version.asm.deprecated}</version>
  501. </dependency>
  502. <dependency>
  503. <groupId>org.ow2.asm</groupId>
  504. <artifactId>asm-deprecated</artifactId>
  505. <version>${version.asm.deprecated}</version>
  506. </dependency>
  507. </dependencies>
  508. </plugin>
  509. </plugins>
  510. </pluginManagement>
  511. </build>
  512. </profile>
  513. <!-- Runs the build with compatibility for Java 7 JVMs. -->
  514. <profile>
  515. <id>java7-compatibility</id>
  516. <activation>
  517. <activeByDefault>false</activeByDefault>
  518. <jdk>1.7</jdk>
  519. </activation>
  520. <properties>
  521. <version.plugin.clean>3.1.0</version.plugin.clean>
  522. <version.plugin.bundle>3.5.1</version.plugin.bundle>
  523. <version.plugin.compiler>3.8.1</version.plugin.compiler>
  524. <version.plugin.staging>1.6.8</version.plugin.staging>
  525. <version.plugin.versions>2.8.1</version.plugin.versions>
  526. <version.plugin.jxr>3.1.1</version.plugin.jxr>
  527. <version.plugin.buildhelper>3.2.0</version.plugin.buildhelper>
  528. <version.plugin.site>3.11.0</version.plugin.site>
  529. <version.plugin.exec>3.0.0</version.plugin.exec>
  530. <version.plugin.assembly>3.3.0</version.plugin.assembly>
  531. <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs>
  532. <version.plugin.javadoc>3.2.0</version.plugin.javadoc>
  533. <version.plugin.animal-sniffer>1.17</version.plugin.animal-sniffer>
  534. <version.plugin.enforcer>1.4.1</version.plugin.enforcer>
  535. <version.plugin.jacoco>0.7.9</version.plugin.jacoco>
  536. <version.plugin.checkstyle>3.0.0</version.plugin.checkstyle>
  537. <version.plugin.japicmp>0.13.1</version.plugin.japicmp>
  538. <version.plugin.shade>3.2.4</version.plugin.shade>
  539. <version.plugin.antrun>3.0.0</version.plugin.antrun>
  540. <version.checkstyle>6.19</version.checkstyle>
  541. <version.cglib>3.2.12</version.cglib>
  542. <version.javassist>3.23.2-GA</version.javassist>
  543. <spotbugs.skip>true</spotbugs.skip>
  544. <javadoc.download.skip>true</javadoc.download.skip>
  545. </properties>
  546. </profile>
  547. <!-- Runs the build with compatibility for Java 9 JVMs. -->
  548. <profile>
  549. <id>java9-compatibility</id>
  550. <activation>
  551. <activeByDefault>false</activeByDefault>
  552. <jdk>9</jdk>
  553. </activation>
  554. <properties>
  555. <project.build.outputTimestamp />
  556. <sourcecode.main.version>1.6</sourcecode.main.version>
  557. <sourcecode.test.version>1.6</sourcecode.test.version>
  558. <bytecode.main.version>1.6</bytecode.main.version>
  559. <bytecode.test.version>1.6</bytecode.test.version>
  560. </properties>
  561. </profile>
  562. <!-- Runs the build with compatibility for Java 10 JVMs. -->
  563. <profile>
  564. <id>java10-compatibility</id>
  565. <activation>
  566. <activeByDefault>false</activeByDefault>
  567. <jdk>10</jdk>
  568. </activation>
  569. <properties>
  570. <sourcecode.main.version>1.7</sourcecode.main.version>
  571. <sourcecode.test.version>1.7</sourcecode.test.version>
  572. <bytecode.main.version>1.7</bytecode.main.version>
  573. <bytecode.test.version>1.7</bytecode.test.version>
  574. </properties>
  575. </profile>
  576. <!-- Runs the build with compatibility for Java 11 JVMs. -->
  577. <profile>
  578. <id>java11-compatibility</id>
  579. <activation>
  580. <activeByDefault>false</activeByDefault>
  581. <jdk>11</jdk>
  582. </activation>
  583. <properties>
  584. <sourcecode.main.version>1.7</sourcecode.main.version>
  585. <sourcecode.test.version>1.7</sourcecode.test.version>
  586. <bytecode.main.version>1.7</bytecode.main.version>
  587. <bytecode.test.version>1.7</bytecode.test.version>
  588. </properties>
  589. </profile>
  590. <!-- Runs the build with compatibility for Java 12 JVMs. -->
  591. <profile>
  592. <id>java12-compatibility</id>
  593. <activation>
  594. <activeByDefault>false</activeByDefault>
  595. <jdk>12</jdk>
  596. </activation>
  597. <properties>
  598. <sourcecode.main.version>1.7</sourcecode.main.version>
  599. <sourcecode.test.version>1.7</sourcecode.test.version>
  600. <bytecode.main.version>1.7</bytecode.main.version>
  601. <bytecode.test.version>1.7</bytecode.test.version>
  602. </properties>
  603. </profile>
  604. <!-- Runs the build with compatibility for Java 13 JVMs. -->
  605. <profile>
  606. <id>java13-compatibility</id>
  607. <activation>
  608. <activeByDefault>false</activeByDefault>
  609. <jdk>13</jdk>
  610. </activation>
  611. <properties>
  612. <sourcecode.main.version>1.7</sourcecode.main.version>
  613. <sourcecode.test.version>1.7</sourcecode.test.version>
  614. <bytecode.main.version>1.7</bytecode.main.version>
  615. <bytecode.test.version>1.7</bytecode.test.version>
  616. </properties>
  617. </profile>
  618. <!-- Runs the build with compatibility for Java 14 JVMs. -->
  619. <profile>
  620. <id>java14-compatibility</id>
  621. <activation>
  622. <activeByDefault>false</activeByDefault>
  623. <jdk>14</jdk>
  624. </activation>
  625. <properties>
  626. <sourcecode.main.version>1.7</sourcecode.main.version>
  627. <sourcecode.test.version>1.7</sourcecode.test.version>
  628. <bytecode.main.version>1.7</bytecode.main.version>
  629. <bytecode.test.version>1.7</bytecode.test.version>
  630. </properties>
  631. </profile>
  632. <!-- Runs the build with compatibility for Java 15 JVMs. -->
  633. <profile>
  634. <id>java15-compatibility</id>
  635. <activation>
  636. <activeByDefault>false</activeByDefault>
  637. <jdk>15</jdk>
  638. </activation>
  639. <properties>
  640. <sourcecode.main.version>8</sourcecode.main.version>
  641. <sourcecode.test.version>8</sourcecode.test.version>
  642. <bytecode.main.version>8</bytecode.main.version>
  643. <bytecode.test.version>8</bytecode.test.version>
  644. </properties>
  645. </profile>
  646. <!-- Runs the build with compatibility for Java 16 JVMs. -->
  647. <profile>
  648. <id>java16-compatibility</id>
  649. <activation>
  650. <activeByDefault>false</activeByDefault>
  651. <jdk>16</jdk>
  652. </activation>
  653. <properties>
  654. <sourcecode.main.version>8</sourcecode.main.version>
  655. <sourcecode.test.version>8</sourcecode.test.version>
  656. <bytecode.main.version>8</bytecode.main.version>
  657. <bytecode.test.version>8</bytecode.test.version>
  658. <jacoco.skip>true</jacoco.skip>
  659. </properties>
  660. </profile>
  661. <!-- Runs the build with compatibility for Java 15 JVMs. -->
  662. <profile>
  663. <id>java17-compatibility</id>
  664. <activation>
  665. <activeByDefault>false</activeByDefault>
  666. <jdk>17</jdk>
  667. </activation>
  668. <properties>
  669. <sourcecode.main.version>8</sourcecode.main.version>
  670. <sourcecode.test.version>8</sourcecode.test.version>
  671. <bytecode.main.version>8</bytecode.main.version>
  672. <bytecode.test.version>8</bytecode.test.version>
  673. <jacoco.skip>true</jacoco.skip>
  674. </properties>
  675. </profile>
  676. <!-- Runs the build with compatibility for Java 18 JVMs. -->
  677. <profile>
  678. <id>java18-compatibility</id>
  679. <activation>
  680. <activeByDefault>false</activeByDefault>
  681. <jdk>18</jdk>
  682. </activation>
  683. <properties>
  684. <sourcecode.main.version>8</sourcecode.main.version>
  685. <sourcecode.test.version>8</sourcecode.test.version>
  686. <bytecode.main.version>8</bytecode.main.version>
  687. <bytecode.test.version>8</bytecode.test.version>
  688. <jacoco.skip>true</jacoco.skip>
  689. </properties>
  690. </profile>
  691. <!-- Runs the build with compatibility for Java 19 JVMs. -->
  692. <profile>
  693. <id>java19-compatibility</id>
  694. <activation>
  695. <activeByDefault>false</activeByDefault>
  696. <jdk>19</jdk>
  697. </activation>
  698. <properties>
  699. <sourcecode.main.version>8</sourcecode.main.version>
  700. <sourcecode.test.version>8</sourcecode.test.version>
  701. <bytecode.main.version>8</bytecode.main.version>
  702. <bytecode.test.version>8</bytecode.test.version>
  703. <jacoco.skip>true</jacoco.skip>
  704. </properties>
  705. </profile>
  706. <!-- Runs the build with compatibility for Java 20 JVMs. -->
  707. <profile>
  708. <id>java20-compatibility</id>
  709. <activation>
  710. <activeByDefault>false</activeByDefault>
  711. <jdk>20</jdk>
  712. </activation>
  713. <properties>
  714. <sourcecode.main.version>8</sourcecode.main.version>
  715. <sourcecode.test.version>8</sourcecode.test.version>
  716. <bytecode.main.version>8</bytecode.main.version>
  717. <bytecode.test.version>8</bytecode.test.version>
  718. <jacoco.skip>true</jacoco.skip>
  719. </properties>
  720. </profile>
  721. <!-- Builds using a byte code target for Java 6. -->
  722. <profile>
  723. <id>java6</id>
  724. <activation>
  725. <activeByDefault>false</activeByDefault>
  726. </activation>
  727. <properties>
  728. <bytecode.main.version>1.6</bytecode.main.version>
  729. </properties>
  730. </profile>
  731. <!-- Builds using a byte code target for Java 7. -->
  732. <profile>
  733. <id>java7</id>
  734. <activation>
  735. <activeByDefault>false</activeByDefault>
  736. </activation>
  737. <properties>
  738. <bytecode.main.version>1.7</bytecode.main.version>
  739. <bytecode.test.version>1.7</bytecode.test.version>
  740. </properties>
  741. </profile>
  742. <!-- Builds using a byte code target for Java 8. -->
  743. <profile>
  744. <id>java8</id>
  745. <activation>
  746. <activeByDefault>false</activeByDefault>
  747. </activation>
  748. <properties>
  749. <bytecode.main.version>1.8</bytecode.main.version>
  750. <bytecode.test.version>1.8</bytecode.test.version>
  751. </properties>
  752. </profile>
  753. <!-- Builds using a byte code target for Java 9. -->
  754. <profile>
  755. <id>java9</id>
  756. <activation>
  757. <activeByDefault>false</activeByDefault>
  758. </activation>
  759. <properties>
  760. <bytecode.main.version>9</bytecode.main.version>
  761. <bytecode.test.version>9</bytecode.test.version>
  762. </properties>
  763. </profile>
  764. <!-- Builds using a byte code target for Java 10. -->
  765. <profile>
  766. <id>java10</id>
  767. <activation>
  768. <activeByDefault>false</activeByDefault>
  769. </activation>
  770. <properties>
  771. <bytecode.main.version>10</bytecode.main.version>
  772. <bytecode.test.version>10</bytecode.test.version>
  773. </properties>
  774. </profile>
  775. <!-- Builds using a byte code target for Java 11. -->
  776. <profile>
  777. <id>java11</id>
  778. <activation>
  779. <activeByDefault>false</activeByDefault>
  780. </activation>
  781. <properties>
  782. <bytecode.main.version>11</bytecode.main.version>
  783. <bytecode.test.version>11</bytecode.test.version>
  784. </properties>
  785. </profile>
  786. <!-- Builds using a byte code target for Java 12. -->
  787. <profile>
  788. <id>java12</id>
  789. <activation>
  790. <activeByDefault>false</activeByDefault>
  791. </activation>
  792. <properties>
  793. <bytecode.main.version>12</bytecode.main.version>
  794. <bytecode.test.version>12</bytecode.test.version>
  795. </properties>
  796. </profile>
  797. <!-- Builds using a byte code target for Java 13. -->
  798. <profile>
  799. <id>java13</id>
  800. <activation>
  801. <activeByDefault>false</activeByDefault>
  802. </activation>
  803. <properties>
  804. <bytecode.main.version>13</bytecode.main.version>
  805. <bytecode.test.version>13</bytecode.test.version>
  806. </properties>
  807. </profile>
  808. <!-- Builds using a byte code target for Java 14. -->
  809. <profile>
  810. <id>java14</id>
  811. <activation>
  812. <activeByDefault>false</activeByDefault>
  813. </activation>
  814. <properties>
  815. <bytecode.main.version>14</bytecode.main.version>
  816. <bytecode.test.version>14</bytecode.test.version>
  817. </properties>
  818. </profile>
  819. <!-- Builds using a byte code target for Java 15. -->
  820. <profile>
  821. <id>java15</id>
  822. <activation>
  823. <activeByDefault>false</activeByDefault>
  824. </activation>
  825. <properties>
  826. <bytecode.main.version>15</bytecode.main.version>
  827. <bytecode.test.version>15</bytecode.test.version>
  828. </properties>
  829. </profile>
  830. <!-- Builds using a byte code target for Java 16. -->
  831. <profile>
  832. <id>java16</id>
  833. <activation>
  834. <activeByDefault>false</activeByDefault>
  835. </activation>
  836. <properties>
  837. <bytecode.main.version>16</bytecode.main.version>
  838. <bytecode.test.version>16</bytecode.test.version>
  839. </properties>
  840. </profile>
  841. <!-- Builds using a byte code target for Java 17. -->
  842. <profile>
  843. <id>java17</id>
  844. <activation>
  845. <activeByDefault>false</activeByDefault>
  846. </activation>
  847. <properties>
  848. <bytecode.main.version>17</bytecode.main.version>
  849. <bytecode.test.version>17</bytecode.test.version>
  850. </properties>
  851. </profile>
  852. <!-- Builds using a byte code target for Java 18. -->
  853. <profile>
  854. <id>java18</id>
  855. <activation>
  856. <activeByDefault>false</activeByDefault>
  857. </activation>
  858. <properties>
  859. <bytecode.main.version>18</bytecode.main.version>
  860. <bytecode.test.version>18</bytecode.test.version>
  861. <spotbugs.skip>true</spotbugs.skip>
  862. </properties>
  863. </profile>
  864. <!-- Builds using a byte code target for Java 19. -->
  865. <profile>
  866. <id>java19</id>
  867. <activation>
  868. <activeByDefault>false</activeByDefault>
  869. </activation>
  870. <properties>
  871. <bytecode.main.version>19</bytecode.main.version>
  872. <bytecode.test.version>19</bytecode.test.version>
  873. <spotbugs.skip>true</spotbugs.skip>
  874. </properties>
  875. </profile>
  876. <!-- Builds using a byte code target for Java 20. -->
  877. <profile>
  878. <id>java20</id>
  879. <activation>
  880. <activeByDefault>false</activeByDefault>
  881. </activation>
  882. <properties>
  883. <bytecode.main.version>20</bytecode.main.version>
  884. <bytecode.test.version>20</bytecode.test.version>
  885. <spotbugs.skip>true</spotbugs.skip>
  886. </properties>
  887. </profile>
  888. <!-- Creates additional artifacts that are required for deployment. -->
  889. <profile>
  890. <id>extras</id>
  891. <activation>
  892. <activeByDefault>false</activeByDefault>
  893. </activation>
  894. <properties>
  895. <bytebuddy.extras>true</bytebuddy.extras>
  896. </properties>
  897. <build>
  898. <plugins>
  899. <!-- Create source code artifact. -->
  900. <plugin>
  901. <groupId>org.apache.maven.plugins</groupId>
  902. <artifactId>maven-source-plugin</artifactId>
  903. <version>${version.plugin.source}</version>
  904. <executions>
  905. <execution>
  906. <goals>
  907. <goal>jar</goal>
  908. </goals>
  909. </execution>
  910. </executions>
  911. </plugin>
  912. <!-- Create javadoc artifact. -->
  913. <plugin>
  914. <groupId>org.apache.maven.plugins</groupId>
  915. <artifactId>maven-javadoc-plugin</artifactId>
  916. <version>${version.plugin.javadoc}</version>
  917. <executions>
  918. <execution>
  919. <goals>
  920. <goal>jar</goal>
  921. </goals>
  922. </execution>
  923. </executions>
  924. </plugin>
  925. </plugins>
  926. </build>
  927. </profile>
  928. <!-- Sign any created artifact. (Requires configuration of gpg on the executing machine.) -->
  929. <profile>
  930. <id>gpg</id>
  931. <activation>
  932. <activeByDefault>false</activeByDefault>
  933. </activation>
  934. <build>
  935. <plugins>
  936. <!-- Sign artifacts. -->
  937. <plugin>
  938. <groupId>org.apache.maven.plugins</groupId>
  939. <artifactId>maven-gpg-plugin</artifactId>
  940. <version>${version.plugin.gpg}</version>
  941. <executions>
  942. <execution>
  943. <phase>verify</phase>
  944. <goals>
  945. <goal>sign</goal>
  946. </goals>
  947. <configuration>
  948. <gpgArguments>
  949. <arg>--pinentry-mode</arg>
  950. <arg>loopback</arg>
  951. </gpgArguments>
  952. </configuration>
  953. </execution>
  954. </executions>
  955. </plugin>
  956. </plugins>
  957. </build>
  958. </profile>
  959. <!-- Basic checks that are not requiring too much runtime. -->
  960. <profile>
  961. <id>checks</id>
  962. <activation>
  963. <activeByDefault>false</activeByDefault>
  964. </activation>
  965. <build>
  966. <plugins>
  967. <!-- Check style on build. -->
  968. <plugin>
  969. <groupId>org.apache.maven.plugins</groupId>
  970. <artifactId>maven-checkstyle-plugin</artifactId>
  971. <version>${version.plugin.checkstyle}</version>
  972. <executions>
  973. <execution>
  974. <phase>validate</phase>
  975. <goals>
  976. <goal>check</goal>
  977. </goals>
  978. <configuration>
  979. <configLocation>checkstyle.xml</configLocation>
  980. <consoleOutput>true</consoleOutput>
  981. <failsOnError>true</failsOnError>
  982. <excludes>**/generated/**/*</excludes>
  983. <includeResources>false</includeResources>
  984. </configuration>
  985. </execution>
  986. </executions>
  987. <dependencies>
  988. <dependency>
  989. <groupId>com.puppycrawl.tools</groupId>
  990. <artifactId>checkstyle</artifactId>
  991. <version>${version.checkstyle}</version>
  992. </dependency>
  993. </dependencies>
  994. </plugin>
  995. <!-- Check API compatibility. -->
  996. <plugin>
  997. <groupId>org.codehaus.mojo</groupId>
  998. <artifactId>animal-sniffer-maven-plugin</artifactId>
  999. <version>${version.plugin.animal-sniffer}</version>
  1000. <executions>
  1001. <execution>
  1002. <phase>test</phase>
  1003. <goals>
  1004. <goal>check</goal>
  1005. </goals>
  1006. <configuration>
  1007. <signature>
  1008. <groupId>org.codehaus.mojo.signature</groupId>
  1009. <artifactId>java15</artifactId>
  1010. <version>1.0</version>
  1011. </signature>
  1012. </configuration>
  1013. </execution>
  1014. </executions>
  1015. <dependencies>
  1016. <dependency>
  1017. <groupId>org.ow2.asm</groupId>
  1018. <artifactId>asm</artifactId>
  1019. <version>${version.asm}</version>
  1020. </dependency>
  1021. </dependencies>
  1022. </plugin>
  1023. <!-- Make sure that Byte Buddy does never depend on ASM's tree API. -->
  1024. <plugin>
  1025. <groupId>org.apache.maven.plugins</groupId>
  1026. <artifactId>maven-enforcer-plugin</artifactId>
  1027. <version>${version.plugin.enforcer}</version>
  1028. <executions>
  1029. <execution>
  1030. <goals>
  1031. <goal>enforce</goal>
  1032. </goals>
  1033. <configuration>
  1034. <fail>true</fail>
  1035. <rules>
  1036. <bannedDependencies>
  1037. <includes>
  1038. <include>org.ow2.asm:asm-tree</include>
  1039. </includes>
  1040. </bannedDependencies>
  1041. <requireMavenVersion>
  1042. <version>[3.2.5,)</version>
  1043. </requireMavenVersion>
  1044. <requireJavaVersion>
  1045. <version>[1.6,)</version>
  1046. </requireJavaVersion>
  1047. </rules>
  1048. </configuration>
  1049. </execution>
  1050. </executions>
  1051. </plugin>
  1052. </plugins>
  1053. </build>
  1054. </profile>
  1055. <!-- Integration profile that executes long-running tasks. -->
  1056. <profile>
  1057. <id>integration</id>
  1058. <activation>
  1059. <activeByDefault>false</activeByDefault>
  1060. </activation>
  1061. <properties>
  1062. <bytebuddy.integration>true</bytebuddy.integration>
  1063. </properties>
  1064. </profile>
  1065. <!-- Integration profile that executes static code analysis. -->
  1066. <profile>
  1067. <id>analysis</id>
  1068. <activation>
  1069. <activeByDefault>false</activeByDefault>
  1070. </activation>
  1071. <build>
  1072. <plugins>
  1073. <!-- Run spotbugs if not specified differently in a module.-->
  1074. <plugin>
  1075. <groupId>com.github.spotbugs</groupId>
  1076. <artifactId>spotbugs-maven-plugin</artifactId>
  1077. <version>${version.plugin.spotbugs}</version>
  1078. <executions>
  1079. <execution>
  1080. <phase>verify</phase>
  1081. <goals>
  1082. <goal>check</goal>
  1083. </goals>
  1084. <configuration>
  1085. <skip>${spotbugs.skip}</skip>
  1086. <effort>Max</effort>
  1087. <threshold>Low</threshold>
  1088. <xmlOutput>true</xmlOutput>
  1089. <failOnError>true</failOnError>
  1090. </configuration>
  1091. </execution>
  1092. </executions>
  1093. </plugin>
  1094. <!-- Avoid violating semantic versioning. -->
  1095. <plugin>
  1096. <groupId>com.github.siom79.japicmp</groupId>
  1097. <artifactId>japicmp-maven-plugin</artifactId>
  1098. <version>${version.plugin.japicmp}</version>
  1099. <executions>
  1100. <execution>
  1101. <phase>verify</phase>
  1102. <goals>
  1103. <goal>cmp</goal>
  1104. </goals>
  1105. <configuration>
  1106. <skip>${japicmp.skip}</skip>
  1107. <newVersion>
  1108. <file>
  1109. <path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
  1110. </file>
  1111. </newVersion>
  1112. <parameter>
  1113. <accessModifier>public</accessModifier>
  1114. <oldVersionPattern>\d+\.\d+\.\d+</oldVersionPattern>
  1115. <ignoreMissingClasses>true</ignoreMissingClasses>
  1116. <onlyBinaryIncompatible>true</onlyBinaryIncompatible>
  1117. <breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning>
  1118. </parameter>
  1119. </configuration>
  1120. </execution>
  1121. </executions>
  1122. </plugin>
  1123. </plugins>
  1124. </build>
  1125. </profile>
  1126. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1127. <profile>
  1128. <id>checksum-collect</id>
  1129. <activation>
  1130. <activeByDefault>false</activeByDefault>
  1131. </activation>
  1132. <build>
  1133. <plugins>
  1134. <plugin>
  1135. <groupId>org.apache.maven.plugins</groupId>
  1136. <artifactId>maven-antrun-plugin</artifactId>
  1137. <version>${version.plugin.antrun}</version>
  1138. <inherited>false</inherited>
  1139. <executions>
  1140. <execution>
  1141. <id>checksum-collect</id>
  1142. <phase>initialize</phase>
  1143. <goals>
  1144. <goal>run</goal>
  1145. </goals>
  1146. <configuration>
  1147. <target>
  1148. <echo level="info" message="Checksum collection is enabled (only if using mvnw)." />
  1149. </target>
  1150. </configuration>
  1151. </execution>
  1152. </executions>
  1153. </plugin>
  1154. </plugins>
  1155. </build>
  1156. </profile>
  1157. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1158. <profile>
  1159. <id>checksum-enforce</id>
  1160. <activation>
  1161. <activeByDefault>false</activeByDefault>
  1162. </activation>
  1163. <build>
  1164. <plugins>
  1165. <plugin>
  1166. <groupId>org.apache.maven.plugins</groupId>
  1167. <artifactId>maven-antrun-plugin</artifactId>
  1168. <version>${version.plugin.antrun}</version>
  1169. <inherited>false</inherited>
  1170. <executions>
  1171. <execution>
  1172. <id>checksum-enforce</id>
  1173. <phase>initialize</phase>
  1174. <goals>
  1175. <goal>run</goal>
  1176. </goals>
  1177. <configuration>
  1178. <target>
  1179. <echo level="info" message="Checksum enforcement is enabled (only if using mvnw)." />
  1180. </target>
  1181. </configuration>
  1182. </execution>
  1183. </executions>
  1184. </plugin>
  1185. </plugins>
  1186. </build>
  1187. </profile>
  1188. </profiles>
  1189. <dependencyManagement>
  1190. <dependencies>
  1191. <dependency>
  1192. <groupId>${project.groupId}</groupId>
  1193. <artifactId>byte-buddy</artifactId>
  1194. <version>${project.version}</version>
  1195. </dependency>
  1196. <dependency>
  1197. <groupId>${project.groupId}</groupId>
  1198. <artifactId>byte-buddy-dep</artifactId>
  1199. <version>${project.version}</version>
  1200. </dependency>
  1201. <dependency>
  1202. <groupId>${project.groupId}</groupId>
  1203. <artifactId>byte-buddy-agent</artifactId>
  1204. <version>${project.version}</version>
  1205. </dependency>
  1206. <dependency>
  1207. <groupId>${project.groupId}</groupId>
  1208. <artifactId>byte-buddy-benchmark</artifactId>
  1209. <version>${project.version}</version>
  1210. </dependency>
  1211. <dependency>
  1212. <groupId>${project.groupId}</groupId>
  1213. <artifactId>byte-buddy-android</artifactId>
  1214. <version>${project.version}</version>
  1215. </dependency>
  1216. <dependency>
  1217. <groupId>${project.groupId}</groupId>
  1218. <artifactId>byte-buddy-maven-plugin</artifactId>
  1219. <version>${project.version}</version>
  1220. </dependency>
  1221. <dependency>
  1222. <groupId>${project.groupId}</groupId>
  1223. <artifactId>byte-buddy-gradle-plugin</artifactId>
  1224. <version>${project.version}</version>
  1225. </dependency>
  1226. </dependencies>
  1227. </dependencyManagement>
  1228. </project>