byte-buddy-parent-1.14.9.pom 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318
  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.14.9</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>1696849374</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.6</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>3.0.0-M7</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.7.3.0</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. <surefire.arguments />
  115. </properties>
  116. <licenses>
  117. <license>
  118. <name>Apache License, Version 2.0</name>
  119. <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
  120. <distribution>repo</distribution>
  121. <comments>A business-friendly OSS license</comments>
  122. </license>
  123. </licenses>
  124. <developers>
  125. <developer>
  126. <id>raphw</id>
  127. <name>Rafael Winterhalter</name>
  128. <email>rafael.wth@gmail.com</email>
  129. <url>https://rafael.codes</url>
  130. <roles>
  131. <role>developer</role>
  132. </roles>
  133. <timezone>+1</timezone>
  134. </developer>
  135. </developers>
  136. <issueManagement>
  137. <system>github.com</system>
  138. <url>https://github.com/raphw/byte-buddy/issues</url>
  139. </issueManagement>
  140. <scm>
  141. <connection>scm:git:${repository.url}</connection>
  142. <developerConnection>scm:git:${repository.url}</developerConnection>
  143. <url>${repository.url}</url>
  144. <tag>byte-buddy-1.14.9</tag>
  145. </scm>
  146. <dependencies>
  147. <!-- Allows the suppression of spotbugs false-positives by annotations without adding an actual dependency. -->
  148. <dependency>
  149. <groupId>com.google.code.findbugs</groupId>
  150. <artifactId>findbugs-annotations</artifactId>
  151. <version>${version.utility.findbugs}</version>
  152. <scope>provided</scope>
  153. </dependency>
  154. <!-- Allow for marking nullability of values.-->
  155. <dependency>
  156. <groupId>com.google.code.findbugs</groupId>
  157. <artifactId>jsr305</artifactId>
  158. <version>${version.utility.jsr305}</version>
  159. <scope>provided</scope>
  160. </dependency>
  161. </dependencies>
  162. <build>
  163. <plugins>
  164. <!-- Define release properties. -->
  165. <plugin>
  166. <groupId>org.apache.maven.plugins</groupId>
  167. <artifactId>maven-release-plugin</artifactId>
  168. <version>${version.plugin.release}</version>
  169. <configuration>
  170. <useReleaseProfile>false</useReleaseProfile>
  171. <releaseProfiles>extras,gpg,gradle-release</releaseProfiles>
  172. <autoVersionSubmodules>true</autoVersionSubmodules>
  173. <tagNameFormat>byte-buddy-@{project.version}</tagNameFormat>
  174. </configuration>
  175. </plugin>
  176. <!-- Enable mutation testing. -->
  177. <plugin>
  178. <groupId>org.pitest</groupId>
  179. <artifactId>pitest-maven</artifactId>
  180. <version>${version.plugin.pitest}</version>
  181. <configuration>
  182. <targetClasses>
  183. <param>${pitest.target}.*</param>
  184. </targetClasses>
  185. <targetTests>
  186. <param>${pitest.target}.*</param>
  187. </targetTests>
  188. </configuration>
  189. </plugin>
  190. <!-- Configure Jacoco support for evaluating test case coverage. -->
  191. <plugin>
  192. <groupId>org.jacoco</groupId>
  193. <artifactId>jacoco-maven-plugin</artifactId>
  194. <version>${version.plugin.jacoco}</version>
  195. <configuration>
  196. <skip>${jacoco.skip}</skip>
  197. <includes>
  198. <include>net/bytebuddy/**</include>
  199. </includes>
  200. <excludes>
  201. <!-- Do not include JMH generated classes (both modern and legacy JMH).-->
  202. <exclude>net/bytebuddy/benchmark/generated/*</exclude>
  203. <exclude>net/bytebuddy/benchmark/jmh_generated/*</exclude>
  204. <!-- Avoid adding synthetic members to test classes as test assert class members. -->
  205. <exclude>*Test*</exclude>
  206. <exclude>*test*</exclude>
  207. </excludes>
  208. </configuration>
  209. </plugin>
  210. <!-- Generate coveralls reports from CI server. -->
  211. <plugin>
  212. <groupId>org.eluder.coveralls</groupId>
  213. <artifactId>coveralls-maven-plugin</artifactId>
  214. <version>${version.plugin.coveralls}</version>
  215. <configuration>
  216. <sourceDirectories>
  217. <sourceDirectory>${project.basedir}/byte-buddy-dep/src/main/java-6</sourceDirectory>
  218. </sourceDirectories>
  219. </configuration>
  220. </plugin>
  221. <!-- Also allow for manual spotbugs execution. Note that the generated warnings do not always apply for Byte Buddy's use case. -->
  222. <plugin>
  223. <groupId>com.github.spotbugs</groupId>
  224. <artifactId>spotbugs-maven-plugin</artifactId>
  225. <version>${version.plugin.spotbugs}</version>
  226. <configuration>
  227. <skip>${spotbugs.skip}</skip>
  228. <effort>Max</effort>
  229. <threshold>Low</threshold>
  230. <xmlOutput>true</xmlOutput>
  231. <failOnError>false</failOnError>
  232. <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory>
  233. <excludeFilterFile>${project.basedir}/../spotbugs-exclude.xml</excludeFilterFile>
  234. </configuration>
  235. </plugin>
  236. <!-- Enable scanning for methods above the inlining threshold (JDK 7+) -->
  237. <plugin>
  238. <groupId>com.github.ferstl</groupId>
  239. <artifactId>jitwatch-jarscan-maven-plugin</artifactId>
  240. <version>${version.plugin.jitwatch}</version>
  241. </plugin>
  242. <!-- Add license headers to all files. -->
  243. <plugin>
  244. <groupId>com.mycila</groupId>
  245. <artifactId>license-maven-plugin</artifactId>
  246. <version>${version.plugin.license}</version>
  247. <inherited>false</inherited>
  248. <configuration>
  249. <header>${project.basedir}/NOTICE</header>
  250. <aggregate>true</aggregate>
  251. <failIfMissing>true</failIfMissing>
  252. <encoding>${project.build.sourceEncoding}</encoding>
  253. <properties>
  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. <argLine>${surefire.arguments}</argLine>
  329. <systemPropertyVariables>
  330. <net.bytebuddy.experimental>${bytebuddy.experimental}</net.bytebuddy.experimental>
  331. <net.bytebuddy.test.integration>${bytebuddy.integration}</net.bytebuddy.test.integration>
  332. </systemPropertyVariables>
  333. </configuration>
  334. </plugin>
  335. <plugin>
  336. <groupId>org.apache.maven.plugins</groupId>
  337. <artifactId>maven-deploy-plugin</artifactId>
  338. <version>${version.plugin.deploy}</version>
  339. </plugin>
  340. <plugin>
  341. <groupId>org.apache.maven.plugins</groupId>
  342. <artifactId>maven-site-plugin</artifactId>
  343. <version>${version.plugin.site}</version>
  344. </plugin>
  345. <plugin>
  346. <groupId>org.apache.maven.plugins</groupId>
  347. <artifactId>maven-compiler-plugin</artifactId>
  348. <version>${version.plugin.compiler}</version>
  349. <inherited>true</inherited>
  350. <configuration>
  351. <source>${sourcecode.main.version}</source>
  352. <target>${bytecode.main.version}</target>
  353. <testSource>${sourcecode.test.version}</testSource>
  354. <testTarget>${bytecode.test.version}</testTarget>
  355. <encoding>${project.build.sourceEncoding}</encoding>
  356. <showWarnings>true</showWarnings>
  357. <showDeprecation>true</showDeprecation>
  358. <compilerArgument>-Xlint:all,-options,-processing</compilerArgument>
  359. </configuration>
  360. </plugin>
  361. <plugin>
  362. <groupId>org.apache.maven.plugins</groupId>
  363. <artifactId>maven-javadoc-plugin</artifactId>
  364. <version>${version.plugin.javadoc}</version>
  365. <configuration>
  366. <source>${sourcecode.main.version}</source>
  367. <failOnWarnings>true</failOnWarnings>
  368. <detectOfflineLinks>false</detectOfflineLinks>
  369. </configuration>
  370. </plugin>
  371. <plugin>
  372. <groupId>org.apache.maven.plugins</groupId>
  373. <artifactId>maven-plugin-plugin</artifactId>
  374. <version>${version.plugin.plugin}</version>
  375. <dependencies>
  376. <dependency>
  377. <groupId>org.ow2.asm</groupId>
  378. <artifactId>asm</artifactId>
  379. <version>${version.asm}</version>
  380. </dependency>
  381. <dependency>
  382. <groupId>org.ow2.asm</groupId>
  383. <artifactId>asm-commons</artifactId>
  384. <version>${version.asm}</version>
  385. </dependency>
  386. </dependencies>
  387. </plugin>
  388. <plugin>
  389. <groupId>org.apache.maven.plugins</groupId>
  390. <artifactId>maven-assembly-plugin</artifactId>
  391. <version>${version.plugin.assembly}</version>
  392. </plugin>
  393. <plugin>
  394. <groupId>org.apache.maven.plugins</groupId>
  395. <artifactId>maven-dependency-plugin</artifactId>
  396. <version>${version.plugin.dependency}</version>
  397. </plugin>
  398. <plugin>
  399. <groupId>org.apache.maven.plugins</groupId>
  400. <artifactId>maven-help-plugin</artifactId>
  401. <version>${version.plugin.help}</version>
  402. </plugin>
  403. </plugins>
  404. </pluginManagement>
  405. </build>
  406. <!-- Define explicit version to overcome problem with generated reports. -->
  407. <reporting>
  408. <plugins>
  409. <plugin>
  410. <groupId>org.apache.maven.plugins</groupId>
  411. <artifactId>maven-jxr-plugin</artifactId>
  412. <version>${version.plugin.jxr}</version>
  413. </plugin>
  414. </plugins>
  415. </reporting>
  416. <distributionManagement>
  417. <snapshotRepository>
  418. <id>central</id>
  419. <url>${nexus.url}/content/repositories/snapshots</url>
  420. </snapshotRepository>
  421. <repository>
  422. <id>central</id>
  423. <url>${nexus.url}/service/local/staging/deploy/maven2</url>
  424. </repository>
  425. </distributionManagement>
  426. <profiles>
  427. <!-- Runs the build with compatibility for Java 6 JVMs. -->
  428. <profile>
  429. <id>java6-compatibility</id>
  430. <activation>
  431. <activeByDefault>false</activeByDefault>
  432. <jdk>1.6</jdk>
  433. </activation>
  434. <properties>
  435. <version.asm.deprecated>7.1</version.asm.deprecated>
  436. <version.plugin.clean>3.0.0</version.plugin.clean>
  437. <version.plugin.bundle>2.5.4</version.plugin.bundle>
  438. <version.plugin.compiler>3.6.2</version.plugin.compiler>
  439. <version.plugin.install>2.5.2</version.plugin.install>
  440. <version.plugin.deploy>2.8.2</version.plugin.deploy>
  441. <version.plugin.staging>1.6.8</version.plugin.staging>
  442. <version.plugin.versions>2.4</version.plugin.versions>
  443. <version.plugin.source>2.4</version.plugin.source>
  444. <version.plugin.gpg>1.6</version.plugin.gpg>
  445. <version.plugin.jxr>2.5</version.plugin.jxr>
  446. <version.plugin.buildhelper>1.12</version.plugin.buildhelper>
  447. <version.plugin.jar>3.0.2</version.plugin.jar>
  448. <version.plugin.site>3.7.1</version.plugin.site>
  449. <version.plugin.exec>1.5.0</version.plugin.exec>
  450. <version.plugin.plugin>3.5.2</version.plugin.plugin>
  451. <version.plugin.resources>3.0.2</version.plugin.resources>
  452. <version.plugin.assembly>2.6</version.plugin.assembly>
  453. <version.plugin.dependency>2.10</version.plugin.dependency>
  454. <version.plugin.help>2.2</version.plugin.help>
  455. <version.plugin.animal-sniffer>1.16</version.plugin.animal-sniffer>
  456. <version.plugin.enforcer>1.4.1</version.plugin.enforcer>
  457. <version.plugin.jacoco>0.7.9</version.plugin.jacoco>
  458. <version.plugin.checkstyle>2.15</version.plugin.checkstyle>
  459. <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs>
  460. <version.plugin.license>3.0</version.plugin.license>
  461. <version.plugin.shade>3.1.1</version.plugin.shade>
  462. <version.plugin.surefire>2.22.1</version.plugin.surefire>
  463. <version.plugin.javadoc>2.10.4</version.plugin.javadoc>
  464. <version.plugin.antrun>1.8</version.plugin.antrun>
  465. <version.checkstyle>6.1.1</version.checkstyle>
  466. <version.jmh>1.16</version.jmh>
  467. <version.cglib>3.2.12</version.cglib>
  468. <version.javassist>3.22.0-GA</version.javassist>
  469. <modulemaker.skip>true</modulemaker.skip>
  470. <spotbugs.skip>true</spotbugs.skip>
  471. <javadoc.download.skip>true</javadoc.download.skip>
  472. </properties>
  473. <modules>
  474. <module>byte-buddy</module>
  475. <module>byte-buddy-dep</module>
  476. <module>byte-buddy-benchmark</module>
  477. <module>byte-buddy-agent</module>
  478. <module>byte-buddy-android</module>
  479. <module>byte-buddy-maven-plugin</module>
  480. <module>byte-buddy-gradle-plugin</module>
  481. </modules>
  482. <build>
  483. <pluginManagement>
  484. <plugins>
  485. <plugin>
  486. <groupId>org.apache.maven.plugins</groupId>
  487. <artifactId>maven-plugin-plugin</artifactId>
  488. <version>${version.plugin.plugin}</version>
  489. <dependencies>
  490. <dependency>
  491. <groupId>org.ow2.asm</groupId>
  492. <artifactId>asm</artifactId>
  493. <version>${version.asm.deprecated}</version>
  494. </dependency>
  495. <dependency>
  496. <groupId>org.ow2.asm</groupId>
  497. <artifactId>asm-commons</artifactId>
  498. <version>${version.asm.deprecated}</version>
  499. </dependency>
  500. <dependency>
  501. <groupId>org.ow2.asm</groupId>
  502. <artifactId>asm-deprecated</artifactId>
  503. <version>${version.asm.deprecated}</version>
  504. </dependency>
  505. </dependencies>
  506. </plugin>
  507. </plugins>
  508. </pluginManagement>
  509. </build>
  510. </profile>
  511. <!-- Runs the build with compatibility for Java 7 JVMs. -->
  512. <profile>
  513. <id>java7-compatibility</id>
  514. <activation>
  515. <activeByDefault>false</activeByDefault>
  516. <jdk>1.7</jdk>
  517. </activation>
  518. <properties>
  519. <version.plugin.clean>3.1.0</version.plugin.clean>
  520. <version.plugin.bundle>3.5.1</version.plugin.bundle>
  521. <version.plugin.compiler>3.8.1</version.plugin.compiler>
  522. <version.plugin.staging>1.6.8</version.plugin.staging>
  523. <version.plugin.versions>2.8.1</version.plugin.versions>
  524. <version.plugin.jxr>3.1.1</version.plugin.jxr>
  525. <version.plugin.buildhelper>3.2.0</version.plugin.buildhelper>
  526. <version.plugin.site>3.11.0</version.plugin.site>
  527. <version.plugin.exec>3.0.0</version.plugin.exec>
  528. <version.plugin.assembly>3.3.0</version.plugin.assembly>
  529. <version.plugin.spotbugs>3.1.0-RC8</version.plugin.spotbugs>
  530. <version.plugin.javadoc>3.2.0</version.plugin.javadoc>
  531. <version.plugin.animal-sniffer>1.17</version.plugin.animal-sniffer>
  532. <version.plugin.enforcer>1.4.1</version.plugin.enforcer>
  533. <version.plugin.jacoco>0.7.9</version.plugin.jacoco>
  534. <version.plugin.checkstyle>3.0.0</version.plugin.checkstyle>
  535. <version.plugin.japicmp>0.13.1</version.plugin.japicmp>
  536. <version.plugin.shade>3.2.4</version.plugin.shade>
  537. <version.plugin.antrun>3.0.0</version.plugin.antrun>
  538. <version.checkstyle>6.19</version.checkstyle>
  539. <version.cglib>3.2.12</version.cglib>
  540. <version.javassist>3.23.2-GA</version.javassist>
  541. <spotbugs.skip>true</spotbugs.skip>
  542. <javadoc.download.skip>true</javadoc.download.skip>
  543. </properties>
  544. </profile>
  545. <!-- Runs the build with compatibility for Java 9 JVMs. -->
  546. <profile>
  547. <id>java9-compatibility</id>
  548. <activation>
  549. <activeByDefault>false</activeByDefault>
  550. <jdk>9</jdk>
  551. </activation>
  552. <properties>
  553. <project.build.outputTimestamp />
  554. <sourcecode.main.version>1.6</sourcecode.main.version>
  555. <sourcecode.test.version>1.6</sourcecode.test.version>
  556. <bytecode.main.version>1.6</bytecode.main.version>
  557. <bytecode.test.version>1.6</bytecode.test.version>
  558. </properties>
  559. </profile>
  560. <!-- Runs the build with compatibility for Java 10 JVMs. -->
  561. <profile>
  562. <id>java10-compatibility</id>
  563. <activation>
  564. <activeByDefault>false</activeByDefault>
  565. <jdk>10</jdk>
  566. </activation>
  567. <properties>
  568. <sourcecode.main.version>1.7</sourcecode.main.version>
  569. <sourcecode.test.version>1.7</sourcecode.test.version>
  570. <bytecode.main.version>1.7</bytecode.main.version>
  571. <bytecode.test.version>1.7</bytecode.test.version>
  572. </properties>
  573. </profile>
  574. <!-- Runs the build with compatibility for Java 11 JVMs. -->
  575. <profile>
  576. <id>java11-compatibility</id>
  577. <activation>
  578. <activeByDefault>false</activeByDefault>
  579. <jdk>11</jdk>
  580. </activation>
  581. <properties>
  582. <sourcecode.main.version>1.7</sourcecode.main.version>
  583. <sourcecode.test.version>1.7</sourcecode.test.version>
  584. <bytecode.main.version>1.7</bytecode.main.version>
  585. <bytecode.test.version>1.7</bytecode.test.version>
  586. </properties>
  587. </profile>
  588. <!-- Runs the build with compatibility for Java 12 JVMs. -->
  589. <profile>
  590. <id>java12-compatibility</id>
  591. <activation>
  592. <activeByDefault>false</activeByDefault>
  593. <jdk>12</jdk>
  594. </activation>
  595. <properties>
  596. <sourcecode.main.version>1.7</sourcecode.main.version>
  597. <sourcecode.test.version>1.7</sourcecode.test.version>
  598. <bytecode.main.version>1.7</bytecode.main.version>
  599. <bytecode.test.version>1.7</bytecode.test.version>
  600. </properties>
  601. </profile>
  602. <!-- Runs the build with compatibility for Java 13 JVMs. -->
  603. <profile>
  604. <id>java13-compatibility</id>
  605. <activation>
  606. <activeByDefault>false</activeByDefault>
  607. <jdk>13</jdk>
  608. </activation>
  609. <properties>
  610. <sourcecode.main.version>1.7</sourcecode.main.version>
  611. <sourcecode.test.version>1.7</sourcecode.test.version>
  612. <bytecode.main.version>1.7</bytecode.main.version>
  613. <bytecode.test.version>1.7</bytecode.test.version>
  614. </properties>
  615. </profile>
  616. <!-- Runs the build with compatibility for Java 14 JVMs. -->
  617. <profile>
  618. <id>java14-compatibility</id>
  619. <activation>
  620. <activeByDefault>false</activeByDefault>
  621. <jdk>14</jdk>
  622. </activation>
  623. <properties>
  624. <sourcecode.main.version>1.7</sourcecode.main.version>
  625. <sourcecode.test.version>1.7</sourcecode.test.version>
  626. <bytecode.main.version>1.7</bytecode.main.version>
  627. <bytecode.test.version>1.7</bytecode.test.version>
  628. </properties>
  629. </profile>
  630. <!-- Runs the build with compatibility for Java 15 JVMs. -->
  631. <profile>
  632. <id>java15-compatibility</id>
  633. <activation>
  634. <activeByDefault>false</activeByDefault>
  635. <jdk>15</jdk>
  636. </activation>
  637. <properties>
  638. <sourcecode.main.version>8</sourcecode.main.version>
  639. <sourcecode.test.version>8</sourcecode.test.version>
  640. <bytecode.main.version>8</bytecode.main.version>
  641. <bytecode.test.version>8</bytecode.test.version>
  642. </properties>
  643. </profile>
  644. <!-- Runs the build with compatibility for Java 16 JVMs. -->
  645. <profile>
  646. <id>java16-compatibility</id>
  647. <activation>
  648. <activeByDefault>false</activeByDefault>
  649. <jdk>16</jdk>
  650. </activation>
  651. <properties>
  652. <sourcecode.main.version>8</sourcecode.main.version>
  653. <sourcecode.test.version>8</sourcecode.test.version>
  654. <bytecode.main.version>8</bytecode.main.version>
  655. <bytecode.test.version>8</bytecode.test.version>
  656. <jacoco.skip>true</jacoco.skip>
  657. </properties>
  658. </profile>
  659. <!-- Runs the build with compatibility for Java 17 JVMs. -->
  660. <profile>
  661. <id>java17-compatibility</id>
  662. <activation>
  663. <activeByDefault>false</activeByDefault>
  664. <jdk>17</jdk>
  665. </activation>
  666. <properties>
  667. <sourcecode.main.version>8</sourcecode.main.version>
  668. <sourcecode.test.version>8</sourcecode.test.version>
  669. <bytecode.main.version>8</bytecode.main.version>
  670. <bytecode.test.version>8</bytecode.test.version>
  671. <jacoco.skip>true</jacoco.skip>
  672. </properties>
  673. </profile>
  674. <!-- Runs the build with compatibility for Java 18 JVMs. -->
  675. <profile>
  676. <id>java18-compatibility</id>
  677. <activation>
  678. <activeByDefault>false</activeByDefault>
  679. <jdk>18</jdk>
  680. </activation>
  681. <properties>
  682. <sourcecode.main.version>8</sourcecode.main.version>
  683. <sourcecode.test.version>8</sourcecode.test.version>
  684. <bytecode.main.version>8</bytecode.main.version>
  685. <bytecode.test.version>8</bytecode.test.version>
  686. <jacoco.skip>true</jacoco.skip>
  687. </properties>
  688. </profile>
  689. <!-- Runs the build with compatibility for Java 19 JVMs. -->
  690. <profile>
  691. <id>java19-compatibility</id>
  692. <activation>
  693. <activeByDefault>false</activeByDefault>
  694. <jdk>19</jdk>
  695. </activation>
  696. <properties>
  697. <sourcecode.main.version>8</sourcecode.main.version>
  698. <sourcecode.test.version>8</sourcecode.test.version>
  699. <bytecode.main.version>8</bytecode.main.version>
  700. <bytecode.test.version>8</bytecode.test.version>
  701. <jacoco.skip>true</jacoco.skip>
  702. </properties>
  703. </profile>
  704. <!-- Runs the build with compatibility for Java 20 JVMs. -->
  705. <profile>
  706. <id>java20-compatibility</id>
  707. <activation>
  708. <activeByDefault>false</activeByDefault>
  709. <jdk>20</jdk>
  710. </activation>
  711. <properties>
  712. <sourcecode.main.version>8</sourcecode.main.version>
  713. <sourcecode.test.version>8</sourcecode.test.version>
  714. <bytecode.main.version>8</bytecode.main.version>
  715. <bytecode.test.version>8</bytecode.test.version>
  716. <jacoco.skip>true</jacoco.skip>
  717. </properties>
  718. </profile>
  719. <!-- Runs the build with compatibility for Java 21 JVMs. -->
  720. <profile>
  721. <id>java21-compatibility</id>
  722. <activation>
  723. <activeByDefault>false</activeByDefault>
  724. <jdk>21</jdk>
  725. </activation>
  726. <properties>
  727. <sourcecode.main.version>8</sourcecode.main.version>
  728. <sourcecode.test.version>8</sourcecode.test.version>
  729. <bytecode.main.version>8</bytecode.main.version>
  730. <bytecode.test.version>8</bytecode.test.version>
  731. <jacoco.skip>true</jacoco.skip>
  732. </properties>
  733. </profile>
  734. <!-- Runs the build with compatibility for Java 22 JVMs. -->
  735. <profile>
  736. <id>java22-compatibility</id>
  737. <activation>
  738. <activeByDefault>false</activeByDefault>
  739. <jdk>22</jdk>
  740. </activation>
  741. <properties>
  742. <sourcecode.main.version>8</sourcecode.main.version>
  743. <sourcecode.test.version>8</sourcecode.test.version>
  744. <bytecode.main.version>8</bytecode.main.version>
  745. <bytecode.test.version>8</bytecode.test.version>
  746. <jacoco.skip>true</jacoco.skip>
  747. </properties>
  748. </profile>
  749. <!-- Builds using a byte code target for Java 6. -->
  750. <profile>
  751. <id>java6</id>
  752. <activation>
  753. <activeByDefault>false</activeByDefault>
  754. </activation>
  755. <properties>
  756. <bytecode.main.version>1.6</bytecode.main.version>
  757. </properties>
  758. </profile>
  759. <!-- Builds using a byte code target for Java 7. -->
  760. <profile>
  761. <id>java7</id>
  762. <activation>
  763. <activeByDefault>false</activeByDefault>
  764. </activation>
  765. <properties>
  766. <bytecode.main.version>1.7</bytecode.main.version>
  767. <bytecode.test.version>1.7</bytecode.test.version>
  768. </properties>
  769. </profile>
  770. <!-- Builds using a byte code target for Java 8. -->
  771. <profile>
  772. <id>java8</id>
  773. <activation>
  774. <activeByDefault>false</activeByDefault>
  775. </activation>
  776. <properties>
  777. <bytecode.main.version>1.8</bytecode.main.version>
  778. <bytecode.test.version>1.8</bytecode.test.version>
  779. </properties>
  780. </profile>
  781. <!-- Builds using a byte code target for Java 9. -->
  782. <profile>
  783. <id>java9</id>
  784. <activation>
  785. <activeByDefault>false</activeByDefault>
  786. </activation>
  787. <properties>
  788. <bytecode.main.version>9</bytecode.main.version>
  789. <bytecode.test.version>9</bytecode.test.version>
  790. </properties>
  791. </profile>
  792. <!-- Builds using a byte code target for Java 10. -->
  793. <profile>
  794. <id>java10</id>
  795. <activation>
  796. <activeByDefault>false</activeByDefault>
  797. </activation>
  798. <properties>
  799. <bytecode.main.version>10</bytecode.main.version>
  800. <bytecode.test.version>10</bytecode.test.version>
  801. </properties>
  802. </profile>
  803. <!-- Builds using a byte code target for Java 11. -->
  804. <profile>
  805. <id>java11</id>
  806. <activation>
  807. <activeByDefault>false</activeByDefault>
  808. </activation>
  809. <properties>
  810. <bytecode.main.version>11</bytecode.main.version>
  811. <bytecode.test.version>11</bytecode.test.version>
  812. </properties>
  813. </profile>
  814. <!-- Builds using a byte code target for Java 12. -->
  815. <profile>
  816. <id>java12</id>
  817. <activation>
  818. <activeByDefault>false</activeByDefault>
  819. </activation>
  820. <properties>
  821. <bytecode.main.version>12</bytecode.main.version>
  822. <bytecode.test.version>12</bytecode.test.version>
  823. </properties>
  824. </profile>
  825. <!-- Builds using a byte code target for Java 13. -->
  826. <profile>
  827. <id>java13</id>
  828. <activation>
  829. <activeByDefault>false</activeByDefault>
  830. </activation>
  831. <properties>
  832. <bytecode.main.version>13</bytecode.main.version>
  833. <bytecode.test.version>13</bytecode.test.version>
  834. </properties>
  835. </profile>
  836. <!-- Builds using a byte code target for Java 14. -->
  837. <profile>
  838. <id>java14</id>
  839. <activation>
  840. <activeByDefault>false</activeByDefault>
  841. </activation>
  842. <properties>
  843. <bytecode.main.version>14</bytecode.main.version>
  844. <bytecode.test.version>14</bytecode.test.version>
  845. </properties>
  846. </profile>
  847. <!-- Builds using a byte code target for Java 15. -->
  848. <profile>
  849. <id>java15</id>
  850. <activation>
  851. <activeByDefault>false</activeByDefault>
  852. </activation>
  853. <properties>
  854. <bytecode.main.version>15</bytecode.main.version>
  855. <bytecode.test.version>15</bytecode.test.version>
  856. </properties>
  857. </profile>
  858. <!-- Builds using a byte code target for Java 16. -->
  859. <profile>
  860. <id>java16</id>
  861. <activation>
  862. <activeByDefault>false</activeByDefault>
  863. </activation>
  864. <properties>
  865. <bytecode.main.version>16</bytecode.main.version>
  866. <bytecode.test.version>16</bytecode.test.version>
  867. </properties>
  868. </profile>
  869. <!-- Builds using a byte code target for Java 17. -->
  870. <profile>
  871. <id>java17</id>
  872. <activation>
  873. <activeByDefault>false</activeByDefault>
  874. </activation>
  875. <properties>
  876. <bytecode.main.version>17</bytecode.main.version>
  877. <bytecode.test.version>17</bytecode.test.version>
  878. </properties>
  879. </profile>
  880. <!-- Builds using a byte code target for Java 18. -->
  881. <profile>
  882. <id>java18</id>
  883. <activation>
  884. <activeByDefault>false</activeByDefault>
  885. </activation>
  886. <properties>
  887. <bytecode.main.version>18</bytecode.main.version>
  888. <bytecode.test.version>18</bytecode.test.version>
  889. <spotbugs.skip>true</spotbugs.skip>
  890. </properties>
  891. </profile>
  892. <!-- Builds using a byte code target for Java 19. -->
  893. <profile>
  894. <id>java19</id>
  895. <activation>
  896. <activeByDefault>false</activeByDefault>
  897. </activation>
  898. <properties>
  899. <bytecode.main.version>19</bytecode.main.version>
  900. <bytecode.test.version>19</bytecode.test.version>
  901. <spotbugs.skip>true</spotbugs.skip>
  902. </properties>
  903. </profile>
  904. <!-- Builds using a byte code target for Java 20. -->
  905. <profile>
  906. <id>java20</id>
  907. <activation>
  908. <activeByDefault>false</activeByDefault>
  909. </activation>
  910. <properties>
  911. <bytecode.main.version>20</bytecode.main.version>
  912. <bytecode.test.version>20</bytecode.test.version>
  913. <spotbugs.skip>true</spotbugs.skip>
  914. </properties>
  915. </profile>
  916. <!-- Builds using a byte code target for Java 21. -->
  917. <profile>
  918. <id>java21</id>
  919. <activation>
  920. <activeByDefault>false</activeByDefault>
  921. </activation>
  922. <properties>
  923. <bytecode.main.version>21</bytecode.main.version>
  924. <bytecode.test.version>21</bytecode.test.version>
  925. <spotbugs.skip>true</spotbugs.skip>
  926. </properties>
  927. </profile>
  928. <!-- Builds using a byte code target for Java 22. -->
  929. <profile>
  930. <id>java22</id>
  931. <activation>
  932. <activeByDefault>false</activeByDefault>
  933. </activation>
  934. <properties>
  935. <bytecode.main.version>22</bytecode.main.version>
  936. <bytecode.test.version>22</bytecode.test.version>
  937. <spotbugs.skip>true</spotbugs.skip>
  938. </properties>
  939. </profile>
  940. <!-- Enables dynamic agent loading when running a JDK 22 or newer. -->
  941. <profile>
  942. <id>surefire-enable-dynamic-attach</id>
  943. <activation>
  944. <activeByDefault>false</activeByDefault>
  945. <jdk>[22,)</jdk>
  946. </activation>
  947. <properties>
  948. <surefire.arguments>-XX:+EnableDynamicAgentLoading</surefire.arguments>
  949. </properties>
  950. </profile>
  951. <!-- Creates additional artifacts that are required for deployment. -->
  952. <profile>
  953. <id>extras</id>
  954. <activation>
  955. <activeByDefault>false</activeByDefault>
  956. </activation>
  957. <properties>
  958. <bytebuddy.extras>true</bytebuddy.extras>
  959. </properties>
  960. <build>
  961. <plugins>
  962. <!-- Create source code artifact. -->
  963. <plugin>
  964. <groupId>org.apache.maven.plugins</groupId>
  965. <artifactId>maven-source-plugin</artifactId>
  966. <version>${version.plugin.source}</version>
  967. <executions>
  968. <execution>
  969. <goals>
  970. <goal>jar</goal>
  971. </goals>
  972. </execution>
  973. </executions>
  974. </plugin>
  975. <!-- Create javadoc artifact. -->
  976. <plugin>
  977. <groupId>org.apache.maven.plugins</groupId>
  978. <artifactId>maven-javadoc-plugin</artifactId>
  979. <version>${version.plugin.javadoc}</version>
  980. <executions>
  981. <execution>
  982. <goals>
  983. <goal>jar</goal>
  984. </goals>
  985. </execution>
  986. </executions>
  987. </plugin>
  988. </plugins>
  989. </build>
  990. </profile>
  991. <!-- Sign any created artifact. (Requires configuration of gpg on the executing machine.) -->
  992. <profile>
  993. <id>gpg</id>
  994. <activation>
  995. <activeByDefault>false</activeByDefault>
  996. </activation>
  997. <build>
  998. <plugins>
  999. <!-- Sign artifacts. -->
  1000. <plugin>
  1001. <groupId>org.apache.maven.plugins</groupId>
  1002. <artifactId>maven-gpg-plugin</artifactId>
  1003. <version>${version.plugin.gpg}</version>
  1004. <executions>
  1005. <execution>
  1006. <phase>verify</phase>
  1007. <goals>
  1008. <goal>sign</goal>
  1009. </goals>
  1010. <configuration>
  1011. <gpgArguments>
  1012. <arg>--pinentry-mode</arg>
  1013. <arg>loopback</arg>
  1014. </gpgArguments>
  1015. </configuration>
  1016. </execution>
  1017. </executions>
  1018. </plugin>
  1019. </plugins>
  1020. </build>
  1021. </profile>
  1022. <!-- Basic checks that are not requiring too much runtime. -->
  1023. <profile>
  1024. <id>checks</id>
  1025. <activation>
  1026. <activeByDefault>false</activeByDefault>
  1027. </activation>
  1028. <build>
  1029. <plugins>
  1030. <!-- Check style on build. -->
  1031. <plugin>
  1032. <groupId>org.apache.maven.plugins</groupId>
  1033. <artifactId>maven-checkstyle-plugin</artifactId>
  1034. <version>${version.plugin.checkstyle}</version>
  1035. <executions>
  1036. <execution>
  1037. <phase>validate</phase>
  1038. <goals>
  1039. <goal>check</goal>
  1040. </goals>
  1041. <configuration>
  1042. <configLocation>checkstyle.xml</configLocation>
  1043. <consoleOutput>true</consoleOutput>
  1044. <failsOnError>true</failsOnError>
  1045. <excludes>**/generated/**/*</excludes>
  1046. <includeResources>false</includeResources>
  1047. </configuration>
  1048. </execution>
  1049. </executions>
  1050. <dependencies>
  1051. <dependency>
  1052. <groupId>com.puppycrawl.tools</groupId>
  1053. <artifactId>checkstyle</artifactId>
  1054. <version>${version.checkstyle}</version>
  1055. </dependency>
  1056. </dependencies>
  1057. </plugin>
  1058. <!-- Check API compatibility. -->
  1059. <plugin>
  1060. <groupId>org.codehaus.mojo</groupId>
  1061. <artifactId>animal-sniffer-maven-plugin</artifactId>
  1062. <version>${version.plugin.animal-sniffer}</version>
  1063. <executions>
  1064. <execution>
  1065. <phase>test</phase>
  1066. <goals>
  1067. <goal>check</goal>
  1068. </goals>
  1069. <configuration>
  1070. <signature>
  1071. <groupId>org.codehaus.mojo.signature</groupId>
  1072. <artifactId>java15</artifactId>
  1073. <version>1.0</version>
  1074. </signature>
  1075. </configuration>
  1076. </execution>
  1077. </executions>
  1078. <dependencies>
  1079. <dependency>
  1080. <groupId>org.ow2.asm</groupId>
  1081. <artifactId>asm</artifactId>
  1082. <version>${version.asm}</version>
  1083. </dependency>
  1084. </dependencies>
  1085. </plugin>
  1086. <!-- Make sure that Byte Buddy does never depend on ASM's tree API. -->
  1087. <plugin>
  1088. <groupId>org.apache.maven.plugins</groupId>
  1089. <artifactId>maven-enforcer-plugin</artifactId>
  1090. <version>${version.plugin.enforcer}</version>
  1091. <executions>
  1092. <execution>
  1093. <goals>
  1094. <goal>enforce</goal>
  1095. </goals>
  1096. <configuration>
  1097. <fail>true</fail>
  1098. <rules>
  1099. <bannedDependencies>
  1100. <includes>
  1101. <include>org.ow2.asm:asm-tree</include>
  1102. </includes>
  1103. </bannedDependencies>
  1104. <requireMavenVersion>
  1105. <version>[3.2.5,)</version>
  1106. </requireMavenVersion>
  1107. <requireJavaVersion>
  1108. <version>[1.6,)</version>
  1109. </requireJavaVersion>
  1110. </rules>
  1111. </configuration>
  1112. </execution>
  1113. </executions>
  1114. </plugin>
  1115. </plugins>
  1116. </build>
  1117. </profile>
  1118. <!-- Integration profile that executes long-running tasks. -->
  1119. <profile>
  1120. <id>integration</id>
  1121. <activation>
  1122. <activeByDefault>false</activeByDefault>
  1123. </activation>
  1124. <properties>
  1125. <bytebuddy.integration>true</bytebuddy.integration>
  1126. </properties>
  1127. </profile>
  1128. <!-- Integration profile that executes static code analysis. -->
  1129. <profile>
  1130. <id>analysis</id>
  1131. <activation>
  1132. <activeByDefault>false</activeByDefault>
  1133. </activation>
  1134. <build>
  1135. <plugins>
  1136. <!-- Run spotbugs if not specified differently in a module.-->
  1137. <plugin>
  1138. <groupId>com.github.spotbugs</groupId>
  1139. <artifactId>spotbugs-maven-plugin</artifactId>
  1140. <version>${version.plugin.spotbugs}</version>
  1141. <executions>
  1142. <execution>
  1143. <phase>verify</phase>
  1144. <goals>
  1145. <goal>check</goal>
  1146. </goals>
  1147. <configuration>
  1148. <skip>${spotbugs.skip}</skip>
  1149. <effort>Max</effort>
  1150. <threshold>Low</threshold>
  1151. <xmlOutput>true</xmlOutput>
  1152. <failOnError>true</failOnError>
  1153. </configuration>
  1154. </execution>
  1155. </executions>
  1156. </plugin>
  1157. <!-- Avoid violating semantic versioning. -->
  1158. <plugin>
  1159. <groupId>com.github.siom79.japicmp</groupId>
  1160. <artifactId>japicmp-maven-plugin</artifactId>
  1161. <version>${version.plugin.japicmp}</version>
  1162. <executions>
  1163. <execution>
  1164. <phase>verify</phase>
  1165. <goals>
  1166. <goal>cmp</goal>
  1167. </goals>
  1168. <configuration>
  1169. <skip>${japicmp.skip}</skip>
  1170. <newVersion>
  1171. <file>
  1172. <path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
  1173. </file>
  1174. </newVersion>
  1175. <parameter>
  1176. <accessModifier>public</accessModifier>
  1177. <oldVersionPattern>\d+\.\d+\.\d+</oldVersionPattern>
  1178. <ignoreMissingClasses>true</ignoreMissingClasses>
  1179. <onlyBinaryIncompatible>true</onlyBinaryIncompatible>
  1180. <breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning>
  1181. <excludes>
  1182. <exclude>net.bytebuddy.asm.MemberSubstitution$Replacement$Binding</exclude>
  1183. <exclude>net.bytebuddy.asm.MemberSubstitution$Replacement$ForElementMatchers</exclude>
  1184. <exclude>net.bytebuddy.asm.MemberSubstitution$Replacement$ForFirstBinding</exclude>
  1185. <exclude>net.bytebuddy.asm.MemberSubstitution$Replacement$NoOp</exclude>
  1186. </excludes>
  1187. </parameter>
  1188. </configuration>
  1189. </execution>
  1190. </executions>
  1191. </plugin>
  1192. </plugins>
  1193. </build>
  1194. </profile>
  1195. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1196. <profile>
  1197. <id>checksum-collect</id>
  1198. <activation>
  1199. <activeByDefault>false</activeByDefault>
  1200. </activation>
  1201. <build>
  1202. <plugins>
  1203. <plugin>
  1204. <groupId>org.apache.maven.plugins</groupId>
  1205. <artifactId>maven-antrun-plugin</artifactId>
  1206. <version>${version.plugin.antrun}</version>
  1207. <inherited>false</inherited>
  1208. <executions>
  1209. <execution>
  1210. <id>checksum-collect</id>
  1211. <phase>initialize</phase>
  1212. <goals>
  1213. <goal>run</goal>
  1214. </goals>
  1215. <configuration>
  1216. <target>
  1217. <echo level="info" message="Checksum collection is enabled (only if using mvnw)." />
  1218. </target>
  1219. </configuration>
  1220. </execution>
  1221. </executions>
  1222. </plugin>
  1223. </plugins>
  1224. </build>
  1225. </profile>
  1226. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1227. <profile>
  1228. <id>checksum-enforce</id>
  1229. <activation>
  1230. <activeByDefault>false</activeByDefault>
  1231. </activation>
  1232. <build>
  1233. <plugins>
  1234. <plugin>
  1235. <groupId>org.apache.maven.plugins</groupId>
  1236. <artifactId>maven-antrun-plugin</artifactId>
  1237. <version>${version.plugin.antrun}</version>
  1238. <inherited>false</inherited>
  1239. <executions>
  1240. <execution>
  1241. <id>checksum-enforce</id>
  1242. <phase>initialize</phase>
  1243. <goals>
  1244. <goal>run</goal>
  1245. </goals>
  1246. <configuration>
  1247. <target>
  1248. <echo level="info" message="Checksum enforcement is enabled (only if using mvnw)." />
  1249. </target>
  1250. </configuration>
  1251. </execution>
  1252. </executions>
  1253. </plugin>
  1254. </plugins>
  1255. </build>
  1256. </profile>
  1257. </profiles>
  1258. <dependencyManagement>
  1259. <dependencies>
  1260. <dependency>
  1261. <groupId>${project.groupId}</groupId>
  1262. <artifactId>byte-buddy</artifactId>
  1263. <version>${project.version}</version>
  1264. </dependency>
  1265. <dependency>
  1266. <groupId>${project.groupId}</groupId>
  1267. <artifactId>byte-buddy-dep</artifactId>
  1268. <version>${project.version}</version>
  1269. </dependency>
  1270. <dependency>
  1271. <groupId>${project.groupId}</groupId>
  1272. <artifactId>byte-buddy-agent</artifactId>
  1273. <version>${project.version}</version>
  1274. </dependency>
  1275. <dependency>
  1276. <groupId>${project.groupId}</groupId>
  1277. <artifactId>byte-buddy-benchmark</artifactId>
  1278. <version>${project.version}</version>
  1279. </dependency>
  1280. <dependency>
  1281. <groupId>${project.groupId}</groupId>
  1282. <artifactId>byte-buddy-android</artifactId>
  1283. <version>${project.version}</version>
  1284. </dependency>
  1285. <dependency>
  1286. <groupId>${project.groupId}</groupId>
  1287. <artifactId>byte-buddy-maven-plugin</artifactId>
  1288. <version>${project.version}</version>
  1289. </dependency>
  1290. <dependency>
  1291. <groupId>${project.groupId}</groupId>
  1292. <artifactId>byte-buddy-gradle-plugin</artifactId>
  1293. <version>${project.version}</version>
  1294. </dependency>
  1295. </dependencies>
  1296. </dependencyManagement>
  1297. </project>