Support using a DB baseline for faster program startup. 08/508/7
authorAntti Villberg <antti.villberg@semantum.fi>
Thu, 11 May 2017 13:19:58 +0000 (16:19 +0300)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Tue, 10 Oct 2017 06:28:57 +0000 (09:28 +0300)
commit34c2ce4fc18f58ca00275b9296f7a449d3395ced
tree5bde1483e197ac635f120fa3163776ab8ecd19df
parentee50229d9a0d3e0903bda73c97c428fc2c05926d
Support using a DB baseline for faster program startup.

Use by specifying the JVM argument

    -Dorg.simantics.db.baseline=<path to baseline zip file>

where the baseline zip file must contain two directories:
* db/ which contains the initial database version
* .metadata/.plugins/org.simantics.db.indexing which contains the
  initial database index

During baseline initialization, the specified zip file is extracted
directly at the root of the workspace directory.

The baseline file is hard-linked/copied under the workspace root as a
file called `.baseline`. If this file exists, it indicates that the
workspace has already been initialized from a baseline archive and
should not be initialized/updated anymore.

Limitations:
* Automatic ontology updates or installation of new ontology plugins is
  disabled when a database baseline is in use.

refs #7211

Change-Id: Id67156c65047b429af71e0eab83b31a5d2fd5117
bundles/org.simantics.utils/src/org/simantics/utils/FileUtils.java
bundles/org.simantics/src/org/simantics/SimanticsPlatform.java