feat: Add flutter task group, add new tasks

This commit is contained in:
Andreas Fahrecker 2024-04-29 20:49:20 +02:00
parent 760e9a6b4e
commit 1cff1ccd04
4 changed files with 84 additions and 3 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
*.code-workspace
gradle.properties
# Ignore Gradle project-specific cache directory
.gradle

View File

@ -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 }

View File

@ -1,4 +1,8 @@
package com.fahrecker.gradle
import org.gradle.api.Project
class FlutterExtension {
public FlutterExtension(Project project) {
}
}

View File

@ -8,6 +8,7 @@ class FlutterGradlePlugin implements Plugin<Project> {
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> {
}
project.task("flutterVersion") {
group = "flutter"
doLast {
project.exec {
commandLine flutterCommand("--version")
@ -23,20 +25,74 @@ class FlutterGradlePlugin implements Plugin<Project> {
}
}
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<String> dartCommand(String... args) {
if (System.getProperty('os.name').toLowerCase().contains('windows')) {
return ['cmd', '/c', 'dart'] + args.toList()
} else {
return ['dart'] + args.toList()
}
}
List<String> 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()
}
}
}