156 lines
3.5 KiB
Groovy
156 lines
3.5 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'jacoco'
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
options.encoding = 'UTF-8'
|
|
}
|
|
|
|
apply plugin: 'java'
|
|
apply plugin: 'eclipse'
|
|
apply plugin: 'maven-publish'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
url = "https://maven.speiger.com/repository/main"
|
|
}
|
|
}
|
|
|
|
archivesBaseName = 'Primitive Collections'
|
|
version = '0.6.1.18-SNAPSHOT';
|
|
|
|
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = JavaVersion.current();
|
|
|
|
System.out.println("Java Version: "+compileJava.sourceCompatibility)
|
|
|
|
javadoc {
|
|
options.tags = [ "implSpec", "note" ]
|
|
}
|
|
|
|
eclipse {
|
|
classpath {
|
|
downloadJavadoc = true
|
|
downloadSources = true
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
builder
|
|
}
|
|
|
|
configurations {
|
|
builderCompile.extendsFrom compile
|
|
}
|
|
|
|
dependencies {
|
|
builderImplementation 'de.speiger:Simple-Code-Generator:1.0.7'
|
|
testImplementation 'junit:junit:4.12'
|
|
testImplementation 'com.google.guava:guava-testlib:31.0.1-jre'
|
|
|
|
}
|
|
|
|
task generateSource(type: JavaExec) {
|
|
group = 'internal'
|
|
description = 'Builds the sourcecode'
|
|
classpath = sourceSets.builder.runtimeClasspath
|
|
main = 'speiger.src.builder.PrimitiveCollectionsBuilder'
|
|
}
|
|
|
|
task generateGithubSource(type: JavaExec) {
|
|
group = 'internal'
|
|
description = 'Builds the sourcecode for Github Actions'
|
|
classpath = sourceSets.builder.runtimeClasspath
|
|
main = 'speiger.src.builder.PrimitiveCollectionsBuilder'
|
|
args = ['false', 'true']
|
|
}
|
|
|
|
task forceGenerateSource(type: JavaExec) {
|
|
group = 'internal'
|
|
description = 'Builds the sourcecode forceful'
|
|
classpath = sourceSets.builder.runtimeClasspath
|
|
main = 'speiger.src.builder.PrimitiveCollectionsBuilder'
|
|
args = ['true']
|
|
}
|
|
|
|
task javadocJar(type: Jar) {
|
|
from javadoc
|
|
classifier = 'javadoc'
|
|
}
|
|
|
|
task srcJar(type: Jar) {
|
|
from sourceSets.main.allSource
|
|
classifier = 'sources'
|
|
}
|
|
|
|
compileJava.dependsOn generateGithubSource
|
|
|
|
javadoc.failOnError = false
|
|
javadoc.options.memberLevel = JavadocMemberLevel.PUBLIC
|
|
javadoc.options.quiet()
|
|
|
|
artifacts {
|
|
archives javadocJar
|
|
archives srcJar
|
|
}
|
|
|
|
test {
|
|
useJUnit()
|
|
}
|
|
|
|
jacocoTestReport {
|
|
reports {
|
|
xml.enabled true
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
Properties props = new Properties()
|
|
if(file("$buildDir/credentials.properties").exists()) {
|
|
props.load(new FileInputStream("$buildDir/credentials.properties"))
|
|
}
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
pom {
|
|
name = 'Primitive Collections'
|
|
description = 'A Primitive Collection library that reduces memory usage and improves performance'
|
|
url = 'https://github.com/Speiger/Primitive-Collections'
|
|
version = project.version
|
|
artifactId = project.archivesBaseName.replace(" ", "-")
|
|
groupId = 'de.speiger'
|
|
from components.java
|
|
artifact tasks.srcJar
|
|
artifact tasks.javadocJar
|
|
licenses {
|
|
license {
|
|
name = 'The Apache License, Version 2.0'
|
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id = 'speiger'
|
|
name = 'Speiger'
|
|
}
|
|
}
|
|
scm {
|
|
url = 'https://github.com/Speiger/Primitive-Collections'
|
|
}
|
|
issueManagement {
|
|
system = 'github'
|
|
url = 'https://github.com/Speiger/Primitive-Collections/issues'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url version.endsWith('SNAPSHOT') ? "https://maven.speiger.com/repository/debug" : "https://maven.speiger.com/repository/main"
|
|
credentials(PasswordCredentials) {
|
|
username props.mavenUser
|
|
password props.mavenPassword
|
|
}
|
|
}
|
|
}
|
|
} |