Thanks Mikhail. On Thu, Feb 28, 2013 at 7:24 PM, Mikhail Kalkov < [email protected]> wrote:
> Given that all p2 devs seem to be busy, I suggest that you run your code, > which installs features, in a debugger and try to understand how exactly > the path to target folder is built. Maybe, you'll see where the wrong value > comes from and how to make sure the right value is used. I think it's a > better approach than to override properties at runtime. > > Concerning your attempt to change PROP_CACHE value, it seems that you call > IProfileRegistry.setProfileStateProperty and expect IProfile.getProperty to > return the new value. I guess that a profile state property and a profile > property are not the same things, and that's why your attempt failed. > > /Mikhail > > ------------------------------ > *From: *"Dileepa Jayakody" <[email protected]> > *To: *"P2 developer discussions" <[email protected]> > *Sent: *Wednesday, February 27, 2013 10:34:42 PM > *Subject: *[p2-dev] How to override Profile Properties ? > > > Hi All, > > Can I please know whether it's possible to override Profile properties at > runtime? > What I'm looking for is a way to override the bundle-pool location used by > the Profile to extract features and plugins during feature installation. > > In a previous thread, I learned that the bundle pool location (/features, > /plugins directories) is located by the org.eclipse.equinox.p2.cache property > value. > > I gave this as a profile property when invoking p2-director. I'm also using > -roaming enabled for my application. > > However during runtime, I see that the org.eclipse.equinox.p2.cache property > is initialized to > /dileepa/kernel/trunk/distribution/kernel/target/wso2carbon-core-4.1.0-SNAPSHOT/repository/components/WSO2CarbonProfile > > This is not the place I specified p2.cache to point to. I want it to be > pointed to > /dileepa/kernel/trunk/distribution/kernel/target/wso2carbon-core-4.1.0-SNAPSHOT/repository/components(I > suspect with -roaming enabled, the profile-property value I set for p2.cache > has been modified internaly by P2) > > As there is no direct method to override the p2.cache profile property, I > tried ; > > profileRegistry.setProfileStateProperty(IProfileRegistry.SELF, timeStamp, > "org.eclipse.equinox.p2.cache", System.getProperty("carbon.home") + > File.separator + "repository" + File.separator +"components"); > But this was not successful and the features were still extracted at > repository/components/WSO2CarbonProfile directory and the p2 instructions to > copy certain files during feature installation fail, due to incorrect > file-paths to source. > > Then I learned that my change above using setProfileStateProperty() is not > useful at all since in p2.touchpoint.eclipse.util [1] uses; > profile.getProperty(IProfile.PROP_CACHE); and not profile.getPropertyState() > > Can I please know a way to override the p2.cache property for my running > profile during runtime? > > Thanks, > Dileepa > > > [1] > http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.6.1/org.eclipse.equinox.p2.touchpoint/eclipse/2.0.2/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java#Util.getConfigurationFolder%28org.eclipse.equinox.p2.engine.IProfile%29 > > > > > _______________________________________________ > p2-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/p2-dev > > > _______________________________________________ > p2-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/p2-dev > > -- Dileepa Jayakody, Software Engineer, WSO2 Inc. Lean . Enterprise . Middleware Mobile : +94777-857616
_______________________________________________ p2-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/p2-dev
