Skip to content

Commit 3a48271

Browse files
committed
Add Maven profiles for release builds with updated plugins and configurations
Includes adjustments for source and Javadoc generation, GPG signing, and artifact publishing, enabling conditional builds with enhanced customization options.
1 parent 807b35a commit 3a48271

File tree

1 file changed

+82
-59
lines changed

1 file changed

+82
-59
lines changed

pom.xml

Lines changed: 82 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -98,71 +98,94 @@
9898
</execution>
9999
</executions>
100100
</plugin>
101+
</plugins>
102+
</build>
101103

102-
<!-- Sources -->
103-
<plugin>
104-
<groupId>org.apache.maven.plugins</groupId>
105-
<artifactId>maven-source-plugin</artifactId>
106-
<version>3.3.0</version>
107-
<executions>
108-
<execution>
109-
<id>attach-sources</id>
110-
<goals><goal>jar</goal></goals>
111-
</execution>
112-
</executions>
113-
</plugin>
104+
<!-- Profiles for optional/conditional builds -->
105+
<profiles>
106+
<profile>
107+
<id>release</id>
108+
<properties>
109+
<maven.javadoc.skip>false</maven.javadoc.skip>
110+
<gpg.skip>false</gpg.skip>
111+
</properties>
112+
<build>
113+
<plugins>
114+
<!-- Sources -->
115+
<plugin>
116+
<groupId>org.apache.maven.plugins</groupId>
117+
<artifactId>maven-source-plugin</artifactId>
118+
<version>3.3.1</version>
119+
<executions>
120+
<execution>
121+
<id>attach-sources</id>
122+
<goals>
123+
<goal>jar-no-fork</goal>
124+
</goals>
125+
</execution>
126+
</executions>
127+
</plugin>
114128

115-
<!-- Javadocs -->
116-
<plugin>
117-
<groupId>org.apache.maven.plugins</groupId>
118-
<artifactId>maven-javadoc-plugin</artifactId>
119-
<version>3.6.3</version>
120-
<executions>
121-
<execution>
122-
<id>attach-javadocs</id>
123-
<goals>
124-
<goal>jar</goal>
125-
</goals>
129+
<!-- Javadocs with preview feature support -->
130+
<plugin>
131+
<groupId>org.apache.maven.plugins</groupId>
132+
<artifactId>maven-javadoc-plugin</artifactId>
133+
<version>3.6.3</version>
126134
<configuration>
127-
<useStandardDocletOptions>false</useStandardDocletOptions>
128-
<failOnError>false</failOnError> <!-- prevents preview errors -->
135+
<source>21</source>
136+
<release>21</release>
137+
<additionalJOptions>
138+
<additionalJOption>--enable-preview</additionalJOption>
139+
<additionalJOption>--add-modules=jdk.incubator.vector</additionalJOption>
140+
</additionalJOptions>
141+
<additionalOptions>
142+
<additionalOption>--enable-preview</additionalOption>
143+
</additionalOptions>
144+
<failOnError>false</failOnError>
145+
<failOnWarnings>false</failOnWarnings>
146+
<doclint>none</doclint>
129147
</configuration>
130-
</execution>
131-
</executions>
132-
</plugin>
133-
134-
<!-- Signing -->
135-
<plugin>
136-
<groupId>org.apache.maven.plugins</groupId>
137-
<artifactId>maven-gpg-plugin</artifactId>
138-
<version>3.2.4</version>
139-
<executions>
140-
<execution>
141-
<id>sign-artifacts</id>
142-
<phase>verify</phase>
143-
<goals><goal>sign</goal></goals>
144-
</execution>
145-
</executions>
146-
</plugin>
147-
148-
<!-- Central Publishing -->
149-
<plugin>
150-
<groupId>org.sonatype.central</groupId>
151-
<artifactId>central-publishing-maven-plugin</artifactId>
152-
<version>0.8.0</version>
153-
<extensions>true</extensions>
154-
<configuration>
155-
<publishingServerId>central</publishingServerId>
156-
<!-- Uncomment if you want auto publish -->
157-
<autoPublish>true</autoPublish>
158-
</configuration>
159-
</plugin>
148+
<executions>
149+
<execution>
150+
<id>attach-javadocs</id>
151+
<phase>package</phase>
152+
<goals>
153+
<goal>jar</goal>
154+
</goals>
155+
</execution>
156+
</executions>
157+
</plugin>
160158

161-
</plugins>
162-
</build>
159+
<!-- GPG Signing -->
160+
<plugin>
161+
<groupId>org.apache.maven.plugins</groupId>
162+
<artifactId>maven-gpg-plugin</artifactId>
163+
<version>3.2.4</version>
164+
<executions>
165+
<execution>
166+
<id>sign-artifacts</id>
167+
<phase>verify</phase>
168+
<goals>
169+
<goal>sign</goal>
170+
</goals>
171+
</execution>
172+
</executions>
173+
</plugin>
163174

164-
<!-- Profiles for optional/conditional builds -->
165-
<profiles>
175+
<!-- Central Publishing -->
176+
<plugin>
177+
<groupId>org.sonatype.central</groupId>
178+
<artifactId>central-publishing-maven-plugin</artifactId>
179+
<version>0.8.0</version>
180+
<extensions>true</extensions>
181+
<configuration>
182+
<publishingServerId>central</publishingServerId>
183+
<autoPublish>true</autoPublish>
184+
</configuration>
185+
</plugin>
186+
</plugins>
187+
</build>
188+
</profile>
166189
<!-- Spotless: Code formatting and style checking (Optional)
167190
Usage: mvn -Pspotless spotless:check (to check violations)
168191
mvn -Pspotless spotless:apply (to apply fixes)

0 commit comments

Comments
 (0)