Class GenerateLanguageTask
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.TaskInternal,org.gradle.api.Named,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.util.Configurable<org.gradle.api.Task>
This task works by reading serialized language definitions from a specified directory, processing the provided files in the supported formats (currently JSON), and generating Java classes in the specified output directory.
Users can configure the input directory for the language definitions, the target directory for generated code, and the package name to be used for the generated classes. The task validates the input directories, processes the files, and applies the appropriate serialization format for language chunks.
Tasks performed include: - Loading serialized language chunks from files in the input directory, filtered by `LionWebVersion`. - Deserializing language specifications and resolving dependencies through a topological sort. - Generating Java code using the specified package name and output directory.
If unsupported file formats (such as Protobuf) or issues with serialization are encountered during execution, appropriate exception handling and logging are performed to assist in debugging.
Gradle properties: - `languagesDirectory` - Optional directory containing serialized language files. - `generationDirectory` - Optional output directory for generated Java files. - `packageName` - Required property specifying the package for generated Java classes.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Task
org.gradle.api.Task.Namer -
Field Summary
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class io.lionweb.gradleplugin.tasks.AbstractGenerationTask
getDefaultPackageName, getGenerationDirectory, getLanguagesClassNames, getLanguagesDirectory, getLanguagesSpecificPackages, getLanguagesToGenerate, getMappings, getPrimitiveTypes, loadDependenciesChunks, loadProjectChunksMethods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesServiceMethods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjectsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.Task
doNotTrackState, getConvention, notCompatibleWithConfigurationCache
-
Constructor Details
-
GenerateLanguageTask
public GenerateLanguageTask()
-
-
Method Details
-
run
public void run()
-