2021-10-29 22:50:42 +02:00
|
|
|
package io.gitlab.jfronny.inceptum.install.steps;
|
|
|
|
|
|
|
|
import io.gitlab.jfronny.inceptum.Inceptum;
|
|
|
|
import io.gitlab.jfronny.inceptum.install.SetupStepInfo;
|
|
|
|
import io.gitlab.jfronny.inceptum.install.Step;
|
2021-10-30 14:22:07 +02:00
|
|
|
import io.gitlab.jfronny.inceptum.model.inceptum.InstanceMeta;
|
2021-10-29 22:50:42 +02:00
|
|
|
import io.gitlab.jfronny.inceptum.util.Utils;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
2021-10-30 14:22:07 +02:00
|
|
|
import java.nio.file.Files;
|
2021-10-29 22:50:42 +02:00
|
|
|
import java.nio.file.Path;
|
2021-10-29 23:16:03 +02:00
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
2021-10-29 22:50:42 +02:00
|
|
|
|
|
|
|
public class WriteMetadataStep implements Step {
|
|
|
|
@Override
|
2021-10-29 23:16:03 +02:00
|
|
|
public void execute(SetupStepInfo info, AtomicBoolean stopThread) throws IOException {
|
2021-10-29 22:50:42 +02:00
|
|
|
Inceptum.LOGGER.info("Writing metadata");
|
2021-10-30 16:12:39 +02:00
|
|
|
Path metaDir = Inceptum.INSTANCE_DIR.resolve(info.name()).resolve("instance.json");
|
2021-10-29 22:50:42 +02:00
|
|
|
InstanceMeta meta = new InstanceMeta();
|
|
|
|
meta.version = info.version().id;
|
|
|
|
Utils.writeObject(metaDir, meta);
|
2021-10-30 16:12:39 +02:00
|
|
|
Path lock = Inceptum.INSTANCE_DIR.resolve(info.name()).resolve("inceptum.setup.lock");
|
|
|
|
if (Files.exists(lock)) Files.delete(lock);
|
2021-10-29 22:50:42 +02:00
|
|
|
}
|
|
|
|
}
|