Files
addressbook/edu.addressbook/build.gradle
T

66 lines
1.5 KiB
Groovy
Raw Normal View History

2026-02-10 16:18:30 -05:00
/*
Gradle Groovy Build Script
*/
plugins {
// Apply the java plugin.
id 'application'
id("io.freefair.aspectj") version "9.2.0"
id("org.openjfx.javafxplugin") version "0.1.0"
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
}
group = 'edu.addressbook'
version = '1.0'
application {
2026-02-13 21:02:43 -05:00
mainClass = 'edu.addressbook.api.App'
2026-02-10 16:18:30 -05:00
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
javafx {
version = "25.0.1"
modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.graphics', 'javafx.web' ]
}
dependencies {
2026-02-13 21:02:43 -05:00
implementation("org.slf4j:slf4j-api:2.0.17")
implementation("ch.qos.logback:logback-classic:1.5.26")
implementation("org.aspectj:aspectjrt:1.9.25")
2026-02-10 16:18:30 -05:00
2026-02-13 21:02:43 -05:00
implementation 'org.xerial:sqlite-jdbc:3.51.2.0'
2026-02-10 16:18:30 -05:00
2026-02-13 21:02:43 -05:00
implementation 'jakarta.activation:jakarta.activation-api:2.1.4'
2026-02-10 16:18:30 -05:00
}
jar {
manifest {
attributes 'Automatic-Module-Name': group,
'Main-Class': application.mainClass,
2026-02-13 21:02:43 -05:00
'Class-Path': 'edu.addressbook org.aspectj.runtime .'
2026-02-10 16:18:30 -05:00
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
tasks.named('jar') {
manifest {
attributes(
2026-02-13 21:02:43 -05:00
'Automatic-Module-Name':group,
'Implementation-Title': group,
2026-02-10 16:18:30 -05:00
'Implementation-Version': 1.0,
2026-02-13 21:02:43 -05:00
'Main-Class': application.mainClass,
'Class-Path': 'edu.addressbook org.aspectj.runtime .' )
2026-02-10 16:18:30 -05:00
}
}