Skip to content
Permalink
Browse files
Avoid existing site checkout in all child modules
  • Loading branch information
aherbert committed Aug 13, 2021
1 parent 5b280dc commit 7f6cba3a836b13dcf063d2db1f03664ece073aba
Showing 1 changed file with 80 additions and 16 deletions.
96 pom.xml
@@ -57,6 +57,7 @@
<geometry.checkstyle.version>3.1.2</geometry.checkstyle.version>
<geometry.checkstyle.dep.version>8.41.1</geometry.checkstyle.dep.version>
<geometry.mathjax.version>2.7.2</geometry.mathjax.version>
<geometry.antrun.version>1.8</geometry.antrun.version>
<!-- Workaround to avoid duplicating config files. -->
<geometry.parent.dir>${basedir}</geometry.parent.dir>

@@ -503,41 +504,104 @@
</build>
</profile>
<profile>
<!-- Override a parent property if the SVN site checkout should not be performed.
This should activate for child modules. -->
<id>is-child-module</id>
<activation>
<file>
<missing>${basedir}/CONTRIBUTING.md</missing>
</file>
</activation>
<properties>
<perform.site.checkout>false</perform.site.checkout>
</properties>
</profile>
<profile>
<!-- Runs if the SVN site checkout does not exist.
This is either obtained using svn (for the parent) or an empty directory is created. -->
<id>setup-checkout</id>
<activation>
<file>
<missing>site-content</missing>
<missing>${commons.scmPubCheckoutDirectory}</missing>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${geometry.antrun.version}</version>
<executions>
<!-- For multi-module builds, only the parent directory requires a site checkout.
This task will create an empty directory as the site checkout is missing. -->
<execution>
<id>empty-checkout</id>
<phase>pre-site</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="empty-checkout" unless="${perform.site.checkout}">
<mkdir dir="${commons.scmPubCheckoutDirectory}"/>
<echo file="${commons.scmPubCheckoutDirectory}${file.separator}README"
message="The '${commons.scmPubCheckoutDirectory}' directory is empty in child modules."/>
</target>
</configuration>
</execution>
<!-- Checkout the top-level directory of the site using SVN. -->
<execution>
<id>prepare-checkout</id>
<phase>pre-site</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<exec executable="svn">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}"/>
</exec>

<exec executable="svn">
<arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs"/>
<target name="prepare-checkout" if="${perform.site.checkout}">
<!-- Top level directory -->
<exec executable="svn" failifexecutionfails="false">
<arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}" />
</exec>

<pathconvert pathsep=" " property="dirs">
<dirset dir="${commons.scmPubCheckoutDirectory}" includes="*"/>
</pathconvert>
<exec executable="svn">
<arg line="update --set-depth infinity ${dirs}"/>
</exec>
</tasks>
<!-- Create the directory in the event that no svn exectuable is on the path -->
<mkdir dir="${commons.scmPubCheckoutDirectory}"/>

<echo file="${commons.scmPubCheckoutDirectory}.README">The '${commons.scmPubCheckoutDirectory}' directory is controlled by "subversion".
Running "svn up" will download *all* the files of the live web site at
https://commons.apache.org/geometry
This is avoided by creating an empty directory when svn is not available.
</echo>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- Allow the SVN site checkout to be removed in the clean phase. -->
<id>clean-checkout</id>
<activation>
<file>
<exists>${commons.scmPubCheckoutDirectory}</exists>
</file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${geometry.antrun.version}</version>
<executions>
<execution>
<id>remove-checkout</id>
<phase>clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="remove-checkout">
<delete dir="${commons.scmPubCheckoutDirectory}" quiet="true"/>
</target>
</configuration>
</execution>
</executions>

0 comments on commit 7f6cba3

Please sign in to comment.