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/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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>/repository/components/default/configuration/org.eclipse.equinox.simpleconfigurator">).

    You need to update the following values:

    • The name of your product should replace <PRODUCT_HOME>(e.g., EI-6.0.0).
    • The relevant profile (e.g., default, worker) should replace $profile. For more information about server profiles, see Creating New Server Profiles in WSO2 Carbon documentation.
    • Value of the <destination> element should be wso2ei-6.0.0/wso2/components.
    • Value of the dir attribute in the <replace> element should be wso2ei-6.0.0/wso2/components/default/configuration/org.eclipse.equinox.simpleconfigurator.

    For more information on the plugins, see maven-antrun-plugin and Carbon P2 plugin.

    <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.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>file:p2-repo</metadataRepository>
                                <artifactRepository>file:p2-repo</artifactRepository>
                                <destination>$distribution_name/repository/components</destination>
                                <deleteOldProfileFiles>false</deleteOldProfileFiles>
                                <features>
                                    <feature>
                                        <id>org.wso2.carbon.tryit.feature.group</id>
                                        <version>4.3.0</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="$distribution_name/repository/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) and the relevant p2 repository (e.g., http://product-dist.wso2.com/p2/carbon/releases/wilkes/) to the same directory location. 
  4. Replace the $distribution_name params found in pom.xml file, with the unzipped product distribution name (e.g., wso2carbon-<version>
  5. In the pom.xml file list down the features you want to install into the system. 
    Example:

     <feature> 
       <id>org.wso2.carbon.tryit.feature.group</id> 
       <version>4.3.0</version> 
    </feature>
  6. 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.

  • No labels