Skip to content

Package VoltScript Libraries

Note

VoltScript Extensions can be scaffolded in VoltScript Interface Designer. You can also generate code skeletons and API documentation from VSID.

VoltScript Libraries are published as individual files. You will need to share:

  • the main .vss file.
  • the atlas.json file.
  • any custom .vss files not specified as dependencies in the atlas.json.

Note

If you are creating a release on GitHub, you should add these files manually into the release. If in doubt, look at one of the HCL-developed repositories for an example.

Downstream dependencies

You don't need to publish downstream dependencies. VoltScript Libraries or VoltScript Extensions included in your atlas.json as dependencies from other external repositories will automatically be downloaded, providing they're accessible.

Documentation for VoltScript Build Manager consumers

Dependencies

Include in your documentation a JSON object for each .vss file, comprising the library, version, and .vss filename. For example:

"dependencies": [
  {
    "library": "voltscript-testing",
    "version": "1.0.1",
    "module": "VoltScriptTesting.vss"
  }
]

If publishing to GitHub, the library will be the GitHub repository name. If publishing to a generic web server, the library will be a directory with a subdirectory for each version.

Note

You don't need to include any documentation referring to the atlas.json, that will be picked up automatically.

Publishing

Include in your documentation a JSON object for the repository consumers will need to add into their atlas.json.

Note

Always use an ID that will be unique for this URL, because consumers will need to add a corresponding entry with the same ID in their environment-wide atlas-settings.json.

GitHub

If you are publishing to GitHub or GitHub Enterprise, the type should be "github". The URL format varies depending on the environment:

  • For github.com, the URL will be "https://api.github.com/repos/" + OWNER_NAME.
  • For GitHub Enterprise Server, the URL will be "http(s)://HOSTNAME/api/v3/repos/" + OWNER_NAME.

Example:

{
  "id": "hcl-github",
  "type": "github",
  "url": "https://api.github.com/repos/HCL-TECH-SOFTWARE"
}

Generic Web Server

For a generic web server or Domino database, the type should be "webserver". The URL will be appended with "/LIBRARY/VERSION/MODULE".

{
  "id": "my-nsf",
  "type": "webserver",
  "url": "https://my-webserver.com/VoltScriptRepository.nsf"
}

Tip

If you want to use Domino as a repository, you have two options:

  1. Create folders on the Domino server in /data/domino folder.
  2. Use an NSF and either:
    • Open the Package Explorer view and add folders under the WebContent directory and drag your files in.
    • Add as File Resources. This is the less recommended approach, because the File Resource name needs to include forward slashes to simulate a folder structure.

WebContent directory