diff --git a/.gitignore b/.gitignore index f9c1c73..6c126a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *.code-workspace +gradle.properties # Ignore Gradle project-specific cache directory .gradle diff --git a/build.gradle b/build.gradle index 5a021b1..43e12de 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ plugins { } group = 'com.fahrecker' -version = '0.0.1-SNAPSHOT' +version = '0.0.7-SNAPSHOT' gradlePlugin { plugins { @@ -23,6 +23,26 @@ gradlePlugin { } } +publishing { + repositories { + maven { + name = "Gitea-FHN" + url = uri("https://gitea.fahrecker.com/api/packages/andreas-personal/maven") + + def giteaToken = project.findProperty("giteaToken") ?: System.getenv("GITEA_TOKEN") + + credentials(HttpHeaderCredentials) { + name = "Authorization" + value = "token ${giteaToken}" + } + + authentication { + header(HttpHeaderAuthentication) + } + } + } +} + task printClasspath { doLast { configurations.runtimeClasspath.each { println it } diff --git a/src/main/groovy/com/fahrecker/gradle/FlutterExtension.groovy b/src/main/groovy/com/fahrecker/gradle/FlutterExtension.groovy index 5a45830..bbb7d3f 100644 --- a/src/main/groovy/com/fahrecker/gradle/FlutterExtension.groovy +++ b/src/main/groovy/com/fahrecker/gradle/FlutterExtension.groovy @@ -1,4 +1,8 @@ package com.fahrecker.gradle +import org.gradle.api.Project + class FlutterExtension { + public FlutterExtension(Project project) { + } } \ No newline at end of file diff --git a/src/main/groovy/com/fahrecker/gradle/FlutterGradlePlugin.groovy b/src/main/groovy/com/fahrecker/gradle/FlutterGradlePlugin.groovy index 8499953..bee698c 100644 --- a/src/main/groovy/com/fahrecker/gradle/FlutterGradlePlugin.groovy +++ b/src/main/groovy/com/fahrecker/gradle/FlutterGradlePlugin.groovy @@ -8,6 +8,7 @@ class FlutterGradlePlugin implements Plugin { FlutterExtension extension = project.extensions.create("flutter", FlutterExtension, project) project.task("flutterDoctor") { + group = "flutter" doLast { project.exec { commandLine flutterCommand("doctor") @@ -16,6 +17,7 @@ class FlutterGradlePlugin implements Plugin { } project.task("flutterVersion") { + group = "flutter" doLast { project.exec { commandLine flutterCommand("--version") @@ -23,20 +25,74 @@ class FlutterGradlePlugin implements Plugin { } } + project.task("dartBuildRunner") { + group = "flutter" + doLast { + project.exec { + commandLine dartCommand("run", "build_runner", "build", "--delete-conflicting-outputs") + } + } + } + project.task("flutterBuildApk") { + group = "flutter" doLast { project.exec { commandLine flutterCommand("build", "apk") } } } + + project.task("flutterBuildWeb") { + group = "flutter" + doLast { + project.exec { + commandLine flutterCommand("build", "web") + } + } + } + + project.task("flutterBuildWindows") { + group = "flutter" + doLast { + project.exec { + commandLine flutterCommand("build", "windows") + } + } + } + + project.task("flutterRunChrome") { + group = "flutter" + doLast { + project.exec { + commandLine flutterCommand("run", "-d", "chrome") + } + } + } + + project.task("flutterRunWindows") { + group = "flutter" + doLast { + project.exec { + commandLine flutterCommand("run", "-d", "windows") + } + } + } + } + + List dartCommand(String... args) { + if (System.getProperty('os.name').toLowerCase().contains('windows')) { + return ['cmd', '/c', 'dart'] + args.toList() + } else { + return ['dart'] + args.toList() + } } List flutterCommand(String... args) { if (System.getProperty('os.name').toLowerCase().contains('windows')) { - return ['cmd', '/c', 'flutter'] + args + return ['cmd', '/c', 'flutter'] + args.toList() } else { - return ['flutter'] + args + return ['flutter'] + args.toList() } } } \ No newline at end of file