Indentations break the feed.
[SquirrelJME.git] / buildSrc / src / main / java / cc / squirreljme / plugin / multivm / VMBaseTask.java
blob34668aade8e85509280c84b3c1e18ed24854828f
1 // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // Multi-Phasic Applications: SquirrelJME
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the Mozilla Public License Version 2.0.
7 // See license.mkd for licensing and copyright information.
8 // ---------------------------------------------------------------------------
10 package cc.squirreljme.plugin.multivm;
12 import cc.squirreljme.plugin.multivm.ident.SourceTargetClassifier;
13 import org.gradle.api.Task;
14 import org.gradle.api.tasks.Internal;
16 /**
17 * The base for any VM related task.
19 * @since 2022/09/30
21 public interface VMBaseTask
22 extends Task
24 /**
25 * Returns the used source target classifier.
27 * @return The source target classifier to use.
28 * @since 2022/10/01
30 @Internal
31 SourceTargetClassifier getClassifier();
33 /**
34 * Returns the banglet variant used.
36 * @return The banglet variant used.
37 * @since 2022/10/01
39 @Internal
40 default BangletVariant getBangletVariant()
42 return this.getClassifier().getTargetClassifier()
43 .getBangletVariant();
46 /**
47 * Returns the source set that is used.
49 * @return The source set for the task.
50 * @since 2020/08/21
52 @Internal
53 default String getSourceSet()
55 return this.getClassifier().getSourceSet();
58 /**
59 * Returns the virtual machine type used.
61 * @return The virtual machine type used.
62 * @since 2022/09/30
64 @Internal
65 default VMSpecifier getVmType()
67 return this.getClassifier().getTargetClassifier()
68 .getVmType();