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
;
17 * The base for any VM related task.
21 public interface VMBaseTask
25 * Returns the used source target classifier.
27 * @return The source target classifier to use.
31 SourceTargetClassifier
getClassifier();
34 * Returns the banglet variant used.
36 * @return The banglet variant used.
40 default BangletVariant
getBangletVariant()
42 return this.getClassifier().getTargetClassifier()
47 * Returns the source set that is used.
49 * @return The source set for the task.
53 default String
getSourceSet()
55 return this.getClassifier().getSourceSet();
59 * Returns the virtual machine type used.
61 * @return The virtual machine type used.
65 default VMSpecifier
getVmType()
67 return this.getClassifier().getTargetClassifier()