VB
Size: a a a
VB
VB
import groovy.io.FileType
import java.nio.file.Paths
import net.sf.jasperreports.engine.JasperCompileManager
final String srcDir = args ? args[0] : ''
final String outDir = args.length > 1 ? args[1] : srcDir
new File(srcDir).traverse(type : FileType.FILES, nameFilter: ~/(?i).*.jrxml$/) { file ->
String relative = new File(srcDir).toURI().relativize(file.toURI()).getPath()
def srcFile = Paths.get(srcDir, relative)
def outFile = Paths.get(outDir, relative)
new File(outFile.getParent().toString()).mkdirs()
JasperCompileManager.compileReportToFile srcFile.toString(), outFile.toString().replaceAll(~/(?i).jrxml$/, ".jasper")
}
ext {
jrtemplateDir = "$projectDir/jrtemplate"
}
...
configurations {
groovyScript
jasperreports
}
dependencies {
groovyScript(
localGroovy()
)
jasperreports(
"org.eclipse.jdt.core.compiler:ecj:4.5.1",
"net.sf.jasperreports:jasperreports:5.6.1",
}
}
task compileJasperReports(group: 'build', description: 'Compiling JasperReports files', dependsOn: ["build"]) {
doLast {
javaexec {
main = 'groovy.ui.GroovyMain'
classpath = configurations.groovyScript
classpath += configurations.jasperreports
classpath += sourceSets.main.runtimeClasspath
classpath += configurations.compile
standardOutput = System.out
args = ["${projectDir}/gradle/scripts/JasperCompile.groovy", "${jrtemplateDir}"]
}
}
}
VB
task copyAllDepsToLibs() {
copy {
from configurations.runtime
from configurations.compile
into "${projectDir}/libs"
}
}
VB
VB
QH
VB
VB
QH
productFlavors {
someFlavor {
configure(this, 42, 'foo', true)
}
anotherFlavor {
configure(this, 52, 'bar', false)
}
}
QH
import com.android.build.gradle.internal.dsl.ProductFlavor
productFlavors {
someFlavor { flavor ->
configureFlavor(flavor, 'com.example.app', 'Something')
}
}
static void configureFlavor(ProductFlavor flavor, String appId, String someBuildConfigField) {
flavor.setApplicationId(appId)
flavor.buildConfigField 'String', 'SOME_CONST_NAME', "\"$someBuildConfigField\""
}
QA
QA
QA