This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-invoker-plugin.git
The following commit(s) were added to refs/heads/master by this push: new 89b9633 [MINVOKER-365] Allow to pre-build script to set user properties 89b9633 is described below commit 89b9633c3d811275573633ace560f89107a9decb Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Sat May 4 16:43:56 2024 +0200 [MINVOKER-365] Allow to pre-build script to set user properties --- .../pom.xml | 65 +++++++++ .../src/it/project/pom.xml | 60 ++++++++ .../src/it/project/postbuild.groovy | 22 +++ .../src/it/project/prebuild.groovy | 26 ++++ .../verify.groovy | 29 ++++ .../maven/plugins/invoker/AbstractInvokerMojo.java | 53 +++++--- src/site/apt/examples/post-build-script.apt.vm | 97 ------------- src/site/apt/examples/pre-post-build-script.apt.vm | 151 +++++++++++++++++++++ src/site/apt/examples/selector-scripts.apt.vm | 5 +- src/site/apt/groovy-version.apt.vm | 2 +- src/site/apt/index.apt.vm | 2 +- src/site/apt/usage.apt.vm | 2 +- src/site/site.xml | 2 +- 13 files changed, 394 insertions(+), 122 deletions(-) diff --git a/src/it/MINVOKER-365-user-poperties-from-pre-build/pom.xml b/src/it/MINVOKER-365-user-poperties-from-pre-build/pom.xml new file mode 100644 index 0000000..044b2f8 --- /dev/null +++ b/src/it/MINVOKER-365-user-poperties-from-pre-build/pom.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<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> + + <groupId>org.apache.maven.plugins.invoker.its</groupId> + <artifactId>minvoker-335</artifactId> + <version>1.0-SNAPSHOT</version> + <packaging>pom</packaging> + + <description> + Test to check a user properties generated by pre-build + </description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <version.maven-enforcer-plugin>@version.maven-enforcer-plugin@</version.maven-enforcer-plugin> + <version.maven-clean-plugin>@version.maven-clean-plugin@</version.maven-clean-plugin> + </properties> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-invoker-plugin</artifactId> + <version>@project.version@</version> + <executions> + <execution> + <id>integration-test</id> + <phase>initialize</phase> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + <configuration> + <goals> + <goal>clean</goal> + <goal>initialize</goal> + </goals> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/pom.xml b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/pom.xml new file mode 100644 index 0000000..02d6e99 --- /dev/null +++ b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/pom.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<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> + <groupId>org.apache.maven.plugins.invoker.its</groupId> + <artifactId>minvoker-365</artifactId> + <version>0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <version>@version.maven-clean-plugin@</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <version>@version.maven-enforcer-plugin@</version> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>enforce</goal> + </goals> + </execution> + </executions> + <configuration> + <rules> + <requireFilesExist> + <files> + <file>${testFile}</file> + </files> + </requireFilesExist> + </rules> + </configuration> + </plugin> + </plugins> + </build> +</project> diff --git a/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/postbuild.groovy b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/postbuild.groovy new file mode 100644 index 0000000..6491a73 --- /dev/null +++ b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/postbuild.groovy @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +def logs = new File(basedir, 'build.log').text + +assert logs.contains('[INFO] Clean is skipped.') diff --git a/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/prebuild.groovy b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/prebuild.groovy new file mode 100644 index 0000000..ebb19e0 --- /dev/null +++ b/src/it/MINVOKER-365-user-poperties-from-pre-build/src/it/project/prebuild.groovy @@ -0,0 +1,26 @@ +import java.nio.file.Files + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +def userProperties = context.get('userProperties') + +def testFilePath = Files.createTempFile('minvoker-365-prefix', 'suffix') +userProperties.put('testFile', testFilePath.toString()) +userProperties.put('maven.clean.skip', 'true') diff --git a/src/it/MINVOKER-365-user-poperties-from-pre-build/verify.groovy b/src/it/MINVOKER-365-user-poperties-from-pre-build/verify.groovy new file mode 100644 index 0000000..e82ee9a --- /dev/null +++ b/src/it/MINVOKER-365-user-poperties-from-pre-build/verify.groovy @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +def logs = new File(basedir, 'build.log').text + +// check if properties are pass to execution +if (System.getProperty("os.name").toLowerCase(Locale.ROOT).contains("windows")) { + assert logs.contains("-D testFile=") + assert logs.contains("-D maven.clean.skip=true") +} else { + assert logs.contains("'-D' 'testFile=") + assert logs.contains("'-D' 'maven.clean.skip=true'") +} diff --git a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java index 09987f4..78b2d30 100644 --- a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java +++ b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java @@ -1838,24 +1838,15 @@ public abstract class AbstractInvokerMojo extends AbstractMojo { } Map<String, Object> context = new LinkedHashMap<>(); + Properties scriptUserProperties = new Properties(); + context.put("userProperties", scriptUserProperties); - boolean selectorResult = true; + if (!runSelectorHook(basedir, context, logger)) { + return false; + } try { - try { - scriptRunner.run("selector script", basedir, selectorScript, context, logger); - } catch (ScriptReturnException e) { - selectorResult = false; - return false; - } catch (ScriptException e) { - throw new RunFailureException(BuildJob.Result.ERROR, e); - } - - try { - scriptRunner.run("pre-build script", basedir, preBuildHookScript, context, logger); - } catch (ScriptException e) { - throw new RunFailureException(BuildJob.Result.FAILURE_PRE_HOOK, e); - } + runPreBuildHook(basedir, context, logger); for (int invocationIndex = 1; ; invocationIndex++) { if (invocationIndex > 1 && !invokerProperties.isInvocationDefined(invocationIndex)) { @@ -1889,6 +1880,7 @@ public abstract class AbstractInvokerMojo extends AbstractMojo { Properties userProperties = getUserProperties(basedir, invokerProperties.getUserPropertiesFile(invocationIndex)); + userProperties.putAll(scriptUserProperties); request.setProperties(userProperties); invokerProperties.configureInvocation(request, invocationIndex); @@ -1911,12 +1903,8 @@ public abstract class AbstractInvokerMojo extends AbstractMojo { "Maven invocation failed. " + e.getMessage(), BuildJob.Result.FAILURE_BUILD); } } - } catch (IOException e) { - throw new MojoExecutionException(e.getMessage(), e); } finally { - if (selectorResult) { - runPostBuildHook(basedir, context, logger); - } + runPostBuildHook(basedir, context, logger); } return true; } @@ -1931,6 +1919,31 @@ public abstract class AbstractInvokerMojo extends AbstractMojo { } } + private boolean runSelectorHook(File basedir, Map<String, Object> context, FileLogger logger) + throws MojoExecutionException, RunFailureException { + try { + scriptRunner.run("selector script", basedir, selectorScript, context, logger); + } catch (ScriptReturnException e) { + return false; + } catch (ScriptException e) { + throw new RunFailureException(BuildJob.Result.ERROR, e); + } catch (IOException e) { + throw new MojoExecutionException(e.getMessage(), e); + } + return true; + } + + private void runPreBuildHook(File basedir, Map<String, Object> context, FileLogger logger) + throws MojoExecutionException, RunFailureException { + try { + scriptRunner.run("pre-build script", basedir, preBuildHookScript, context, logger); + } catch (ScriptException e) { + throw new RunFailureException(BuildJob.Result.FAILURE_PRE_HOOK, e); + } catch (IOException e) { + throw new MojoExecutionException(e.getMessage(), e); + } + } + private void runPostBuildHook(File basedir, Map<String, Object> context, FileLogger logger) throws MojoExecutionException, RunFailureException { try { diff --git a/src/site/apt/examples/post-build-script.apt.vm b/src/site/apt/examples/post-build-script.apt.vm deleted file mode 100644 index 93c15a8..0000000 --- a/src/site/apt/examples/post-build-script.apt.vm +++ /dev/null @@ -1,97 +0,0 @@ - ------ - Using a Post-Build Script - ------ - Paul Gier - ------ - 2008-08-02 - ------ - - ~~ Licensed to the Apache Software Foundation (ASF) under one - ~~ or more contributor license agreements. See the NOTICE file - ~~ distributed with this work for additional information - ~~ regarding copyright ownership. The ASF licenses this file - ~~ to you under the Apache License, Version 2.0 (the - ~~ "License"); you may not use this file except in compliance - ~~ with the License. You may obtain a copy of the License at - ~~ - ~~ http://www.apache.org/licenses/LICENSE-2.0 - ~~ - ~~ Unless required by applicable law or agreed to in writing, - ~~ software distributed under the License is distributed on an - ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~~ KIND, either express or implied. See the License for the - ~~ specific language governing permissions and limitations - ~~ under the License. - - ~~ NOTE: For help with the syntax of this file, see: - ~~ http://maven.apache.org/doxia/references/apt-format.html - -Using a Post-Build Script - - Here is an example of how the Invoker Plugin can be used to run a set of Maven projects and then verify their output - with a {{{http://www.beanshell.org/}BeanShell}} or {{{http://groovy-lang.org/}Groovy}} script. The name of the - script file in this case is <<<verify.bsh>>>. - -+------------------ -<project> - <build> - <plugins> - <plugin> - <artifactId>maven-invoker-plugin</artifactId> - <version>${project.version}</version> - <configuration> - <debug>true</debug> - <projectsDirectory>src/it</projectsDirectory> - <preBuildHookScript>setup.bsh</preBuildHookScript> - <postBuildHookScript>verify.bsh</postBuildHookScript> - </configuration> - <executions> - <execution> - <id>integration-test</id> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> -+------------------ - - Below is an example post-build BeanShell script (<<<verify.bsh>>>) that checks for the existence of a JAR file after - the build has run. If the JAR file does not exist, the script throws an exception which causes the Invoker Plugin to - log that the build failed. More precisely, any non-null return value which does not equal <<<true>>> will be interpreted - as a failure condition. And of course, if the script exits abnormally due to an exception, the plugin will flag the - corresponding build as a failure, too. - -+------------------ -import java.io.*; - -File file = new File( basedir, "target/my-test-project-1.0-SNAPSHOT.jar" ); -if ( !file.isFile() ) -{ - throw new FileNotFoundException( "Could not find generated JAR: " + file ); -} -+------------------ - - Complementary to the post-build hook script, you can also create a pre-build hook script that will be run before - the invocation of Maven. This can be used to do some preparations for the build. - - To allow the scripts to access some useful data about the test project, the following global variables will be - defined by the Invoker Plugin before running the script: - -*--------------------------+----------------------+-----------------------------------------------------------+--------+ -|| Name || Type || Description || Since | -*--------------------------+----------------------+-----------------------------------------------------------+--------+ -| <<<basedir>>> | <<<java.io.File>>> | The absolute path to the base directory of the test project. | 1.0 | -*--------------------------+----------------------+-----------------------------------------------------------+--------+ -| <<<localRepositoryPath>>>| <<<java.io.File>>> | The absolute path to the local repository used for the Maven invocation on the test project. | 1.3 | -*--------------------------+----------------------+-----------------------------------------------------------+--------+ -| <<<context>>> | <<<java.util.Map>>> | The storage of key-value pairs used to pass data from the pre-build hook script to the post-build hook script. | 1.4 | -*--------------------------+----------------------+-----------------------------------------------------------+--------+ -| <<<mavenVersion>>> | <<<java.lang.String>>> | The version of Maven executing on the test project. | 1.9 | -*--------------------------+----------------------+-----------------------------------------------------------+--------+ - - Additional variables that can be accessed in the hook scripts can be defined through the - <<<{{{../run-mojo.html#scriptVariables}scriptVariables}}>>> parameter in the Invoker Plugin's configuration. \ No newline at end of file diff --git a/src/site/apt/examples/pre-post-build-script.apt.vm b/src/site/apt/examples/pre-post-build-script.apt.vm new file mode 100644 index 0000000..8a8e094 --- /dev/null +++ b/src/site/apt/examples/pre-post-build-script.apt.vm @@ -0,0 +1,151 @@ + ------ + Using Pre and Post Build Script + ------ + Paul Gier + ------ + 2008-08-02 + ------ + + ~~ Licensed to the Apache Software Foundation (ASF) under one + ~~ or more contributor license agreements. See the NOTICE file + ~~ distributed with this work for additional information + ~~ regarding copyright ownership. The ASF licenses this file + ~~ to you under the Apache License, Version 2.0 (the + ~~ "License"); you may not use this file except in compliance + ~~ with the License. You may obtain a copy of the License at + ~~ + ~~ http://www.apache.org/licenses/LICENSE-2.0 + ~~ + ~~ Unless required by applicable law or agreed to in writing, + ~~ software distributed under the License is distributed on an + ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~~ KIND, either express or implied. See the License for the + ~~ specific language governing permissions and limitations + ~~ under the License. + + ~~ NOTE: For help with the syntax of this file, see: + ~~ http://maven.apache.org/doxia/references/apt-format.html + +Using a Pre-Build Script + + Complementary to the post-build hook script, you can also create a pre-build hook script that will be run before + the invocation of Maven. This can be used to do some preparations for the build. + + Default name of Pre-Build script is <<<prebuild>>>, you can use name <<<prebuild.bsh>>> or <<<prebuild.groovy>>> + according to chosen script language. + + In Pre-Build scripts you can prepare a test resources for your project. + + You can also define a user properties which will be added to executed test project by <<<-D>>> Maven argument. + + Here is an example of groovy script: + ++------------------ +def userProperties = context.get('userProperties') + +def server = new MockServer() +userProperties.put('serverHost', server.getHost()) +userProperties.put('serverPort', server.getPort()) ++------------------ + + Now you can use it in test project: + ++------------------ +<project> + <build> + <plugins> + <plugin> + <groupId>org.example</groupId> + <artifactId>my-maven-plugin</artifactId> + <version>@project.version@</version> + <configuration> + <server>${serverHost}:${serverPort}</server> + </configuration> + <executions> + .... + </executions> + </plugin> + </plugins> + </build> +</project> ++------------------ + +Using a Post-Build Script + + Here is an example of how the Invoker Plugin can be used to run a set of Maven projects and then verify their output + with a {{{https://beanshell.github.io/}BeanShell}} or {{{https://groovy-lang.org/}Groovy}} script. The name of the + script file in this case is <<<verify>>> - default value is <<<postbuild>>>. + ++------------------ +<project> + <build> + <plugins> + <plugin> + <artifactId>maven-invoker-plugin</artifactId> + <version>${project.version}</version> + <configuration> + <debug>true</debug> + <projectsDirectory>src/it</projectsDirectory> + <preBuildHookScript>setup</preBuildHookScript> + <postBuildHookScript>verify</postBuildHookScript> + </configuration> + <executions> + <execution> + <id>integration-test</id> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> ++------------------ + + Below is an example post-build BeanShell script (<<<verify.bsh>>>) that checks for the existence of a JAR file after + the build has run. If the JAR file does not exist, the script throws an exception which causes the Invoker Plugin to + log that the build failed. More precisely, any non-null return value which does not equal <<<true>>> will be interpreted + as a failure condition. And of course, if the script exits abnormally due to an exception, the plugin will flag the + corresponding build as a failure, too. + + Example <<<verify.bsh>>> + ++------------------ +import java.io.*; + +File file = new File( basedir, "target/my-test-project-1.0-SNAPSHOT.jar" ); +if ( !file.isFile() ) +{ + throw new FileNotFoundException( "Could not find generated JAR: " + file ); +} ++------------------ + + and similar <<<verify.groovy>>> + ++------------------ +def file = new File( basedir, "target/my-test-project-1.0-SNAPSHOT.jar" ) +assert file.isFile() ++------------------ + +Predefined global variables + + To allow the scripts to access some useful data about the test project, the following global variables will be + defined by the Invoker Plugin before running the script: + +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +|| Name || Type || Description || Since | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +| <<<basedir>>> | <<<java.io.File>>> | The absolute path to the base directory of the test project. | 1.0 | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +| <<<localRepositoryPath>>> | <<<java.io.File>>> | The absolute path to the local repository used for the Maven invocation on the test project. | 1.3 | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +| <<<context>>> | <<<java.util.Map>>> | The storage of key-value pairs used to pass data from the pre-build hook script to the post-build hook script. | 1.4 | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +| <<<context.get('userProperties')>>> | <<<java.util.Properties>>> | The user properties for executing project | 3.7.0 | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ +| <<<mavenVersion>>> | <<<java.lang.String>>> | The version of Maven executing on the test project. | 1.9 | +*-------------------------------------+----------------------------+-----------------------------------------------------------+--------+ + + Additional variables that can be accessed in the hook scripts can be defined through the + <<<{{{../run-mojo.html#scriptVariables}scriptVariables}}>>> parameter in the Invoker Plugin's configuration. diff --git a/src/site/apt/examples/selector-scripts.apt.vm b/src/site/apt/examples/selector-scripts.apt.vm index 43072df..806a222 100644 --- a/src/site/apt/examples/selector-scripts.apt.vm +++ b/src/site/apt/examples/selector-scripts.apt.vm @@ -85,4 +85,7 @@ Selector Scripts If the script returns any value other than <<<true>>>, then the project will not be executed. If the script throws an exception, then the project will be marked as being in ERROR. - + +Predefined global variables + + In Selector Scripts the same global variables are defined as in {{{./pre-post-build-script.html#predefined-global-variables}Pre and Post Build Script}} diff --git a/src/site/apt/groovy-version.apt.vm b/src/site/apt/groovy-version.apt.vm index bc1d17f..76a1aad 100644 --- a/src/site/apt/groovy-version.apt.vm +++ b/src/site/apt/groovy-version.apt.vm @@ -56,7 +56,7 @@ Groovy version and extensions <dependency> <groupId>org.apache.groovy</groupId> <artifactId>groovy-yaml</artifactId> - <version>3.0.10</version> + <version>${groovy-version}</version> </dependency> </dependencies> </plugin> diff --git a/src/site/apt/index.apt.vm b/src/site/apt/index.apt.vm index a05187c..bcb7e57 100644 --- a/src/site/apt/index.apt.vm +++ b/src/site/apt/index.apt.vm @@ -98,7 +98,7 @@ ${project.name} * {{{./examples/install-artifacts.html}Install}} projects artifacts to a local repository before running. - * {{{./examples/post-build-script.html}Run a BeanShell or Groovy script}} to verify project output. + * {{{./examples/pre-post-build-script.html}Run a BeanShell or Groovy script}} to prepare or verify project. * {{{./examples/fast-use.html}Fast Invoker Plugin configuration}} to accelerate project execution. diff --git a/src/site/apt/usage.apt.vm b/src/site/apt/usage.apt.vm index 8269569..7562d05 100644 --- a/src/site/apt/usage.apt.vm +++ b/src/site/apt/usage.apt.vm @@ -122,7 +122,7 @@ Usage When an integration test has finished, the plugin will invoke an optional post build hook script. In the example, this is the case for <<<second-it>>> where <<<verify.bsh>>> will be run. The purpose of this script is usually to check that the build of the integration test did not only succeed but also produced the intended output. Have a look - at the example {{{./examples/post-build-script.html}Using a Post Build Script}} for a code snippet. + at the example {{{./examples/pre-post-build-script.html}Using Pre and Post Build Script}} for a code snippet. * Running Only Some Tests diff --git a/src/site/site.xml b/src/site/site.xml index 1b34bc6..a0932f7 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -48,7 +48,7 @@ under the License. <item name="Inspect logs for failed tests" href="examples/logs-for-failed-tests.html"/> <item name="Selector Conditions" href="examples/selector-conditions.html"/> <item name="Selector Scripts" href="examples/selector-scripts.html"/> - <item name="Using a Post Build Script" href="examples/post-build-script.html"/> + <item name="Using Pre and Post Build Script" href="examples/pre-post-build-script.html"/> <item name="Parallel projects execution" href="examples/parallel-projects-execution.html"/> <item name="Preparing the Build Environment" href="examples/prepare-build-env.html"/> <item name="Skipping Invocations" href="examples/skipping.html"/>