Stream: General

Topic: Isabelle/Scala component external package support


view this post on Zulip Milan Tom (May 04 2025 at 16:34):

Is there any native support for using external packages within an Isabelle/Scala component (e.g. py4j). At present, I am using Gradle to download it and place it in a folder that I then add to my Isabelle classpath in the component settings.

My understanding is that Gradle is used in Isabelle/Scala components just to import the project into common IDEs and get static analysis. Is there any way to specify external dependencies within the component settings itself? This way Gradle does not need to be used for setting up the component but rather only if someone wants to further develop the component.

view this post on Zulip Fabian Huch (May 05 2025 at 07:54):

Yes, there is a standard mechanism for external components (not just jars), e.g. have a look at the Component_XZ module.

view this post on Zulip Milan Tom (May 05 2025 at 08:08):

Where is this Component_XZ module?

view this post on Zulip Fabian Huch (May 05 2025 at 08:16):

~~/src/Pure/Admin I believe

view this post on Zulip Milan Tom (May 05 2025 at 08:43):

Ah, I see that specific component is only in Isabelle2025. So, if I understand correctly, the standard mechanism is to create an Isabelle/Scala module to manage the download of the required package and then add that to the sources in the build.props for your component so it can be used by other parts of your component.

view this post on Zulip Fabian Huch (May 05 2025 at 11:31):

Pretty much


Last updated: May 18 2025 at 04:27 UTC