Add M2_HOME to Maven parameters
[releng/global-jjb.git] / jjb / lf-macros.yaml
index 4759b44..374f5de 100644 (file)
@@ -3,6 +3,20 @@
 # BUILDERS #
 ############
 
+- builder:
+    name: lf-fetch-dependent-patches
+    # Fetches all patches provided via comment trigger
+    #
+    # This macro will fetch all patches provided via comment trigger and will
+    # create a list of projects from those patches via environment variable
+    # called DEPENDENCY_BUILD_ORDER which can be used if necessary to build
+    # projects in the specified order. The order is determined by first patch
+    # instance for a project in the patch list.
+    builders:
+      - shell: !include-raw: ../shell/gerrit-fetch-dependencies.sh
+      - inject:
+          properties-file: $WORKSPACE/.dependency.properties
+
 - builder:
     name: lf-infra-create-netrc
     # Macro to create a ~/.netrc file from a Maven settings.xml
             - file-id: '{settings-file}'
               variable: 'SETTINGS_FILE'
 
+- builder:
+    name: lf-pip-install
+    # Call pip install to install packages into a virtualenv
+    # The first package listed in PIP_PACKAGES is used as the virtualenv name.
+    builders:
+      - inject:
+          properties-content: PIP_PACKAGES={pip-packages}
+      - shell: !include-raw-escape: ../shell/pip-install.sh
+
 - builder:
     name: lf-provide-maven-settings-cleanup
     # Clear maven settings files after we are done using them
           # DO NOT fail build if any of the above lines fail.
           exit 0
 
+- builder:
+    name: lf-rtd-trigger-build
+    builders:
+      - inject:
+          properties-content: RTD_PROJECT={rtd-project}
+      - shell: !include-raw-escape: ../shell/rtd-trigger-build.sh
+
+- builder:
+    name: lf-rtd-verify
+    builders:
+      - inject:
+          properties-content: DOC_DIR={doc-dir}
+      - shell: !include-raw-escape:
+          - ../shell/tox-install.sh
+          - ../shell/rtd-verify.sh
+
 ##############
 # PARAMETERS #
 ##############
 - parameter:
     name: lf-infra-maven-parameters
     parameters:
+      - string:
+          name: M2_HOME
+          # Sets an env var for shell scripts to be able to call the dynamically
+          # installed maven without having to calculate the M2_HOME themselves.
+          default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{mvn-version}'
+          description: 'Maven selector to be used by shell scripts'
       - string:
           name: MAVEN_OPTS
           default: '{mvn-opts}'
               job is triggered by Gerrit.
       - string:
           name: GERRIT_REFSPEC
-          default: ''
+          default: 'refs/heads/{branch}'
           description: |
               Parameter to identify a refspec when pulling from Gerrit.
 
               Note that Gerrit will override this parameter automatically if a
               job is triggered by Gerrit.
+      - string:
+          name: LFTOOLS_VERSION
+          default: '{lftools-version}'
+          description: |
+              Version of lftools to install. Can be a specific version like
+              '0.6.0' or a PEP-440 definition.
+              https://www.python.org/dev/peps/pep-0440/
+              For example '<1.0.0' or '>=1.0.0,<2.0.0'.
 
+- parameter:
+    name: lf-infra-node-parameters
+    # Parameters for NodeJS
+    parameters:
+      - string:
+          name: NODE_DIR
+          default: '{node-dir}'
+          description: Path to a Node project directory.
+      - string:
+          name: NODE_VERSION
+          default: '{node-version}'
+          description: Version of NodeJS to install.
 
 - parameter:
     name: lf-infra-tox-parameters