GitBucket
4.21.2
Toggle navigation
Snippets
Sign in
Files
Branches
1
Releases
Issues
4
Pull requests
Labels
Priorities
Milestones
Wiki
Forks
mark.george
/
marking
Browse code
Update dependencies. Clean up build.gradle.
master
1 parent
06a7d54
commit
8f926d8d2dba18cbdff008d6d9ce6ddce3ea5c81
Mark George
authored
on 6 Jun 2023
Patch
Showing
1 changed file
build.gradle
Ignore Space
Show notes
View
build.gradle
plugins { id 'application' } def defaultMainClassName = "Main" application { mainClass = project.hasProperty("mainClass") ? project.getProperty("mainClass") : defaultMainClassName; } compileJava { sourceCompatibility = "1.8"; targetCompatibility = "1.8"; } repositories { mavenCentral() // since the Jasper devs keep using their own custom builds of ancient // versions of other projects we need to add a repository for their // "special" versions. maven { url 'https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/' } } dependencies { implementation group: 'com.h2database', name: 'h2', version: '1.4.200' implementation group: 'net.sourceforge.dynamicreports', name: 'dynamicreports-core', version: '6.12.1' implementation group: 'org.simplejavamail', name: 'simple-java-mail', version: '8.1.0' implementation group: 'com.formdev', name: 'flatlaf', version: '3.1.1' implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.4.7' } project.configurations.implementation.setCanBeResolved(true) jar { manifest { attributes ( 'Main-Class': 'Main', 'Class-Path': configurations.implementation.collect { 'lib/' + it.name }.join(' ') ) } } /* convenience tasks for working with a project */ tasks.register("copyDependencies", Copy) { group = "Project"; description = "Copy all dependencies into a 'libs' folder in the root of the project."; from configurations.implementation into 'libs/' } tasks.register("createMissingSourceDirs") { group = "Project"; description = "Create all of the missing source directories for this project."; doFirst { sourceSets.each { def sourceRoot -> sourceRoot.allSource.srcDirTrees.each { def sourceDir -> if(!sourceDir.dir.exists()) { println "Creating ${sourceDir}"; mkdir sourceDir.dir; } } } } } tasks.register("deleteEmptySourceDirs") { group = "Project"; description = "Delete empty source directories."; doFirst { sourceSets.each { def sourceRoot -> sourceRoot.allSource.srcDirTrees.each { def sourceDir -> if(sourceDir.dir.exists() && sourceDir.dir.isDirectory() && sourceDir.dir.list().length == 0) { println "Removing empty ${sourceDir}"; sourceDir.dir.delete(); } } } } } tasks.register("openProjectDir") { group = "Project"; description = "Open the project directory in the system file manager."; doFirst { println("Opening: " + file(projectDir)); java.awt.Desktop.getDesktop().open(file(projectDir)); } } tasks.register("openBuildDir") { group = "Project"; description = "Open the project build directory in the system file manager."; doFirst { println("Opening: " + file(buildDir)); java.awt.Desktop.getDesktop().open(file(buildDir)); } } tasks.register("createGitIgnore") { group = "Project"; description = "Create the project's .gitignore file."; def gitIgnored=""" .gradle/ .nb-gradle/ .settings/ nbproject/ build/ bin/ dist/ tmp/ .classpath .project *.zip *.tgz *.tar.gz *.class *.jar .DS_Store !gradle-wrapper.jar """; doLast { def file = new File(projectDir, ".gitignore"); if ( !file.exists() ) { println("Creating .gitignore"); gitIgnored.lines().each { f -> if(!f.trim().isBlank()) { file.append(f.trim()+"\n"); } } } else { println(".gitignore already exists"); } } }
plugins { id 'application' } repositories { mavenCentral() // since the Jasper devs keep using their own custom builds of ancient // versions of other projects we need to add a repository for their // "special" versions. maven { url 'https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/' } } dependencies { implementation group: 'com.h2database', name: 'h2', version: '1.4.200' implementation group: 'net.sourceforge.dynamicreports', name: 'dynamicreports-core', version: '6.12.1' implementation group: 'org.simplejavamail', name: 'simple-java-mail', version: '7.1.1' implementation group: 'com.formdev', name: 'flatlaf', version: '2.3' implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.36' implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.11' } task copyLibs(type: Copy) { from configurations.implementation into 'libs/' } project.configurations.implementation.setCanBeResolved(true) jar { manifest { attributes ( 'Main-Class': 'Main', 'Class-Path': configurations.implementation.collect { 'lib/' + it.name }.join(' ') ) } } task createMissingSourceDirs { group = "Directories" description = "Create all of the missing source directories for this project." doFirst { sourceSets.each { def sourceRoot -> sourceRoot.allSource.srcDirTrees.each { def sourceDir -> if(!sourceDir.dir.exists()) { println "Creating ${sourceDir}" mkdir sourceDir.dir } } } } } task deleteEmptySourceDirs { group = "Directories" description = "Delete all empty source directories." doFirst { sourceSets.each { def sourceRoot -> sourceRoot.allSource.srcDirTrees.each { def sourceDir -> if(sourceDir.dir.exists() && sourceDir.dir.isDirectory() && sourceDir.dir.list().length == 0) { println "Removing empty ${sourceDir}" sourceDir.dir.delete() } } } } } task openBuildFolder { group = "Directories" description = "Open the project build directory in the system file manager." doFirst { println('Opening: ' + file(buildDir)) java.awt.Desktop.getDesktop().open(file(buildDir)); } } compileJava { sourceCompatibility = '1.8' targetCompatibility = '1.8' } mainClassName = 'Main'
Show line notes below