Unknown macro: {next_previous_links}
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

Version 1 Next »

Prerequisites

Maven3 and Ant needs to be installed.

Steps

The following are the steps to create a new feature installed distribution:

  1. Create a directory and copy the following pom.xml file. 

    Example:

    Sample pom.xml file to create a new feature installed distribution.

    <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>Creating custom distribution</name>
    	<url>http://wso2.org</url>
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.wso2.maven</groupId>
    				<artifactId>carbon-p2-plugin</artifactId>
    				<version>1.5.1</version>
    				<executions>
    					<execution>
    						<id>feature-install</id>
    						<phase>package</phase>
    						<goals>
    							<goal>p2-profile-gen</goal>
    						</goals>
    						<configuration>
    							<profile>WSO2CarbonProfile</profile>
    							<metadataRepository>file:p2-repo</metadataRepository>
    							<artifactRepository>file:p2-repo</artifactRepository>
    							<destination>$distribution_name/repository/components</destination>
    							<deleteOldProfileFiles>true</deleteOldProfileFiles>
    							<features>
    								<feature>
    									<id>org.wso2.carbon.tryit.feature.group</id>
    									<version>4.1.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/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-maven2-repository</id>
    			<url>http://dist.wso2.org/maven2</url>
    		</pluginRepository>
    		<pluginRepository>
    			<id>wso2-maven2-repository</id>
    			<url>http://dist.wso2.org/snapshots/maven2</url>
    		</pluginRepository>
    	</pluginRepositories>
    </project>

    For more information on the maven-antrun-plugin please go to http://maven.apache.org/plugins/maven-antrun-plugin/.

  2. Unzip the original product distribution (e.g., wso2carbon-<version>.zip) and the relevant p2 repository (e.g., http://dist.wso2.org/products/carbon/<version>/p2-repo.zip) to the same directory location. 
  3. Replace the $distribution_name params found in pom.xml file, with the unzipped product distribution name (e.g., wso2carbon-<version>
  4. 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.1.0</version> 
    </feature>

     

  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.

  • No labels