• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

15.5.2 Packs with foreign code
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • Packs: community add-ons
        • Developing a pack
          • Packs with foreign code
            • Compiling a foreign extension using a simple Makefile
            • Publishing a pack
            • Compiling a foreign extension using CMake
    • Packages

15.5.2.2 Publishing a pack

As described in section 15.4, a pack is distributed either as an archive file or as a GIT repository. We strongly encourage using a GIT repository as that gives good version and provenance support. Packs may be published by hand by making the archive or git repository available from a globally accessible place on the internet and installing the pack from this location. This process is streamlined, notably for GIT packs using pack_publish/2 and the app pack. To publish a pack a local GIT repository that has publicly accessible origin,

  1. Update version(Version) in pack.pl
  2. Commit all changes, make sure the the repository is clean.
  3. Run
    swipl pack publish .

This will

  1. Verify the repository is clean and on the default branch.
  2. Tag the repository with V<version>. By default, the tag will be signed. Please setup signing for GIT or use the “--no-sign`` option.
  3. Push the repository and release tag.
  4. Figure out the download location, either from the download(URL) metadata or the GIT remote information.
  5. Install the package and its dependencies in a temporary isolated pack environment.
  6. On success, register the pack with the server.
  7. Delete the isolated pack environment.

Similarly, a pack can be published from a public archive using the command below. When using an archive, never change the content of the archive but, instead, create a new archive with a new version.

swipl pack publish URL

ClioPatria (version V3.1.1-51-ga0b30a5)