javaparser-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-parent</artifactId>
<version>3.27.1</version>
</dependency><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<modules>
<module>javaparser-core</module>
<module>javaparser-core-testing</module>
<module>javaparser-core-testing-bdd</module>
<module>javaparser-core-generators</module>
<module>javaparser-core-metamodel-generator</module>
<module>javaparser-core-serialization</module>
<module>javaparser-symbol-solver-core</module>
<module>javaparser-symbol-solver-testing</module>
</modules>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-parent</artifactId>
<packaging>pom</packaging>
<version>3.27.1</version>
<name>javaparser-parent</name>
<url>https://github.com/javaparser</url>
<inceptionYear>2007</inceptionYear>
<description>Java Parser and Abstract Syntax Tree for Java</description>
<licenses>
<license>
<name>GNU Lesser General Public License</name>
<url>http://www.gnu.org/licenses/lgpl-3.0.html</url>
<distribution>repo</distribution>
</license>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>
<developers>
<developer>
<name>Danny van Bruggen</name>
<email>hexagonaal@gmail.com</email>
<url>https://github.com/matozoid</url>
<id>matozoid</id>
</developer>
<developer>
<name>Júlio Vilmar Gesser</name>
<email>jgesser@gmail.com</email>
<id>jgesser@gmail.com</id>
</developer>
<developer>
<name>Sebastian Kirsch</name>
<email>sebastian.kirsch@immobilienscout24.de</email>
<url>https://github.com/sebastiankirsch</url>
<id>sebastiankirsch</id>
</developer>
<developer>
<name>André Rouél</name>
<url>https://github.com/before</url>
<id>before</id>
</developer>
<developer>
<name>Nicholas Smith</name>
<email>smiddypence@gmail.com</email>
<url>https://github.com/SmiddyPence</url>
<id>SmiddyPence</id>
</developer>
<developer>
<name>Federico Tomassetti</name>
<email>federico@tomassetti.me</email>
<url>https://github.com/ftomassetti</url>
<id>ftomassetti</id>
</developer>
<developer>
<name>Didier Villevalois</name>
<email>ptitjes@free.fr</email>
<url>https://github.com/ptitjes</url>
<id>ptitjes</id>
</developer>
<developer>
<name>Roger Howell</name>
<url>https://github.com/MysterAitch</url>
<id>MysterAitch</id>
</developer>
<developer>
<name>Roger Howell</name>
<url>https://github.com/MysterAitch</url>
<id>MysterAitch</id>
</developer>
<developer>
<name>Jean Pierre Lerbscher</name>
<url>https://github.com/jlerbsc</url>
<id>jlerbsc</id>
</developer>
<developer>
<name>Maarten Coene</name>
<url>https://github.com/maartenc</url>
<id>maartenc</id>
</developer>
</developers>
<contributors>
<contributor>
<name>Sebastian Kürten</name>
<email>sebastian@topobyte.de</email>
<url>https://github.com/sebkur</url>
</contributor>
<contributor>
<name>Junfei Liang</name>
<email>fly2best@gmail.com</email>
<url>https://github.com/fly2best</url>
</contributor>
<contributor>
<name>Jarkko Miettinen</name>
<url>https://github.com/jmiettinen</url>
</contributor>
<contributor>
<name>Alexey Morozov</name>
<email>morozov@altlinux.org</email>
<url>https://github.com/amorozov</url>
</contributor>
<contributor>
<name>Donny Nadolny</name>
<email>donny.nadolny@gmail.com</email>
<url>https://github.com/dnadolny</url>
</contributor>
<contributor>
<name>Raquel Pau</name>
<email>raquelpau@gmail.com</email>
<url>https://github.com/rpau</url>
</contributor>
<contributor>
<name>Chao Shi</name>
<email>stepinto@live.com</email>
<url>https://github.com/stepinto</url>
</contributor>
<contributor>
<name>Michael Schieder</name>
<email>michael.schieder@gmail.com</email>
<url>https://github.com/mschieder</url>
</contributor>
<contributor>
<name>CRUZ Maximilien</name>
<email>maximilien.cruz@gmail.com</email>
<url>https://github.com/DeepSnowNeeL</url>
</contributor>
</contributors>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<byte-buddy.version>1.17.7</byte-buddy.version>
<argLine>-javaagent:'${settings.localRepository}/net/bytebuddy/byte-buddy-agent/${byte-buddy.version}/byte-buddy-agent-${byte-buddy.version}.jar'</argLine>
<build.timestamp>2025-10-04T00:00:00Z</build.timestamp>
<jacoco.javaagent/>
</properties>
<scm>
<connection>scm:git:git://github.com/javaparser/javaparser.git</connection>
<developerConnection>scm:git:git@github.com:javaparser/javaparser.git</developerConnection>
<url>https://github.com/javaparser/javaparser.git</url>
<tag>HEAD</tag>
</scm>
<issueManagement>
<system>GitHub Issue Tracker</system>
<url>https://github.com/javaparser/javaparser/issues</url>
</issueManagement>
<distributionManagement>
<!-- According to the documentation https://central.sonatype.org/publish/publish-portal-maven/, it is no longer necessary to configure a repository -->
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<configuration>
<excludeArtifacts>
<excludeArtifact>com.github.javaparser:javaparser-core-testing</excludeArtifact>
<excludeArtifact>com.github.javaparser:javaparser-core-testing-bdd</excludeArtifact>
<excludeArtifact>com.github.javaparser:javaparser-symbol-solver-testing</excludeArtifact>
<excludeArtifact>com.github.javaparser:javaparser-core-metamodel-generator</excludeArtifact>
</excludeArtifacts>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.helger.maven</groupId>
<artifactId>ph-javacc-maven-plugin</artifactId>
<version>4.1.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
</plugin>
<plugin>
<!-- Plugin for preparing and performing a release (to sonatype central publishing portal / maven central). -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<!-- When updating versions during release, synchronise versions of sub-modules with the parent-pom. -->
<autoVersionSubmodules>true</autoVersionSubmodules>
<!-- During release:prepare, update the readme (via the "run-release" profile) and add it to git. -->
<preparationGoals>-Prun-release clean verify scm:add scm:checkin</preparationGoals>
<!-- During release:perform, enable the release-specific profiles -->
<releaseProfiles>run-release</releaseProfiles>
<!-- Disable pushing of changes (i.e. false, for local testing) -->
<pushChanges>false</pushChanges>
<!-- NEW: Disable deployment during release:perform -->
<goals>deploy</goals>
</configuration>
</plugin>
<!-- NEW: Disable the old maven-deploy-plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.4</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- NEW: Plugin for publishing to Maven Central -->
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.9.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<!-- Automatic publication after validation -->
<autoPublish>true</autoPublish>
<!-- Wait until the publication is effective -->
<waitUntil>published</waitUntil>
<!-- Readable name to identify the deployment -->
<deploymentName>${project.artifactId}-${project.version}</deploymentName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>2.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.13</version>
<configuration>
<includes>
<include>
com/github/javaparser/**
</include>
</includes>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>jacoco.javaagent</propertyName>
</configuration>
</execution>
<execution>
<id>jacoco-report</id>
<phase>test</phase>
<goals>
<goal>report-aggregate</goal>
</goals>
<configuration>
<outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<source>${java.version}</source>
<additionalOptions>
<!-- doclint requires perfect JavaDoc, and fails the generation of javadoc on even minor problems -->
<!-- Ideally we will have perfectly formatted javadoc, but for now just disable it. -->
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
</plugin>
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
<version>6.4.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.9.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<!-- This is the last version with Java 8 support -->
<version>3.6.0</version>
<configuration>
<configLocation>dev-files/JavaParser-CheckStyle.xml</configLocation>
<logViolationsToConsole>true</logViolationsToConsole>
<consoleOutput>true</consoleOutput>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>10.26.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<!-- This is the last version with Java 8 support -->
<version>2.46.1</version>
<configuration>
<java>
<!-- google-java-format, but better: see https://github.com/palantir/palantir-java-format -->
<palantirJavaFormat/>
</java>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.30.2-GA</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.5.0-jre</version>
</dependency>
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
<version>3.51.1</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<!-- doclint requires perfect JavaDoc, and fails the generation of javadoc on even minor problems -->
<!-- Ideally we will have perfectly formatted javadoc, but for now just disable it. -->
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<!-- FIXME: Can this be removed? It appears to be a no-op, with be no action to be done when activated (e.g. set a parameter, configure a plugin, etc.) -->
</profile>
<profile>
<!-- This profile is intended for use when preparing and deploying a release. -->
<id>run-release</id>
<build>
<plugins>
<!-- Update the readme with the new version number, but only when compiling a new release. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-readme</id>
<phase>compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/doc</directory>
<includes>
<include>readme.md</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</execution>
</executions>
</plugin>
<!-- Commit the updated readme file to the repo. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<configuration>
<includes>readme.md</includes>
<message>[maven-release-plugin] update readme</message>
<!-- disabled here, as it will be pushed separately -->
<!-- (either once the release has finished being prepared, or manually) -->
<pushChanges>false</pushChanges>
</configuration>
</plugin>
<!-- Source plugin - used to include source code within the release JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Javadoc plugin - used to include javadoc within the release JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- GPG plugin - used to sign the release JAR before pushing to OSSRH -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<!-- Prevent `gpg` from using pinentry programs -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>