-
Notifications
You must be signed in to change notification settings - Fork 231
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
Differences in Info.plist #1086
Comments
You can insert it, it’s safe… but it won’t do anything! The old macOS launcher used to extract the contents of So the new launcher works by simply executing the |
How would you increase the memory for Windows users? |
No idea, I have not touched the Windows package. @hkir-dev is the lucky guy who got to deal with that. My personal procedure would be to ① format the C:\ drive, ② install GNU/Linux, ③ install the platform-independent version of Protégé (relying on the JRE provided by your GNU/Linux distribution), ④ edit the |
This sounds reasonable. In the absence of a tool that can reliably handle spaces in windows paths, a more platform independent config file for memory would probably be great. This plist thing I think did do that job, as it simply amended the JVM call parameters with Xmx, Xms, etc.. It is out of the question to support the plist file in the new architecture of the runner? |
Out of question? No. Unlikely to happen in this decade? Yes. Apple seemingly only documents how to access the Info.plist dictionary from Objective-C or Swift, and I am not learning any of those languages just so that I can rewrite the launcher in them. I'm pretty sure it's possible in C, but without documentation that's going to take a while. |
Alright :) lets close this issue then |
That would be a much better idea than using the macOS-specific If we decide of a very simple configuration file format, like, say,
then we can make use of such a file in the We could thus have a single set of instructions for how to increase the memory allocated to Protégé, that would work for all packages. |
I think this is a good idea for future releases! For this one here, @hkir-dev just needs to make sure that there is some way to increase memory on Windows! Thats it. |
Random thoughts for a platform-independent configuration file (not necessarily for the upcoming 5.6.0 release!). A pseudo-ini file with up to 4 sections, which could look like the following: [classpath]
# A list of all the Jar archives to add to the classpath (one per line);
# translated into a single -cp jar1:jar2:jar3:... argument
bundles/guava.jar
bundles/logback-classic.jar
bundles/logback-core.jar
bundles/slf4j-api.jar
bin/org.apache.felix.main.jar
bin/maven-artifact.jar
bin/protege-launcher.jar
[jvm_options]
# Some “known options” for the JVM
# one per line with name=value syntax
max_heap_size=24G # translated into -Xmx24G
min_heap_size=2G # translated into -Xms2G
stack_size=16M # translated into -Xss16M
[properties]
# Java properties, one per line;
# each line translated into -Dname=value
logback.configurationFile=conf/logback.xml
file.encoding=UTF-8
apple.laf.useScreenMenuBar=true
com.apple.mrj.application.apple.menu.about.name=Protege
[extra_jvm_options]
# Non-standard JVM options, one per line;
# each line translated into -Xname=value
X:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
dock:name=Protege
dock:icon=app/Protege.icns Up then to the launcher to parse that file and to build the required command line to spawn the JVM with Protégé.
|
On second thought, I actually dislike my own proposal above… The problem is that it mixes options that the user might legitimately want to change (such as the heap size) with options that are actually needed for Protégé to work correctly and that no user should ever modify (e.g. the classpath). Better to keep the second class of options somewhere inside the launcher binaries or scripts (“out of reach” for most users except the most adventurous ones), and to have a simpler configuration file for the user-modifiable options. Maybe just: max_heap_size=24G # translated to -Xmx24G
min_heap_size=2G # translated to -Xms2G
stack_size=16M # translated to -Xss16M
append=XYZ # intended to allow passing arbitrary options just in case; `XYZ` is simply appended to the JVM command line with no translation |
Another thought: We should look for the configuration file somewhere in the user’s configuration directory first (on GNU/Linux, under |
In 5.6.0-beta-1 the Windows JVM options can be adjusted by editing the Protege.I4J.ini or editing the run.bat file as mentioned in wiki |
We’ll need to update the wiki page after (or at the same time as) the 5.6.0 release to reflect how memory settings can now be set on macOS. When we do that, we can also fix an error in the Windows documentation:
The |
Well, this was a short decade after all… It turns out reading the So for the sake of backward compatibility, I propose that the macOS launcher behave as follows:
The <key>JVMOptions</key>
<array>
<string>-Xmx8G</string>
<string>-Xms200M</string>
</array> |
This is tear-sheddingly great. |
Pet project for the Christmas break: a universal launcher for Protégé. This will allow to use a single code for GNU/Linux, macOS, and Windows versions of Protégé, and thus to ensure a consistent behavior across platforms. With that launcher, all 3 versions will be able to use the The new launcher is in a pretty good shape already, it has been tested on Slackware Linux, macOS 13, and Windows 10. Further testing will be needed, but I think it can be ready in time for the 5.6.0 release. |
Closing as the universal launcher mentioned in the previous message fixes everything that is discussed here. We now have a mechanism to set Java options that is common to all variants of Protégé (the |
I noticed that the Contens/Info.plist file looks quite a bit different from the old to the new. Did anyone try to do https://oboacademy.github.io/obook/howto/set-up-protege/#increase-memory-in-protege?
In particular, this stuff seems entirely missing:
Is this intended? Can we safely insert this stuff into Info.plist if we want to increase memory?
cc @gouttegd @hkir-dev
The text was updated successfully, but these errors were encountered: