byte-buddy-parent-1.15.11.pom 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367
  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.15.11</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>1734253541</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.7.1</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.9</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.7.0</version.plugin.staging>
  72. <version.plugin.versions>2.18.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.5.2</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.1.1</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.17.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.12</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.8.3.1</version.plugin.spotbugs>
  97. <version.plugin.modulemaker>1.11</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.plugin.bytecode-update>1.0</version.plugin.bytecode-update>
  102. <version.checkstyle>9.3</version.checkstyle>
  103. <version.android.sdk>4.1.1.4</version.android.sdk>
  104. <version.utility.findbugs>3.0.1</version.utility.findbugs>
  105. <version.utility.jsr305>3.0.2</version.utility.jsr305>
  106. <version.jmh>1.35</version.jmh>
  107. <version.cglib>3.3.0</version.cglib>
  108. <version.javassist>3.29.0-GA</version.javassist>
  109. <spotbugs.skip>false</spotbugs.skip>
  110. <jacoco.skip>false</jacoco.skip>
  111. <japicmp.skip>false</japicmp.skip>
  112. <modulemaker.skip>false</modulemaker.skip>
  113. <javadoc.download.skip>false</javadoc.download.skip>
  114. <repository.url>git@github.com:raphw/byte-buddy.git</repository.url>
  115. <surefire.arguments />
  116. </properties>
  117. <licenses>
  118. <license>
  119. <name>Apache License, Version 2.0</name>
  120. <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
  121. <distribution>repo</distribution>
  122. <comments>A business-friendly OSS license</comments>
  123. </license>
  124. </licenses>
  125. <developers>
  126. <developer>
  127. <id>raphw</id>
  128. <name>Rafael Winterhalter</name>
  129. <email>rafael.wth@gmail.com</email>
  130. <url>https://rafael.codes</url>
  131. <roles>
  132. <role>developer</role>
  133. </roles>
  134. <timezone>+1</timezone>
  135. </developer>
  136. </developers>
  137. <issueManagement>
  138. <system>github.com</system>
  139. <url>https://github.com/raphw/byte-buddy/issues</url>
  140. </issueManagement>
  141. <scm>
  142. <connection>scm:git:${repository.url}</connection>
  143. <developerConnection>scm:git:${repository.url}</developerConnection>
  144. <url>${repository.url}</url>
  145. <tag>byte-buddy-1.15.11</tag>
  146. </scm>
  147. <dependencies>
  148. <!-- Allows the suppression of spotbugs false-positives by annotations without adding an actual dependency. -->
  149. <dependency>
  150. <groupId>com.google.code.findbugs</groupId>
  151. <artifactId>findbugs-annotations</artifactId>
  152. <version>${version.utility.findbugs}</version>
  153. <scope>provided</scope>
  154. </dependency>
  155. <!-- Allow for marking nullability of values.-->
  156. <dependency>
  157. <groupId>com.google.code.findbugs</groupId>
  158. <artifactId>jsr305</artifactId>
  159. <version>${version.utility.jsr305}</version>
  160. <scope>provided</scope>
  161. </dependency>
  162. </dependencies>
  163. <build>
  164. <plugins>
  165. <!-- Define release properties. -->
  166. <plugin>
  167. <groupId>org.apache.maven.plugins</groupId>
  168. <artifactId>maven-release-plugin</artifactId>
  169. <version>${version.plugin.release}</version>
  170. <configuration>
  171. <useReleaseProfile>false</useReleaseProfile>
  172. <releaseProfiles>extras,gpg,gradle-release,multi-release</releaseProfiles>
  173. <autoVersionSubmodules>true</autoVersionSubmodules>
  174. <tagNameFormat>byte-buddy-@{project.version}</tagNameFormat>
  175. </configuration>
  176. </plugin>
  177. <!-- Enable mutation testing. -->
  178. <plugin>
  179. <groupId>org.pitest</groupId>
  180. <artifactId>pitest-maven</artifactId>
  181. <version>${version.plugin.pitest}</version>
  182. <configuration>
  183. <targetClasses>
  184. <param>${pitest.target}.*</param>
  185. </targetClasses>
  186. <targetTests>
  187. <param>${pitest.target}.*</param>
  188. </targetTests>
  189. </configuration>
  190. </plugin>
  191. <!-- Configure Jacoco support for evaluating test case coverage. -->
  192. <plugin>
  193. <groupId>org.jacoco</groupId>
  194. <artifactId>jacoco-maven-plugin</artifactId>
  195. <version>${version.plugin.jacoco}</version>
  196. <configuration>
  197. <skip>${jacoco.skip}</skip>
  198. <includes>
  199. <include>net/bytebuddy/**</include>
  200. </includes>
  201. <excludes>
  202. <!-- Do not include JMH generated classes (both modern and legacy JMH).-->
  203. <exclude>net/bytebuddy/benchmark/generated/*</exclude>
  204. <exclude>net/bytebuddy/benchmark/jmh_generated/*</exclude>
  205. <!-- Avoid adding synthetic members to test classes as test assert class members. -->
  206. <exclude>*Test*</exclude>
  207. <exclude>*test*</exclude>
  208. </excludes>
  209. </configuration>
  210. </plugin>
  211. <!-- Generate coveralls reports from CI server. -->
  212. <plugin>
  213. <groupId>org.eluder.coveralls</groupId>
  214. <artifactId>coveralls-maven-plugin</artifactId>
  215. <version>${version.plugin.coveralls}</version>
  216. <configuration>
  217. <sourceDirectories>
  218. <sourceDirectory>${project.basedir}/byte-buddy-dep/src/main/java-6</sourceDirectory>
  219. </sourceDirectories>
  220. </configuration>
  221. </plugin>
  222. <!-- Also allow for manual spotbugs execution. Note that the generated warnings do not always apply for Byte Buddy's use case. -->
  223. <plugin>
  224. <groupId>com.github.spotbugs</groupId>
  225. <artifactId>spotbugs-maven-plugin</artifactId>
  226. <version>${version.plugin.spotbugs}</version>
  227. <configuration>
  228. <skip>${spotbugs.skip}</skip>
  229. <effort>Max</effort>
  230. <threshold>Low</threshold>
  231. <xmlOutput>true</xmlOutput>
  232. <failOnError>false</failOnError>
  233. <spotbugsXmlOutputDirectory>${project.build.directory}/spotbugs</spotbugsXmlOutputDirectory>
  234. <excludeFilterFile>${project.basedir}/../spotbugs-exclude.xml</excludeFilterFile>
  235. </configuration>
  236. </plugin>
  237. <!-- Enable scanning for methods above the inlining threshold (JDK 7+) -->
  238. <plugin>
  239. <groupId>com.github.ferstl</groupId>
  240. <artifactId>jitwatch-jarscan-maven-plugin</artifactId>
  241. <version>${version.plugin.jitwatch}</version>
  242. </plugin>
  243. <!-- Add license headers to all files. -->
  244. <plugin>
  245. <groupId>com.mycila</groupId>
  246. <artifactId>license-maven-plugin</artifactId>
  247. <version>${version.plugin.license}</version>
  248. <inherited>false</inherited>
  249. <configuration>
  250. <header>${project.basedir}/NOTICE</header>
  251. <aggregate>true</aggregate>
  252. <failIfMissing>true</failIfMissing>
  253. <encoding>${project.build.sourceEncoding}</encoding>
  254. <properties>
  255. <copyright.holder>${copyright.holder}</copyright.holder>
  256. </properties>
  257. <includes>
  258. <include>**/main/java/**/*.java</include>
  259. <include>**/main/java-*/**/*.java</include>
  260. <include>**/main/c/**/*.c</include>
  261. </includes>
  262. <strictCheck>true</strictCheck>
  263. <mapping>
  264. <java>SLASHSTAR_STYLE</java>
  265. </mapping>
  266. </configuration>
  267. <executions>
  268. <execution>
  269. <phase>package</phase>
  270. <goals>
  271. <goal>format</goal>
  272. </goals>
  273. </execution>
  274. </executions>
  275. </plugin>
  276. <!-- Setup plugin for deployment to Maven Central. -->
  277. <plugin>
  278. <groupId>org.sonatype.plugins</groupId>
  279. <artifactId>nexus-staging-maven-plugin</artifactId>
  280. <version>${version.plugin.staging}</version>
  281. <extensions>true</extensions>
  282. <configuration>
  283. <serverId>central</serverId>
  284. <nexusUrl>${nexus.url}</nexusUrl>
  285. <autoReleaseAfterClose>true</autoReleaseAfterClose>
  286. </configuration>
  287. </plugin>
  288. <!-- Allow for automated version updates. -->
  289. <plugin>
  290. <groupId>org.codehaus.mojo</groupId>
  291. <artifactId>versions-maven-plugin</artifactId>
  292. <version>${version.plugin.versions}</version>
  293. <configuration>
  294. <rulesUri>file://${session.executionRootDirectory}/version-rules.xml</rulesUri>
  295. </configuration>
  296. </plugin>
  297. </plugins>
  298. <pluginManagement>
  299. <plugins>
  300. <plugin>
  301. <groupId>org.apache.maven.plugins</groupId>
  302. <artifactId>maven-clean-plugin</artifactId>
  303. <version>${version.plugin.clean}</version>
  304. </plugin>
  305. <plugin>
  306. <groupId>org.apache.maven.plugins</groupId>
  307. <artifactId>maven-jar-plugin</artifactId>
  308. <version>${version.plugin.jar}</version>
  309. </plugin>
  310. <plugin>
  311. <groupId>org.apache.maven.plugins</groupId>
  312. <artifactId>maven-resources-plugin</artifactId>
  313. <version>${version.plugin.resources}</version>
  314. <configuration>
  315. <!-- Setting this property suppresses a warning on implicit setting the filter encoding. -->
  316. <encoding>${project.build.sourceEncoding}</encoding>
  317. <propertiesEncoding>${project.build.sourceEncoding}</propertiesEncoding>
  318. </configuration>
  319. </plugin>
  320. <plugin>
  321. <groupId>org.apache.maven.plugins</groupId>
  322. <artifactId>maven-install-plugin</artifactId>
  323. <version>${version.plugin.install}</version>
  324. </plugin>
  325. <plugin>
  326. <groupId>org.apache.maven.plugins</groupId>
  327. <artifactId>maven-surefire-plugin</artifactId>
  328. <version>${version.plugin.surefire}</version>
  329. <configuration>
  330. <argLine>${surefire.arguments}</argLine>
  331. <systemPropertyVariables>
  332. <net.bytebuddy.experimental>${bytebuddy.experimental}</net.bytebuddy.experimental>
  333. <net.bytebuddy.test.integration>${bytebuddy.integration}</net.bytebuddy.test.integration>
  334. </systemPropertyVariables>
  335. </configuration>
  336. </plugin>
  337. <plugin>
  338. <groupId>org.apache.maven.plugins</groupId>
  339. <artifactId>maven-deploy-plugin</artifactId>
  340. <version>${version.plugin.deploy}</version>
  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. <sourcecode.main.version>1.6</sourcecode.main.version>
  556. <sourcecode.test.version>1.6</sourcecode.test.version>
  557. <bytecode.main.version>1.6</bytecode.main.version>
  558. <bytecode.test.version>1.6</bytecode.test.version>
  559. </properties>
  560. </profile>
  561. <!-- Runs the build with compatibility for Java 10 JVMs. -->
  562. <profile>
  563. <id>java10-compatibility</id>
  564. <activation>
  565. <activeByDefault>false</activeByDefault>
  566. <jdk>10</jdk>
  567. </activation>
  568. <properties>
  569. <sourcecode.main.version>1.7</sourcecode.main.version>
  570. <sourcecode.test.version>1.7</sourcecode.test.version>
  571. <bytecode.main.version>1.7</bytecode.main.version>
  572. <bytecode.test.version>1.7</bytecode.test.version>
  573. </properties>
  574. </profile>
  575. <!-- Runs the build with compatibility for Java 11 JVMs. -->
  576. <profile>
  577. <id>java11-compatibility</id>
  578. <activation>
  579. <activeByDefault>false</activeByDefault>
  580. <jdk>11</jdk>
  581. </activation>
  582. <properties>
  583. <sourcecode.main.version>1.7</sourcecode.main.version>
  584. <sourcecode.test.version>1.7</sourcecode.test.version>
  585. <bytecode.main.version>1.7</bytecode.main.version>
  586. <bytecode.test.version>1.7</bytecode.test.version>
  587. </properties>
  588. </profile>
  589. <!-- Runs the build with compatibility for Java 12 JVMs. -->
  590. <profile>
  591. <id>java12-compatibility</id>
  592. <activation>
  593. <activeByDefault>false</activeByDefault>
  594. <jdk>12</jdk>
  595. </activation>
  596. <properties>
  597. <sourcecode.main.version>1.7</sourcecode.main.version>
  598. <sourcecode.test.version>1.7</sourcecode.test.version>
  599. <bytecode.main.version>1.7</bytecode.main.version>
  600. <bytecode.test.version>1.7</bytecode.test.version>
  601. </properties>
  602. </profile>
  603. <!-- Runs the build with compatibility for Java 13 JVMs. -->
  604. <profile>
  605. <id>java13-compatibility</id>
  606. <activation>
  607. <activeByDefault>false</activeByDefault>
  608. <jdk>13</jdk>
  609. </activation>
  610. <properties>
  611. <sourcecode.main.version>1.7</sourcecode.main.version>
  612. <sourcecode.test.version>1.7</sourcecode.test.version>
  613. <bytecode.main.version>1.7</bytecode.main.version>
  614. <bytecode.test.version>1.7</bytecode.test.version>
  615. </properties>
  616. </profile>
  617. <!-- Runs the build with compatibility for Java 14 JVMs. -->
  618. <profile>
  619. <id>java14-compatibility</id>
  620. <activation>
  621. <activeByDefault>false</activeByDefault>
  622. <jdk>14</jdk>
  623. </activation>
  624. <properties>
  625. <sourcecode.main.version>1.7</sourcecode.main.version>
  626. <sourcecode.test.version>1.7</sourcecode.test.version>
  627. <bytecode.main.version>1.7</bytecode.main.version>
  628. <bytecode.test.version>1.7</bytecode.test.version>
  629. </properties>
  630. </profile>
  631. <!-- Runs the build with compatibility for Java 15 JVMs. -->
  632. <profile>
  633. <id>java15-compatibility</id>
  634. <activation>
  635. <activeByDefault>false</activeByDefault>
  636. <jdk>15</jdk>
  637. </activation>
  638. <properties>
  639. <sourcecode.main.version>8</sourcecode.main.version>
  640. <sourcecode.test.version>8</sourcecode.test.version>
  641. <bytecode.main.version>8</bytecode.main.version>
  642. <bytecode.test.version>8</bytecode.test.version>
  643. </properties>
  644. </profile>
  645. <!-- Runs the build with compatibility for Java 16 JVMs. -->
  646. <profile>
  647. <id>java16-compatibility</id>
  648. <activation>
  649. <activeByDefault>false</activeByDefault>
  650. <jdk>16</jdk>
  651. </activation>
  652. <properties>
  653. <sourcecode.main.version>8</sourcecode.main.version>
  654. <sourcecode.test.version>8</sourcecode.test.version>
  655. <bytecode.main.version>8</bytecode.main.version>
  656. <bytecode.test.version>8</bytecode.test.version>
  657. <jacoco.skip>true</jacoco.skip>
  658. </properties>
  659. </profile>
  660. <!-- Runs the build with compatibility for Java 17 JVMs. -->
  661. <profile>
  662. <id>java17-compatibility</id>
  663. <activation>
  664. <activeByDefault>false</activeByDefault>
  665. <jdk>17</jdk>
  666. </activation>
  667. <properties>
  668. <sourcecode.main.version>8</sourcecode.main.version>
  669. <sourcecode.test.version>8</sourcecode.test.version>
  670. <bytecode.main.version>8</bytecode.main.version>
  671. <bytecode.test.version>8</bytecode.test.version>
  672. <jacoco.skip>true</jacoco.skip>
  673. </properties>
  674. </profile>
  675. <!-- Runs the build with compatibility for Java 18 JVMs. -->
  676. <profile>
  677. <id>java18-compatibility</id>
  678. <activation>
  679. <activeByDefault>false</activeByDefault>
  680. <jdk>18</jdk>
  681. </activation>
  682. <properties>
  683. <sourcecode.main.version>8</sourcecode.main.version>
  684. <sourcecode.test.version>8</sourcecode.test.version>
  685. <bytecode.main.version>8</bytecode.main.version>
  686. <bytecode.test.version>8</bytecode.test.version>
  687. <jacoco.skip>true</jacoco.skip>
  688. </properties>
  689. </profile>
  690. <!-- Runs the build with compatibility for Java 19 JVMs. -->
  691. <profile>
  692. <id>java19-compatibility</id>
  693. <activation>
  694. <activeByDefault>false</activeByDefault>
  695. <jdk>19</jdk>
  696. </activation>
  697. <properties>
  698. <sourcecode.main.version>8</sourcecode.main.version>
  699. <sourcecode.test.version>8</sourcecode.test.version>
  700. <bytecode.main.version>8</bytecode.main.version>
  701. <bytecode.test.version>8</bytecode.test.version>
  702. <jacoco.skip>true</jacoco.skip>
  703. </properties>
  704. </profile>
  705. <!-- Runs the build with compatibility for Java 20 JVMs. -->
  706. <profile>
  707. <id>java20-compatibility</id>
  708. <activation>
  709. <activeByDefault>false</activeByDefault>
  710. <jdk>20</jdk>
  711. </activation>
  712. <properties>
  713. <sourcecode.main.version>8</sourcecode.main.version>
  714. <sourcecode.test.version>8</sourcecode.test.version>
  715. <bytecode.main.version>8</bytecode.main.version>
  716. <bytecode.test.version>8</bytecode.test.version>
  717. <jacoco.skip>true</jacoco.skip>
  718. </properties>
  719. </profile>
  720. <!-- Runs the build with compatibility for Java 21 JVMs. -->
  721. <profile>
  722. <id>java21-compatibility</id>
  723. <activation>
  724. <activeByDefault>false</activeByDefault>
  725. <jdk>21</jdk>
  726. </activation>
  727. <properties>
  728. <sourcecode.main.version>8</sourcecode.main.version>
  729. <sourcecode.test.version>8</sourcecode.test.version>
  730. <bytecode.main.version>8</bytecode.main.version>
  731. <bytecode.test.version>8</bytecode.test.version>
  732. <jacoco.skip>true</jacoco.skip>
  733. </properties>
  734. </profile>
  735. <!-- Runs the build with compatibility for Java 22 JVMs. -->
  736. <profile>
  737. <id>java22-compatibility</id>
  738. <activation>
  739. <activeByDefault>false</activeByDefault>
  740. <jdk>22</jdk>
  741. </activation>
  742. <properties>
  743. <sourcecode.main.version>8</sourcecode.main.version>
  744. <sourcecode.test.version>8</sourcecode.test.version>
  745. <bytecode.main.version>8</bytecode.main.version>
  746. <bytecode.test.version>8</bytecode.test.version>
  747. <jacoco.skip>true</jacoco.skip>
  748. </properties>
  749. </profile>
  750. <!-- Runs the build with compatibility for Java 23 JVMs. -->
  751. <profile>
  752. <id>java23-compatibility</id>
  753. <activation>
  754. <activeByDefault>false</activeByDefault>
  755. <jdk>23</jdk>
  756. </activation>
  757. <properties>
  758. <sourcecode.main.version>8</sourcecode.main.version>
  759. <sourcecode.test.version>8</sourcecode.test.version>
  760. <bytecode.main.version>8</bytecode.main.version>
  761. <bytecode.test.version>8</bytecode.test.version>
  762. <jacoco.skip>true</jacoco.skip>
  763. </properties>
  764. </profile>
  765. <!-- Runs the build with compatibility for Java 24 JVMs. -->
  766. <profile>
  767. <id>java24-compatibility</id>
  768. <activation>
  769. <activeByDefault>false</activeByDefault>
  770. <jdk>24</jdk>
  771. </activation>
  772. <properties>
  773. <sourcecode.main.version>8</sourcecode.main.version>
  774. <sourcecode.test.version>8</sourcecode.test.version>
  775. <bytecode.main.version>8</bytecode.main.version>
  776. <bytecode.test.version>8</bytecode.test.version>
  777. <jacoco.skip>true</jacoco.skip>
  778. </properties>
  779. </profile>
  780. <!-- Builds using a byte code target for Java 6. -->
  781. <profile>
  782. <id>java6</id>
  783. <activation>
  784. <activeByDefault>false</activeByDefault>
  785. </activation>
  786. <properties>
  787. <bytecode.main.version>1.6</bytecode.main.version>
  788. </properties>
  789. </profile>
  790. <!-- Builds using a byte code target for Java 7. -->
  791. <profile>
  792. <id>java7</id>
  793. <activation>
  794. <activeByDefault>false</activeByDefault>
  795. </activation>
  796. <properties>
  797. <bytecode.main.version>1.7</bytecode.main.version>
  798. <bytecode.test.version>1.7</bytecode.test.version>
  799. </properties>
  800. </profile>
  801. <!-- Builds using a byte code target for Java 8. -->
  802. <profile>
  803. <id>java8</id>
  804. <activation>
  805. <activeByDefault>false</activeByDefault>
  806. </activation>
  807. <properties>
  808. <bytecode.main.version>1.8</bytecode.main.version>
  809. <bytecode.test.version>1.8</bytecode.test.version>
  810. </properties>
  811. </profile>
  812. <!-- Builds using a byte code target for Java 9. -->
  813. <profile>
  814. <id>java9</id>
  815. <activation>
  816. <activeByDefault>false</activeByDefault>
  817. </activation>
  818. <properties>
  819. <bytecode.main.version>9</bytecode.main.version>
  820. <bytecode.test.version>9</bytecode.test.version>
  821. </properties>
  822. </profile>
  823. <!-- Builds using a byte code target for Java 10. -->
  824. <profile>
  825. <id>java10</id>
  826. <activation>
  827. <activeByDefault>false</activeByDefault>
  828. </activation>
  829. <properties>
  830. <bytecode.main.version>10</bytecode.main.version>
  831. <bytecode.test.version>10</bytecode.test.version>
  832. </properties>
  833. </profile>
  834. <!-- Builds using a byte code target for Java 11. -->
  835. <profile>
  836. <id>java11</id>
  837. <activation>
  838. <activeByDefault>false</activeByDefault>
  839. </activation>
  840. <properties>
  841. <bytecode.main.version>11</bytecode.main.version>
  842. <bytecode.test.version>11</bytecode.test.version>
  843. </properties>
  844. </profile>
  845. <!-- Builds using a byte code target for Java 12. -->
  846. <profile>
  847. <id>java12</id>
  848. <activation>
  849. <activeByDefault>false</activeByDefault>
  850. </activation>
  851. <properties>
  852. <bytecode.main.version>12</bytecode.main.version>
  853. <bytecode.test.version>12</bytecode.test.version>
  854. </properties>
  855. </profile>
  856. <!-- Builds using a byte code target for Java 13. -->
  857. <profile>
  858. <id>java13</id>
  859. <activation>
  860. <activeByDefault>false</activeByDefault>
  861. </activation>
  862. <properties>
  863. <bytecode.main.version>13</bytecode.main.version>
  864. <bytecode.test.version>13</bytecode.test.version>
  865. </properties>
  866. </profile>
  867. <!-- Builds using a byte code target for Java 14. -->
  868. <profile>
  869. <id>java14</id>
  870. <activation>
  871. <activeByDefault>false</activeByDefault>
  872. </activation>
  873. <properties>
  874. <bytecode.main.version>14</bytecode.main.version>
  875. <bytecode.test.version>14</bytecode.test.version>
  876. </properties>
  877. </profile>
  878. <!-- Builds using a byte code target for Java 15. -->
  879. <profile>
  880. <id>java15</id>
  881. <activation>
  882. <activeByDefault>false</activeByDefault>
  883. </activation>
  884. <properties>
  885. <bytecode.main.version>15</bytecode.main.version>
  886. <bytecode.test.version>15</bytecode.test.version>
  887. </properties>
  888. </profile>
  889. <!-- Builds using a byte code target for Java 16. -->
  890. <profile>
  891. <id>java16</id>
  892. <activation>
  893. <activeByDefault>false</activeByDefault>
  894. </activation>
  895. <properties>
  896. <bytecode.main.version>16</bytecode.main.version>
  897. <bytecode.test.version>16</bytecode.test.version>
  898. </properties>
  899. </profile>
  900. <!-- Builds using a byte code target for Java 17. -->
  901. <profile>
  902. <id>java17</id>
  903. <activation>
  904. <activeByDefault>false</activeByDefault>
  905. </activation>
  906. <properties>
  907. <bytecode.main.version>17</bytecode.main.version>
  908. <bytecode.test.version>17</bytecode.test.version>
  909. </properties>
  910. </profile>
  911. <!-- Builds using a byte code target for Java 18. -->
  912. <profile>
  913. <id>java18</id>
  914. <activation>
  915. <activeByDefault>false</activeByDefault>
  916. </activation>
  917. <properties>
  918. <bytecode.main.version>18</bytecode.main.version>
  919. <bytecode.test.version>18</bytecode.test.version>
  920. <spotbugs.skip>true</spotbugs.skip>
  921. </properties>
  922. </profile>
  923. <!-- Builds using a byte code target for Java 19. -->
  924. <profile>
  925. <id>java19</id>
  926. <activation>
  927. <activeByDefault>false</activeByDefault>
  928. </activation>
  929. <properties>
  930. <bytecode.main.version>19</bytecode.main.version>
  931. <bytecode.test.version>19</bytecode.test.version>
  932. <spotbugs.skip>true</spotbugs.skip>
  933. </properties>
  934. </profile>
  935. <!-- Builds using a byte code target for Java 20. -->
  936. <profile>
  937. <id>java20</id>
  938. <activation>
  939. <activeByDefault>false</activeByDefault>
  940. </activation>
  941. <properties>
  942. <bytecode.main.version>20</bytecode.main.version>
  943. <bytecode.test.version>20</bytecode.test.version>
  944. <spotbugs.skip>true</spotbugs.skip>
  945. </properties>
  946. </profile>
  947. <!-- Builds using a byte code target for Java 21. -->
  948. <profile>
  949. <id>java21</id>
  950. <activation>
  951. <activeByDefault>false</activeByDefault>
  952. </activation>
  953. <properties>
  954. <bytecode.main.version>21</bytecode.main.version>
  955. <bytecode.test.version>21</bytecode.test.version>
  956. <spotbugs.skip>true</spotbugs.skip>
  957. </properties>
  958. </profile>
  959. <!-- Builds using a byte code target for Java 22. -->
  960. <profile>
  961. <id>java22</id>
  962. <activation>
  963. <activeByDefault>false</activeByDefault>
  964. </activation>
  965. <properties>
  966. <bytecode.main.version>22</bytecode.main.version>
  967. <bytecode.test.version>22</bytecode.test.version>
  968. <spotbugs.skip>true</spotbugs.skip>
  969. </properties>
  970. </profile>
  971. <!-- Builds using a byte code target for Java 23. -->
  972. <profile>
  973. <id>java23</id>
  974. <activation>
  975. <activeByDefault>false</activeByDefault>
  976. </activation>
  977. <properties>
  978. <bytecode.main.version>23</bytecode.main.version>
  979. <bytecode.test.version>23</bytecode.test.version>
  980. <spotbugs.skip>true</spotbugs.skip>
  981. </properties>
  982. </profile>
  983. <!-- Builds using a byte code target for Java 24. -->
  984. <profile>
  985. <id>java24</id>
  986. <activation>
  987. <activeByDefault>false</activeByDefault>
  988. </activation>
  989. <properties>
  990. <bytecode.main.version>24</bytecode.main.version>
  991. <bytecode.test.version>24</bytecode.test.version>
  992. <spotbugs.skip>true</spotbugs.skip>
  993. </properties>
  994. </profile>
  995. <!-- Enables dynamic agent loading when running a JDK 22 or newer. -->
  996. <profile>
  997. <id>surefire-enable-dynamic-attach</id>
  998. <activation>
  999. <activeByDefault>false</activeByDefault>
  1000. <jdk>[21,)</jdk>
  1001. </activation>
  1002. <properties>
  1003. <surefire.arguments>-XX:+EnableDynamicAgentLoading</surefire.arguments>
  1004. </properties>
  1005. </profile>
  1006. <!-- Creates additional artifacts that are required for deployment. -->
  1007. <profile>
  1008. <id>extras</id>
  1009. <activation>
  1010. <activeByDefault>false</activeByDefault>
  1011. </activation>
  1012. <properties>
  1013. <bytebuddy.extras>true</bytebuddy.extras>
  1014. </properties>
  1015. <build>
  1016. <plugins>
  1017. <!-- Create source code artifact. -->
  1018. <plugin>
  1019. <groupId>org.apache.maven.plugins</groupId>
  1020. <artifactId>maven-source-plugin</artifactId>
  1021. <version>${version.plugin.source}</version>
  1022. <executions>
  1023. <execution>
  1024. <goals>
  1025. <goal>jar</goal>
  1026. </goals>
  1027. </execution>
  1028. </executions>
  1029. </plugin>
  1030. <!-- Create javadoc artifact. -->
  1031. <plugin>
  1032. <groupId>org.apache.maven.plugins</groupId>
  1033. <artifactId>maven-javadoc-plugin</artifactId>
  1034. <version>${version.plugin.javadoc}</version>
  1035. <executions>
  1036. <execution>
  1037. <goals>
  1038. <goal>jar</goal>
  1039. </goals>
  1040. </execution>
  1041. </executions>
  1042. </plugin>
  1043. </plugins>
  1044. </build>
  1045. </profile>
  1046. <!-- Sign any created artifact. (Requires configuration of gpg on the executing machine.) -->
  1047. <profile>
  1048. <id>gpg</id>
  1049. <activation>
  1050. <activeByDefault>false</activeByDefault>
  1051. </activation>
  1052. <build>
  1053. <plugins>
  1054. <!-- Sign artifacts. -->
  1055. <plugin>
  1056. <groupId>org.apache.maven.plugins</groupId>
  1057. <artifactId>maven-gpg-plugin</artifactId>
  1058. <version>${version.plugin.gpg}</version>
  1059. <executions>
  1060. <execution>
  1061. <phase>verify</phase>
  1062. <goals>
  1063. <goal>sign</goal>
  1064. </goals>
  1065. <configuration>
  1066. <gpgArguments>
  1067. <arg>--pinentry-mode</arg>
  1068. <arg>loopback</arg>
  1069. </gpgArguments>
  1070. </configuration>
  1071. </execution>
  1072. </executions>
  1073. </plugin>
  1074. </plugins>
  1075. </build>
  1076. </profile>
  1077. <!-- Basic checks that are not requiring too much runtime. -->
  1078. <profile>
  1079. <id>checks</id>
  1080. <activation>
  1081. <activeByDefault>false</activeByDefault>
  1082. </activation>
  1083. <build>
  1084. <plugins>
  1085. <!-- Check style on build. -->
  1086. <plugin>
  1087. <groupId>org.apache.maven.plugins</groupId>
  1088. <artifactId>maven-checkstyle-plugin</artifactId>
  1089. <version>${version.plugin.checkstyle}</version>
  1090. <executions>
  1091. <execution>
  1092. <phase>validate</phase>
  1093. <goals>
  1094. <goal>check</goal>
  1095. </goals>
  1096. <configuration>
  1097. <configLocation>checkstyle.xml</configLocation>
  1098. <consoleOutput>true</consoleOutput>
  1099. <failsOnError>true</failsOnError>
  1100. <excludes>**/generated/**/*</excludes>
  1101. <includeResources>false</includeResources>
  1102. </configuration>
  1103. </execution>
  1104. </executions>
  1105. <dependencies>
  1106. <dependency>
  1107. <groupId>com.puppycrawl.tools</groupId>
  1108. <artifactId>checkstyle</artifactId>
  1109. <version>${version.checkstyle}</version>
  1110. </dependency>
  1111. </dependencies>
  1112. </plugin>
  1113. <!-- Check API compatibility. -->
  1114. <plugin>
  1115. <groupId>org.codehaus.mojo</groupId>
  1116. <artifactId>animal-sniffer-maven-plugin</artifactId>
  1117. <version>${version.plugin.animal-sniffer}</version>
  1118. <executions>
  1119. <execution>
  1120. <phase>test</phase>
  1121. <goals>
  1122. <goal>check</goal>
  1123. </goals>
  1124. <configuration>
  1125. <signature>
  1126. <groupId>org.codehaus.mojo.signature</groupId>
  1127. <artifactId>java15</artifactId>
  1128. <version>1.0</version>
  1129. </signature>
  1130. </configuration>
  1131. </execution>
  1132. </executions>
  1133. <dependencies>
  1134. <dependency>
  1135. <groupId>org.ow2.asm</groupId>
  1136. <artifactId>asm</artifactId>
  1137. <version>${version.asm}</version>
  1138. </dependency>
  1139. </dependencies>
  1140. </plugin>
  1141. <!-- Make sure that Byte Buddy does never depend on ASM's tree API. -->
  1142. <plugin>
  1143. <groupId>org.apache.maven.plugins</groupId>
  1144. <artifactId>maven-enforcer-plugin</artifactId>
  1145. <version>${version.plugin.enforcer}</version>
  1146. <executions>
  1147. <execution>
  1148. <goals>
  1149. <goal>enforce</goal>
  1150. </goals>
  1151. <configuration>
  1152. <fail>true</fail>
  1153. <rules>
  1154. <bannedDependencies>
  1155. <includes>
  1156. <include>org.ow2.asm:asm-tree</include>
  1157. </includes>
  1158. </bannedDependencies>
  1159. <requireMavenVersion>
  1160. <version>[3.2.5,)</version>
  1161. </requireMavenVersion>
  1162. <requireJavaVersion>
  1163. <version>[1.6,)</version>
  1164. </requireJavaVersion>
  1165. </rules>
  1166. </configuration>
  1167. </execution>
  1168. </executions>
  1169. </plugin>
  1170. </plugins>
  1171. </build>
  1172. </profile>
  1173. <!-- Integration profile that executes long-running tasks. -->
  1174. <profile>
  1175. <id>integration</id>
  1176. <activation>
  1177. <activeByDefault>false</activeByDefault>
  1178. </activation>
  1179. <properties>
  1180. <bytebuddy.integration>true</bytebuddy.integration>
  1181. </properties>
  1182. </profile>
  1183. <!-- Integration profile that executes static code analysis. -->
  1184. <profile>
  1185. <id>analysis</id>
  1186. <activation>
  1187. <activeByDefault>false</activeByDefault>
  1188. </activation>
  1189. <build>
  1190. <plugins>
  1191. <!-- Run spotbugs if not specified differently in a module.-->
  1192. <plugin>
  1193. <groupId>com.github.spotbugs</groupId>
  1194. <artifactId>spotbugs-maven-plugin</artifactId>
  1195. <version>${version.plugin.spotbugs}</version>
  1196. <executions>
  1197. <execution>
  1198. <phase>verify</phase>
  1199. <goals>
  1200. <goal>check</goal>
  1201. </goals>
  1202. <configuration>
  1203. <skip>${spotbugs.skip}</skip>
  1204. <effort>Max</effort>
  1205. <threshold>Low</threshold>
  1206. <xmlOutput>true</xmlOutput>
  1207. <failOnError>true</failOnError>
  1208. </configuration>
  1209. </execution>
  1210. </executions>
  1211. </plugin>
  1212. <!-- Avoid violating semantic versioning. -->
  1213. <plugin>
  1214. <groupId>com.github.siom79.japicmp</groupId>
  1215. <artifactId>japicmp-maven-plugin</artifactId>
  1216. <version>${version.plugin.japicmp}</version>
  1217. <executions>
  1218. <execution>
  1219. <phase>verify</phase>
  1220. <goals>
  1221. <goal>cmp</goal>
  1222. </goals>
  1223. <configuration>
  1224. <skip>${japicmp.skip}</skip>
  1225. <newVersion>
  1226. <file>
  1227. <path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
  1228. </file>
  1229. </newVersion>
  1230. <parameter>
  1231. <accessModifier>public</accessModifier>
  1232. <oldVersionPattern>\d+\.\d+\.\d+</oldVersionPattern>
  1233. <ignoreMissingClasses>true</ignoreMissingClasses>
  1234. <onlyBinaryIncompatible>true</onlyBinaryIncompatible>
  1235. <breakBuildBasedOnSemanticVersioning>true</breakBuildBasedOnSemanticVersioning>
  1236. </parameter>
  1237. </configuration>
  1238. </execution>
  1239. </executions>
  1240. </plugin>
  1241. </plugins>
  1242. </build>
  1243. </profile>
  1244. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1245. <profile>
  1246. <id>checksum-collect</id>
  1247. <activation>
  1248. <activeByDefault>false</activeByDefault>
  1249. </activation>
  1250. <build>
  1251. <plugins>
  1252. <plugin>
  1253. <groupId>org.apache.maven.plugins</groupId>
  1254. <artifactId>maven-antrun-plugin</artifactId>
  1255. <version>${version.plugin.antrun}</version>
  1256. <inherited>false</inherited>
  1257. <executions>
  1258. <execution>
  1259. <id>checksum-collect</id>
  1260. <phase>initialize</phase>
  1261. <goals>
  1262. <goal>run</goal>
  1263. </goals>
  1264. <configuration>
  1265. <target>
  1266. <echo level="info" message="Checksum collection is enabled (only if using mvnw)." />
  1267. </target>
  1268. </configuration>
  1269. </execution>
  1270. </executions>
  1271. </plugin>
  1272. </plugins>
  1273. </build>
  1274. </profile>
  1275. <!-- Pseudo profiles for checksum collection (only available via Maven wrapper). -->
  1276. <profile>
  1277. <id>checksum-enforce</id>
  1278. <activation>
  1279. <activeByDefault>false</activeByDefault>
  1280. </activation>
  1281. <build>
  1282. <plugins>
  1283. <plugin>
  1284. <groupId>org.apache.maven.plugins</groupId>
  1285. <artifactId>maven-antrun-plugin</artifactId>
  1286. <version>${version.plugin.antrun}</version>
  1287. <inherited>false</inherited>
  1288. <executions>
  1289. <execution>
  1290. <id>checksum-enforce</id>
  1291. <phase>initialize</phase>
  1292. <goals>
  1293. <goal>run</goal>
  1294. </goals>
  1295. <configuration>
  1296. <target>
  1297. <echo level="info" message="Checksum enforcement is enabled (only if using mvnw)." />
  1298. </target>
  1299. </configuration>
  1300. </execution>
  1301. </executions>
  1302. </plugin>
  1303. </plugins>
  1304. </build>
  1305. </profile>
  1306. </profiles>
  1307. <dependencyManagement>
  1308. <dependencies>
  1309. <dependency>
  1310. <groupId>${project.groupId}</groupId>
  1311. <artifactId>byte-buddy</artifactId>
  1312. <version>${project.version}</version>
  1313. </dependency>
  1314. <dependency>
  1315. <groupId>${project.groupId}</groupId>
  1316. <artifactId>byte-buddy-dep</artifactId>
  1317. <version>${project.version}</version>
  1318. </dependency>
  1319. <dependency>
  1320. <groupId>${project.groupId}</groupId>
  1321. <artifactId>byte-buddy-agent</artifactId>
  1322. <version>${project.version}</version>
  1323. </dependency>
  1324. <dependency>
  1325. <groupId>${project.groupId}</groupId>
  1326. <artifactId>byte-buddy-benchmark</artifactId>
  1327. <version>${project.version}</version>
  1328. </dependency>
  1329. <dependency>
  1330. <groupId>${project.groupId}</groupId>
  1331. <artifactId>byte-buddy-android</artifactId>
  1332. <version>${project.version}</version>
  1333. </dependency>
  1334. <dependency>
  1335. <groupId>${project.groupId}</groupId>
  1336. <artifactId>byte-buddy-maven-plugin</artifactId>
  1337. <version>${project.version}</version>
  1338. </dependency>
  1339. <dependency>
  1340. <groupId>${project.groupId}</groupId>
  1341. <artifactId>byte-buddy-gradle-plugin</artifactId>
  1342. <version>${project.version}</version>
  1343. </dependency>
  1344. </dependencies>
  1345. </dependencyManagement>
  1346. </project>