aboutsummaryrefslogtreecommitdiff
path: root/web-gen/src/main/groovy
diff options
context:
space:
mode:
Diffstat (limited to 'web-gen/src/main/groovy')
-rw-r--r--web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy57
-rw-r--r--web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy49
2 files changed, 0 insertions, 106 deletions
diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy
deleted file mode 100644
index 55b8aab8..00000000
--- a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.pitchedapps.frost.gradle
-
-import com.moowork.gradle.node.npm.NpmTask
-import org.gradle.api.file.DirectoryProperty
-import org.gradle.api.file.RegularFileProperty
-import org.gradle.api.model.ObjectFactory
-import org.gradle.api.tasks.OutputDirectory
-import org.gradle.api.tasks.OutputFile
-
-/**
- * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy
- */
-class WebGenInstallTask extends NpmTask {
-
- static final String TAG = "frost-web-gen"
- static final String NAME = "installWebGen"
- static final String INSTALLATION_PATH = TAG + File.separator + "node_modules"
- static final String PACKAGE_FILE_PATH = TAG + File.separator + "package.json"
-
- static final String TYPESCRIPT_VERSION = "3.3.1"
- static final String SASS_VERSION = "1.19.0"
-
- @OutputDirectory
- final DirectoryProperty installDir = ObjectFactory.directoryProperty()
- @OutputFile
- final RegularFileProperty packageFile = ObjectFactory.fileProperty()
-
- WebGenInstallTask() {
- setGroup("frost")
- setDescription("Runs npm install for $TAG")
- installDir.set(project.file(new File(project.buildDir, INSTALLATION_PATH)))
- packageFile.set(project.file(new File(project.buildDir, PACKAGE_FILE_PATH)))
- }
-
- @Override
- void exec() {
- installDir.get().getAsFile().deleteDir()
- writePackageFile(packageFile.get().getAsFile())
-
- setArgs(Lists.newArrayList("install", "typescript@" + TYPESCRIPT_VERSION, "sass@" + SASS_VERSION, "--save", "--save-exact"))
- getLogging().captureStandardOutput(LogLevel.INFO)
-
- super.exec()
- }
-
- /**
- * Generates a dummy package.json file to silence npm warnings
- */
- private static void writePackageFile(File apolloPackageFile) {
- apolloPackageFile.write(
- '''{
- "name": "frost-web-gen"
-}
-'''
- )
- }
-} \ No newline at end of file
diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy
deleted file mode 100644
index 90609607..00000000
--- a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy
+++ /dev/null
@@ -1,49 +0,0 @@
-import com.moowork.gradle.node.NodeExtension
-import com.pitchedapps.frost.gradle.WebGenInstallTask
-import org.gradle.api.Plugin
-import org.gradle.api.Project
-import org.gradle.api.internal.file.FileResolver
-
-import javax.inject.Inject
-
-class WebGenPlugin implements Plugin<Project> {
-
- private static final String NODE_VERSION = "12.4.0"
- private Project project
- private final FileResolver fileResolver
-
- @Inject
- WebGenPlugin(FileResolver fileResolver) {
- this.fileResolver = fileResolver
- }
-
- /**
- * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloPlugin.groovy
- * @param target
- */
- @Override
- void apply(Project target) {
- this.project = project
- project.plugins.withId("java-base") {
- applyWebGenPlugin()
- }
- project.gradle.getTaskGraph().whenReady {
- if (!project.plugins.hasPlugin("java-base")) {
- throw new IllegalArgumentException(
- "Frost Web Gen plugin can't be applied without Android or Java or Kotlin plugin.")
- }
- }
- }
-
- private void applyWebGenPlugin() {
- setupNode()
- project.tasks.create(WebGenInstallTask.NAME, WebGenInstallTask.class)
- }
-
- private void setupNode() {
- project.plugins.apply NodePlugin
- NodeExtension nodeConfig = project.extensions.findByName("node") as NodeExtension
- nodeConfig.download = true
- nodeConfig.version = NODE_VERSION
- }
-} \ No newline at end of file