Back to snippet library
Xml Snippet #4

DEX660 - BOM

This is the bill of materials POM, which is used for managing dependencies and repositories for your projects. This should be placed at the path bom/pom.xml in your Studio workspace folder.

For more info on working parent POMs and BOMs, see https://help.salesforce.com/s/articleView?id=001116554&type=1.

Xml
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
  <!-- Make sure to update the YOUR_BG_ID as well as the versions to match your environment -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>YOUR_BG_ID</groupId>
  <artifactId>bom</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>
  <name>bom</name>
  <properties>
	  <type>custom</type>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <app.runtime.semver>4.11</app.runtime.semver>
    <app.runtime>4.11</app.runtime>
    <mule.maven.plugin.version>4.7.0</mule.maven.plugin.version>
    <munit.version>3.7.0</munit.version>
    <munit.assertions.version>1.2.1</munit.assertions.version>
    <mule.http.connector.version>1.11.1</mule.http.connector.version>
    <mule.apikit.module.version>1.11.14</mule.apikit.module.version>
    <mule.secure.props.module.version>1.3.0</mule.secure.props.module.version>
    <maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
    <maven.clean.plugin.version>3.2.0</maven.clean.plugin.version>
    <exchange.mule.maven.plugin.version>0.1.7</exchange.mule.maven.plugin.version>
  </properties>
  <dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.mule.connectors</groupId>
      <artifactId>mule-http-connector</artifactId>
      <version>${mule.http.connector.version}</version>
      <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
      <groupId>org.mule.modules</groupId>
      <artifactId>mule-apikit-module</artifactId>
      <version>${mule.apikit.module.version}</version>
      <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
      <groupId>com.mulesoft.modules</groupId>
      <artifactId>mule-secure-configuration-property-module</artifactId>
      <version>${mule.secure.props.module.version}</version>
      <classifier>mule-plugin</classifier>
    </dependency>
  </dependencies>
  </dependencyManagement>
  <repositories>
    <repository>
      <id>anypoint-exchange-v3</id>
      <name>Anypoint Exchange</name>
      <url>https://maven.anypoint.mulesoft.com/api/v3/maven</url>
      <layout>default</layout>
    </repository>
    <repository>
      <id>mulesoft-releases</id>
      <name>MuleSoft Releases Repository</name>
      <url>https://repository.mulesoft.org/releases/</url>
      <layout>default</layout>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>mulesoft-releases</id>
      <name>MuleSoft Releases Repository</name>
      <layout>default</layout>
      <url>https://repository.mulesoft.org/releases/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
    <distributionManagement>
    <repository>
      <id>anypoint-exchange-v3</id>
      <name>AnyPoint Exchange</name>
      <url>https://maven.anypoint.mulesoft.com/api/v3/organizations/${project.groupId}/maven</url>
      <layout>default</layout>
    </repository>
  </distributionManagement>
   <profiles>
    <profile>
      <id>deploy-to-exchange-v3</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.mule.tools.maven</groupId>
            <artifactId>exchange-mule-maven-plugin</artifactId>
            <version>${exchange.mule.maven.plugin.version}</version>
            <executions>
              <execution>
                <id>validate</id>
                <phase>validate</phase>
                <goals>
                  <goal>exchange-pre-deploy</goal>
                </goals>
              </execution>
              <execution>
                <id>deploy</id>
                <phase>deploy</phase>
                <goals>
                  <goal>exchange-deploy</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>

Diagram