Community
Participate
Working Groups
As per bug 218878, we would like to add the ability to have per-platform config.ini files. Once this support is added to the file formats in the core, we will need to be able to set these properties in the UI's product editor. It would probably be easiest to have a mechanism to replace the whole file, rather than try and specify per-platform properties and merge the rest of the common contents.
I should have also added that minimally we should ensure that any changes that we make to the product file by hand, are not lost.
I assume we want this in M7?
please
note there is a patch on bug 218878
Created attachment 96340 [details] org.eclipse.pde.patch Here is the patch that adds support to the UI and also modifies the model a bit to be more consistent with the other properties and how PDE UI handles things.
Note, this entails a small change in the .product format. Things look like this now: <configIni use="default"> <solaris>/rcp/configs/solaris/config.ini</solaris> <windows>/rcp/configs/win32/config.ini</windows> </configIni> platform specific paths go under the configIni property I'm not releasing a patch until I test things more... as with product things, I have to make sure export and launching are 100% After this, we can discuss adding "version" to the product editor.
Created attachment 96460 [details] org.eclipse.pde.patch An updated patch. This patch adds UI support for platform-specific config.ini files. It also adds a backwards compatibilty layer so that if we come across an older product file, we intelligently convert their intentions to the new style. For example, if people had a previous custom config.ini from an older product file, that would be converted to appear on "all platforms." This time, the next time the file is saved, things would be up to date. PDE also modified the way it launches and exports to accomodate platform specific config.ini files while maintaining backwards compatbility. The format would slightly changed to accomodate PDE UI. I will open bugs against p2/PDE Build
Created attachment 96461 [details] mylyn/context/zip
done. > 20080417
The list of platform in the patch is missing some platforms. Also I wonder if we can instead use the constants from Platform.OS_* The notable cases are: windows -> win32 macos -> macosx and missing: aix, hpux
Sure, we can Andrew, but we have never exposed those environments in the product editor. We have traditionally stuck with 4: windows, mac, solaris, linux Find me a person building products on hpux and aix ;P With that said, we should still not override settings if they exist for those platforms. Is that approach fair?
thats fine
done. I updated it to use OS constants from org.eclipse.osgi.service.environment.Constants Please do the same DJ for PDE Build ;)
Do you mean have the ProductFile class in PDE/Build use the Constants from OSGi instead of from the Platform class? Or something else?
What's worse, a dep on org.eclipse.osgi or org.eclipse.core.runtime? Tom, do you have a feeling where we should be going for these constants? Aren't they defined by OSGi somewhere in a framework independent way?
Changing the code to reference the constants in OSGi is fine, I just wasn't sure if you were asking for something more.
OSGi does not have a set of constants for operating platforms because the list can change so much that a new spec release would be needed each time a new OS was released. Instead the values are published at a reference URL at OSGi http://www.osgi.org/Specifications/Reference
(In reply to comment #17) > OSGi does not have a set of constants for operating platforms because the list > can change so much that a new spec release would be needed each time a new OS > was released. Instead the values are published at a reference URL at OSGi > http://www.osgi.org/Specifications/Reference Well that isn't any fun. Thanks for the response.