/
Installing Features Using POM Files

This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Installing Features Using POM Files

Follow the steps below to install a feature to WSO2 EI using a new feature installed distribution.

  1. Install Maven3 and Ant.
  2. Create a directory and copy the pom.xml file given below.

    This example provides a sample pom.xml file to create a new feature installed distribution, which uses the default profile (<profile>default</profile>) and the corresponding directory path (dir="<PRODUCT_NAME>/wso2/components/default/configuration/org.eclipse.equinox.simpleconfigurator">). For more information on the plugins, see maven-antrun-plugin and Carbon P2 plugin.

    <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>org.wso2.sample</groupId>
      <artifactId>sample-feature-installation</artifactId>
      <version>1.0.0</version>
      <packaging>pom</packaging>
      <name>New feature</name>
      <url>http://wso2.org</url>
      <build>
        <plugins>
          <plugin>
            <groupId>org.wso2.maven</groupId>
            <artifactId>carbon-p2-plugin</artifactId>
            <version>1.5.4</version>
            <executions>
              <execution> 
                <id>feature-install</id>
                <phase>package</phase>
                <goals>
                  <goal>p2-profile-gen</goal>
                </goals> 
                <configuration>
                  <profile>default</profile>
                  <metadataRepository>http://product-dist.wso2.com/p2/carbon/releases/wilkes/</metadataRepository>
                  <artifactRepository>http://product-dist.wso2.com/p2/carbon/releases/wilkes/</artifactRepository>
                  <destination>wso2ei-6.1.1/wso2/components</destination>
                  <deleteOldProfileFiles>false</deleteOldProfileFiles>
                  <features>
                    <feature>
                      <id>org.wso2.carbon.hl7.feature.group</id>
                      <version>4.6.6</version>
                    </feature>
                  </features>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
              <execution>
                <phase>package</phase>
                <configuration>
                  <tasks>
                    <replace token="false" value="true" dir="wso2ei-6.1.1/wso2/components/default/configuration/org.eclipse.equinox.simpleconfigurator">
                      <include name="**/bundles.info"/>
                    </replace>
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <repositories>
        <repository>
          <id>wso2-nexus</id>
          <name>WSO2 internal Repository</name>
          <url>http://maven.wso2.org/nexus/content/groups/wso2-public/</url>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>daily</updatePolicy>
            <checksumPolicy>ignore</checksumPolicy>
          </releases>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>wso2-maven-releases-repository</id>
          <url>http://maven.wso2.org/nexus/content/repositories/releases/</url>
        </pluginRepository>
        <pluginRepository>
          <id>wso2-maven-snapshots-repository</id>
          <url>http://maven.wso2.org/nexus/content/repositories/snapshots/</url>
        </pluginRepository>
      </pluginRepositories>
    </project>
  3. Unzip the original product distribution (e.g., wso2carbon-<version>.zip) to the same directory location.  
  4. In the pom.xml file list down the features you want to install into the system. For example:

      <features>
        <feature>
            <id>org.wso2.carbon.hl7.feature.group</id>
            <version>4.6.6</version>
        </feature>
    </features>
  5. Execute the following command:

    mvn clean install

    Upon successful invocation of the build, the product distribution is provisioned with the new features. This approach is scriptable.

Related content

Installing Features Using POM Files
Installing Features Using POM Files
More like this
Installing Features Using POM Files
Installing Features Using POM Files
More like this
Installing Features using pom Files
Installing Features using pom Files
More like this
Installing and Managing Features
Installing and Managing Features
More like this
Installing and Managing Features
Installing and Managing Features
More like this
Installing and Managing Features
Installing and Managing Features
More like this