Add blank classes for DoJa graphics3d.
[SquirrelJME.git] / buildSrc / src / main / java / cc / squirreljme / plugin / multivm / VMFullSuite.java
bloba6c15d4d002bb8fdf14d6d04d1d9b45c72fac91c
1 // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // 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 javax.inject.Inject;
14 import lombok.Getter;
15 import org.gradle.api.DefaultTask;
16 import org.gradle.api.tasks.Internal;
18 /**
19 * Task for running the full-suite of SquirrelJME.
21 * @since 2020/10/17
23 public class VMFullSuite
24 extends DefaultTask
25 implements VMBaseTask, VMExecutableTask
27 /** The source target classifier. */
28 @Internal
29 @Getter
30 protected final SourceTargetClassifier classifier;
32 /**
33 * Initializes the full suite task.
35 * @param __classifier The target classifier used.
36 * @throws NullPointerException On null arguments.
37 * @since 2020/10/17
39 @Inject
40 public VMFullSuite(SourceTargetClassifier __classifier)
41 throws NullPointerException
43 if (__classifier == null)
44 throw new NullPointerException("NARG");
46 this.classifier = __classifier;
48 // Runs the entire API/Library suite of SquirrelJME to run a given
49 // application
50 this.setGroup("squirreljmeGeneral");
51 this.setDescription("Runs the full suite of SquirrelJME Modules.");
53 // This always runs, no matter what
54 this.onlyIf(new AlwaysTrue());
55 this.getOutputs().upToDateWhen(new AlwaysFalse());
57 // This depends on everything!
58 this.dependsOn(new VMFullSuiteDepends(this, __classifier),
59 new VMEmulatorDependencies(this.getProject(),
60 __classifier.getTargetClassifier()));
62 // Actual running of everything
63 this.doLast(new VMFullSuiteTaskAction(__classifier));