mirror of https://github.com/KLayout/klayout.git
Updated package manager doc.
This commit is contained in:
parent
5eb8172c57
commit
c99dbebf0a
|
|
@ -607,7 +607,7 @@
|
|||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Installed Packages</string>
|
||||
<string>Current Packages</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
|
|
@ -786,8 +786,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>537</width>
|
||||
<height>284</height>
|
||||
<width>343</width>
|
||||
<height>207</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
</p>
|
||||
|
||||
<p>
|
||||
The key component for the package repository is the "Salt.Mine" package repository
|
||||
The key component for public package deployment is the "Salt.Mine" package repository
|
||||
service (<tt>sami.klayout.org</tt>). It is a web service that maintains a package list. It
|
||||
does not host the packages, but stores links to the actual hosting site. In order
|
||||
to author a package, you need to upload the package to one of the supported host
|
||||
|
|
@ -59,11 +59,110 @@
|
|||
account for confirmation.
|
||||
</p>
|
||||
|
||||
<h2>Installing Packages</h2>
|
||||
|
||||
<p>
|
||||
Currently, GitHub is supported as a host site. As a package author you'll need a GitHub
|
||||
account and open a project for your package there. GitHub acts both as a code repository
|
||||
for your development and as a deployment platform. KLayout can download packages directly
|
||||
from your GitHub project's master or a release tag.
|
||||
To install external packages, open the package manager with "Tools/Manage Packages".
|
||||
On the "Install New Packages" page, a list of available packages is shown. Select
|
||||
the desired packages and mark them using the check mark button. Marked packages will
|
||||
be downloaded and installed with the "Apply" button.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A filter above the package list allows selecting packages by name.
|
||||
The right panel shows details about the package currently selected.
|
||||
</p>
|
||||
|
||||
<h2>Updating Packages</h2>
|
||||
|
||||
<p>
|
||||
To check for updates, use the "Update Packages" tab of the package manager.
|
||||
In the list, those packages for which updates are available are shown.
|
||||
Mark packages for update using the check mark button. Click "Apply" to
|
||||
apply the selected updates.
|
||||
</p>
|
||||
|
||||
<h2>Uninstalling Packages</h2>
|
||||
|
||||
<p>
|
||||
To uninstall packages, open the package manager using "Tools/Manage Packages".
|
||||
Go to the "Current Packages" tab. Select a package and use the "Remove Package"
|
||||
button to uninstall the package.
|
||||
</p>
|
||||
|
||||
<h2>Creating Packages</h2>
|
||||
|
||||
<p>
|
||||
For package development you can utilize KLayout to initialize and edit the files inside
|
||||
the package folder or populate the folder manually.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
KLayout offers to initialize new packages from a template. You can modify the template
|
||||
package later.
|
||||
To create a package from a template, open the package manager using "Tools/Manage Packages",
|
||||
go to the "Current Packages" tab and push the "Create (Edit) Package" button.
|
||||
Chose a template from the list that opens and enter a package name (with prefix, if
|
||||
desired). Select "Ok" to let KLayout create a new package based on the template you
|
||||
selected.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The package details can be edited with the "pen" button at the top right of the
|
||||
right details panel. Please specify at least some author information, a license
|
||||
model and a version. If the package needs other packages, the dependencies can be
|
||||
listed in the "Depends on" table. Those packages will be automatically installed
|
||||
together with the new package. The showcase image can be a screenshot that gives
|
||||
some idea what the package will do.
|
||||
The package details are kept in a file called "grain.xml" inside the package
|
||||
folder. You can also edit this file manually. The "grain.xml" is the basic description
|
||||
file for the package.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the package is a macro or static library package, the macro editor can be used
|
||||
to edit the package files. If the package is a tech package, the technology manager
|
||||
can be used to edit the technology inside the package. To populate the package
|
||||
folder with other files use your favorite editor of KLayout itself for layout files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once a package is finished, it needs to be deployed to make it available to other
|
||||
users. Deployment basically means to put it on some public place where others
|
||||
can download the package. For local deployment inside an organisation,
|
||||
this can be a web server or a folder on
|
||||
a file server. KLayout talks WebDAV, so the web server needs to offer WebDAV
|
||||
access. A subversion (SVN) server provides WebDAV by default, so this is a good
|
||||
choice. For public open source deployment, only certain providers are supported.
|
||||
There is separate documentation covering this topic.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
After a package has been made available for download, it needs to be entered
|
||||
in the dictionary. For local deployment, the dictionary can be a file hosted
|
||||
on a web server or on the file system. The dictionary's location must be
|
||||
specified by the <tt>KLAYOUT_SALT_MINE</tt> environment variable in form of
|
||||
a URL. The basic format of this file is XML with this structure:
|
||||
</p>
|
||||
|
||||
<pre><salt-mine>
|
||||
<salt-grain>
|
||||
<name>name</name>
|
||||
<version>Version</version>
|
||||
<title>Title of the package</title>
|
||||
<doc>A brief description</doc>
|
||||
<doc_url>Documentation URL</doc_url>
|
||||
<url>Download URL</url>
|
||||
<license>License model</license>
|
||||
<icon>Icon image: base64-encoded, 64x64 max, PNG preferred</icon>
|
||||
</salt-grain>
|
||||
...
|
||||
</salt-mine>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
For public deployment, the "Salt.Mine" service can be used to register and
|
||||
list new packages in the repository dictionary.
|
||||
</p>
|
||||
|
||||
<h2>The DNA</h2>
|
||||
|
|
@ -81,12 +180,19 @@
|
|||
|
||||
<p>
|
||||
Packages are published on the Salt.Mine server. This is a web service that delivers a
|
||||
complete list of packages plus a little meta data such as current version, the icon
|
||||
and a brief description. KLayout will download this list from
|
||||
<tt>http://sami.klayout.org/repository.xml</tt> by default. You can set the <tt>KLAYOUT_SALT_MINE</tt>
|
||||
environment variable to a different URL which makes KLayout use another repository
|
||||
dictionary of packages with some meta data such as current version, the icon
|
||||
and a brief description. KLayout uses this list to inform users of packages available
|
||||
for installation and available updates.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When the package manager is opened, KLayout will download this list from
|
||||
<tt>http://sami.klayout.org/repository.xml</tt>. You can set the <tt>KLAYOUT_SALT_MINE</tt>
|
||||
environment variable to a different URL which makes KLayout use another dictionary
|
||||
service, i.e. one inside your own organisation. This service can be any HTTP server
|
||||
that delivers a package list in the same format than the Salt.Mine package service.
|
||||
The URL can also be a "file:" scheme URL. In this case, KLayout will download the
|
||||
list from the given file location.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -97,9 +203,4 @@
|
|||
subversion equivalent.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For package development you utilize KLayout to initialize and edit the files inside
|
||||
the package folder or populate the folder manually.
|
||||
</p>
|
||||
|
||||
</doc>
|
||||
|
|
|
|||
Loading…
Reference in New Issue