From 33846f488645d1821122f3aeeba6a8085adeeffe Mon Sep 17 00:00:00 2001
From: Alexander Kriegisch <Alexander@Kriegisch.name>
Date: Thu, 10 Jun 2021 12:11:03 +0700
Subject: Document build profiles and properties in docs/developer/BUILD.md

In doing so, I also noticed a few things in need of improvement. So,
documenting the build also drive those enhancements, such as
  - the new 'fast-build' profile skipping test compilation and execution
    as well as documentation generation,
  - an option to skip generating source assemblies,
  - to skip unzipping source assemblies if javadoc generation for them
    is to be skipped too,
  - activating the 'create-docs' profile by property which is
    true by default instead of using 'activeByDefault=true', because the
    latter does not work reliably if other profiles are activated
    manually according to a Maven bug that was closed as "won't fix",
  - no longer generating separate javadocs for the 'runtime' module,
    because that module is not deployed and the main artifacts recreate
    Javadocs from scratch for all of their constituent sources anyway.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
---
 pom.xml | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

(limited to 'pom.xml')

diff --git a/pom.xml b/pom.xml
index 2e7e829e1..33b32213b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -182,8 +182,8 @@
 		<profile>
 			<id>release</id>
 			<properties>
-				<!-- By default, do not create javadoc - override in release profile -->
 				<maven.javadoc.skip>false</maven.javadoc.skip>
+				<maven.source.skip>false</maven.source.skip>
 			</properties>
 			<build>
 				<plugins>
@@ -194,6 +194,17 @@
 				</plugins>
 			</build>
 		</profile>
+		<profile>
+			<id>fast-build</id>
+			<properties>
+				<!-- Do not compile tests (also skips execution) -->
+				<maven.test.skip>true</maven.test.skip>
+				<!-- Do not execute tests (redundant, but just to be sure) -->
+				<skipTests>true</skipTests>
+				<!-- Do not create documentation for AspectJ website -->
+				<createDocs>false</createDocs>
+			</properties>
+		</profile>
 	</profiles>
 
 	<build>
@@ -322,7 +333,7 @@
 							</goals>
 							<configuration>
 								<!-- Only sign artifacts which are also meant to be deployed -->
-								<skip>${maven.deploy.skip}</skip>
+								<skip>${maven.gpg.skip}</skip>
 							</configuration>
 						</execution>
 					</executions>
@@ -358,6 +369,7 @@
 					<configuration>
 						<serverId>ossrh</serverId>
 						<nexusUrl>https://oss.sonatype.org/</nexusUrl>
+						<!-- Activate in order to directly release to Maven Central after successful staging -->
 						<autoReleaseAfterClose>false</autoReleaseAfterClose>
 					</configuration>
 				</plugin>
-- 
cgit v1.2.3