-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve configuration infrastructure #484
Comments
I'm not seeing what the idea is here (or really what the problem is) ...
The base library already provides for this situation (originally developed for distributing windows applications with everything inside the app bundle), with the various domains being inside a single fixed location or in a relocatable application bundle - it's just a matter of configuring it with the appropriate location information and the details are extensively covered in the base library documentation. In fact gnustep-make has a 'standalone' filesystem layout designed to make this even easier (the idea is that you just configure gnustep-make with that layout and then everything is done for you). Perhaps what would be good for android would be to change gnustep-make to use the 'standalone' layout (or some android specific variant) by default when configuring on an android system? Now, if the existing system is lacking in some specific detail, it would obviously make sense to enhance it, but it's not clear to me what might be missing. |
This assumes that we know the installation directory at compile time, which is not the case. It would be great to provide a way to supply a config dictionary instead of a path, or at least resolve it dynamically on android (with the values in the config acting as an override). I guess the LOCAL and SYSTEM domain can point the application's resource directory, while USER points to the application data directory. |
PS. In theory the GNUstepConfig() function already allows you to control this programatically, overriding the default (ie when base was compiled) config or the information in the config file (normally read at runtime) by calling it with a non-nil argument before it's called automatically, but as far as I know nobody has ever needed that. |
GNUstep's config infrastructure, mainly the code responsible for handling domains is quite complex, and does not work well with more restricted platforms like Android.
I propose the following changes:
NSSearchPathForDirectoriesInDomains
, GSSetUserName, GNUstepConfig, GNUstepUserConfig, and GSDefaultsRootForUserRoughly the implementation of NSPathUtilities we have now
Ideas are welcome :D
The text was updated successfully, but these errors were encountered: