Hi Dinusha, Thanks for looking into the issue mentioned. As I mentioned offline during the demo, there seems to be an issue of cleaning up resources copied by the features and also the p2-profile generation fails for multiple profiles if a feature removes any resources using touch points.
Please let me know if this is something that can be addressed via the carbon-feature-plugin itself. Will raise a JIRA for it if needed if it can be handled from the plugin. Thanks, Lasantha On 8 October 2015 at 11:59, Dinusha Boteju <dinus...@wso2.com> wrote: > Hi Lasantha, > > Thank you very much for the given feedback. The plugin wraps the equinox > p2 director application internally to install features. However, I am not > sure what you have mentioned here is handled by the plugin. So lets have a > demo and check that out. > > On a separate note there are few limitations in the plugin at the moment. > We are in the process of rectifying those. > > Thanks, > Dinusha > > On Thu, Oct 8, 2015 at 1:39 AM, Lasantha Fernando <lasan...@wso2.com> > wrote: > >> Hi Dinusha, >> >> The new configuration seems more intuitive and easier to use. +1 for the >> proposed changes. >> >> A minor issue that I have encountered when using the previous plugin is >> that resources that are copied via the p2.inf for a feature get left in the >> repository/components/features directory of the pack. If considerably large >> files are copied by the feature, we have to manually add instructions in >> dist.xml of the product build to clean up these files, as in [1,2]. >> >> I guess one option to clean up these files would be to make use of the >> eclipse touch points to clean up these resources after installation. >> However, this approach fails if the product uses multiple profiles. i.e. >> the feature gets installed in one profile generation and the resource files >> get cleaned up. Then when it comes to installing features for the second >> profile, the resource files are not available and will throw an error. >> >> Can this issue also be addressed with the changes that we are going to >> incorporate to the p2-plugin? IMHO, this will make for a much cleaner >> installation process for the features. Also, currently, if the features are >> installed via management console, there is no way to perform a cleanup >> operation similar to [1,2]. >> >> [1] >> https://github.com/wso2/product-as/blob/master/modules/distribution/src/assembly/dist.xml#L35 >> [2] >> https://github.com/wso2/product-cep/blob/master/modules/distribution/src/assembly/dist.xml >> >> Thanks, >> Lasantha >> >> On 7 October 2015 at 15:26, Dinusha Boteju <dinus...@wso2.com> wrote: >> >>> >>> Hi all, >>> >>> We are hoping to introduce a revamp version of carbon-feature-plugin >>> 2.0.0 (previously known as carbon-p2-plugin) along with Carbon 4.5.0 and >>> Carbon 5. Following were taken into consideration when revamping the >>> carbon-feature-plugin. >>> >>> - Optimizing the existing plugin (architecture and technology >>> migration) >>> - Introduce a new packaging type for carbon features >>> - Make the configuration consistent throughout the set of goals >>> exposed through the plugin >>> - Introduce unininstall feature. >>> >>> The new plugin is composed of 6 maven goals; >>> >>> 1. generate (previously known as p2-feature-gen) >>> 2. install (previously known as p2-profile-gen) >>> 3. uninstall >>> 4. generate-repo (previously known as p2-repo-gen) >>> 5. generate-profile (previously known as materialize-product) >>> 6. publish-product >>> >>> To give a heads up, I am elaborating sample configuration of few maven >>> goals of carbon-feature-plugin; >>> >>> - generate >>> >>> This goal generates carbon features, which you can install from feature >>> manager console and/or add it to a p2 repo. In order to generate a carbon >>> feature from the generate goal, you need to set the packaging type to >>> *carbon-feature.* A sample plugin configuration; >>> <project> >>> .... >>> * <packaging>carbon-feature</packaging>* >>> ... >>> <build> >>> <plugins> >>> <plugin> >>> <groupId>org.wso2.carbon</groupId> >>> * <artifactId>carbon-feature-plugin</**artifactId>* >>> <version>2.0.0</version> >>> <extensions>true</extensions> >>> <executions> >>> <execution> >>> <goals> >>> * <goal>generate</goal>* >>> </goals> >>> <phase>package</phase> >>> >>> *<configuration>* >>> >>> * >>> <propertyFile>file:/home/carbon-kernel/feature.properties</propertyFile>* >>> >>> * <adviceFileContent>* >>> >>> >>> >>> * <advice> >>> <name>org.eclipse.equinox.p2.type.group</name> >>> <value>false</false> </advice>* >>> >>> * </adviceFileContent>* >>> >>> * <bundles>* >>> * <bundles>* >>> >>> * >>> <symbolicName>org.wso2.carbon.registry.contentsearch.feature</symbolicName>* >>> >>> * <version>4.2.0</version>* >>> >>> * </bundles>** >>> </bundles>* >>> * </configuration>* >>> </execution> >>> </executions> >>> </plugin> >>> </plugins> >>> </build> >>> <project> >>> >>> Note: If you are familiar with the previous versions of this goal, you >>> will notice there are considerable changes in configuring adviceFile, >>> bundles, etc. >>> >>> >>> - install >>> >>> install goal, previously known as p2-profile-gen is used to install a >>> given set of features to a carbon product. In the new version some of the >>> redundant configuration parameters have been removed and feeding features >>> to be installed is made consistent with *generate* and *generate-repo* >>> maven goal. Sample configuration; >>> <plugin> >>> <groupId>org.wso2.carbon</groupId> >>> * <artifactId>carbon-feature-plugin</**artifactId>* >>> <version>2.0.0</version> >>> <executions> >>> <execution> >>> <goals> >>> * <goal>install</goal>* >>> </goals> >>> <phase>package</phase> >>> >>> *<configuration>* >>> * <profile>default</* >>> *profile>* >>> * <repositoryURL>* >>> *file:/home/p2-repo</repositoryURL>* >>> * <destination>* >>> */home/Apps/wso2carbon-4.4.0/repository/components</destination>* >>> * <features>* >>> * <feature>* >>> * >>> <id>org.wso2.carbon.student.mgt.feature</id>* >>> * <version>4.2.0</version>* >>> * </**feature>* >>> * </**features>* >>> * </configuration>* >>> </execution> >>> </executions> >>> </plugin> >>> >>> >>> - uninstall >>> >>> Configuring *uninstall* maven goal is pretty similar to install goal >>> but with fewer parameters than *install* goal. The user need to specify >>> features to be uninstalled exactly the same way the way you specify >>> features to be installed in install goal. Since the configuration is so >>> obvious, I have not introduce an example for this. >>> >>> - generate-repo >>> >>> Previously known as p2-repo-gen, this goal creates a p2 repository out >>> of a given set of carbon features. Sample configuration; >>> <plugin> >>> <groupId>org.wso2.carbon</groupId> >>> * <artifactId>carbon-feature-plugin</**artifactId>* >>> <version>2.0.0</version> >>> <extensions>true</extensions> >>> <executions> >>> <execution> >>> <goals> >>> * <goal>generate-repo</goal>* >>> </goals> >>> <phase>package</phase> >>> >>> *<configuration>* >>> * >>> <targetRepository>file:${basedir}/target/p2-repo</* >>> *targetRepository>* >>> >>> * <features>* >>> >>> >>> * <feature> >>> <id>org.wso2.carbon.student.mgt.feature</name> >>> <version>4.2.0</* >>> *version> </feature>* >>> >>> * </features> * >>> * </configuration>* >>> </execution> >>> </executions> >>> </plugin> >>> >>> I hope you all will find easy to use the new plugin. I will share a >>> proper documentation in the near future. >>> Thanks & Best regards, >>> -- >>> >>> *Dinusha Boteju* >>> *WSO2, Inc. http://wso2.com <http://wso2.com/> * >>> *lean.enterprise.middleware.* >>> >>> email: dinus...@wso2.com <ruw...@wso2.com> >>> phone:(+94) 776640275 <%28%2B94%29%20777739736> >>> >>> _______________________________________________ >>> Architecture mailing list >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> *Lasantha Fernando* >> Senior Software Engineer - Data Technologies Team >> WSO2 Inc. http://wso2.com >> >> email: lasan...@wso2.com >> mobile: (+94) 71 5247551 >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > > *Dinusha Boteju* > *Associate Tech Lead,* > *WSO2, Inc. http://wso2.com <http://wso2.com/> * > *lean.enterprise.middleware.* > > email: dinus...@wso2.com <ruw...@wso2.com> > phone:(+94) 776640275 <%28%2B94%29%20777739736> > -- *Lasantha Fernando* Senior Software Engineer - Data Technologies Team WSO2 Inc. http://wso2.com email: lasan...@wso2.com mobile: (+94) 71 5247551
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture