Skip to content

Commit

Permalink
Push the gradle files
Browse files Browse the repository at this point in the history
  • Loading branch information
akarnokd committed Aug 19, 2016
1 parent ef9f058 commit fc34fdd
Show file tree
Hide file tree
Showing 15 changed files with 872 additions and 6 deletions.
15 changes: 15 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Set default behaviour, in case users don't have core.autocrlf set.
* text=auto

# Explicitly declare text files we want to always be normalized and converted
# to native line endings on checkout.
*.java text
*.groovy text
*.scala text
*.clj text
*.txt text
*.md text

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
22 changes: 17 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
/build/

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.gradle
.m2
/.nb-gradle/
/bin/
.settings/
.nb-gradle-properties
.classpath
.project
.settings
.metadata
.checkstyle
bin/
!/gradle/wrapper/gradle-wrapper.jar
.pmd
.ruleset
local.properties
17 changes: 17 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
language: java

jdk:
- oraclejdk7

before_install:
- chmod +x gradlew

after_success:
- bash <(curl -s https://codecov.io/bash)

# cache between builds
cache:
directories:
- $HOME/.m2
- $HOME/.gradle

13 changes: 13 additions & 0 deletions HEADER
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright ${year} David Karnok

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
3 changes: 2 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Apache License
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

Expand Down Expand Up @@ -199,3 +199,4 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

195 changes: 195 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
buildscript {
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}

dependencies {
classpath 'gradle.plugin.nl.javadude.gradle.plugins:license-gradle-plugin:0.13.1'
classpath "me.champeau.gradle:jmh-gradle-plugin:0.2.0"
classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.1.0'
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: "me.champeau.gradle.jmh"
apply plugin: 'pmd'
apply plugin: 'jacoco'
apply plugin: 'ru.vyarus.animalsniffer'
apply plugin: "com.github.hierynomus.license"

sourceCompatibility = '1.6'
targetCompatibility = '1.6'

group = "com.github.akarnokd"
ext.githubProjectName = 'rxjava2-interop'

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

if (!hasProperty('mainClass')) {
ext.mainClass = ''
}

repositories {
mavenCentral()
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
maven { url 'https://oss.sonatype.org/content/groups/public' }
maven { url 'https://oss.jfrog.org/libs-snapshot' }
maven { url 'http://repo.spring.io/libs-snapshot' }
}

apply from: file('gradle/maven.gradle')
apply plugin: 'maven'
apply plugin: 'osgi'

dependencies {
signature 'org.codehaus.mojo.signature:java16:1.1@signature'

compile "org.reactivestreams:reactive-streams:1.0.0"
compile "io.reactivex:rxjava:1.1.9"
compile "io.reactivex.rxjava2:rxjava:+"

testCompile group: 'junit', name: 'junit', version: '4.12'
}

task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}

artifacts {
archives jar
archives sourcesJar
archives javadocJar
}

uploadMavenCentral {
repositories {
mavenDeployer {
pom.whenConfigured {
p -> p.dependencies = p.dependencies.findAll {
dep -> dep.artifactId != "rxjava"
}
}
}
}
}

jar {
manifest {
name = 'rxjava2-interop'
instruction 'Bundle-Vendor', 'akarnokd'
instruction 'Bundle-DocURL', 'https://github.com/akarnokd/RxJava2Interop'
instruction 'Import-Package', '!org.junit,!junit.framework,!org.mockito.*,*'
instruction 'Eclipse-ExtensibleAPI', 'true'
}
}

apply plugin: 'maven-publish'

publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact (sourcesJar) {
classifier = 'sources'
}
}
}
}

jmh {
jmhVersion = '1.11.3'
humanOutputFile = null
if (project.hasProperty('jmh')) {
include = ".*" + project.jmh + ".*"
} else {
include = ".*"
}
}

plugins.withType(EclipsePlugin) {
project.eclipse.classpath.plusConfigurations += [ configurations.jmh ]
}

javadoc {
failOnError = false
}

test {
maxHeapSize = "2g"
testLogging {
events "started", "failed" // "skipped", "passed"
// showStandardStreams = true
}
}

license {
header rootProject.file('HEADER')
ext.year = Calendar.getInstance().get(Calendar.YEAR)
skipExistingHeaders true
ignoreFailures true
excludes(["**/*.md", "**/*.txt"])
}

jacoco {
toolVersion = '0.7.7.201606060606' // See http://www.eclemma.org/jacoco/.
}

jacocoTestReport {
reports {
xml.enabled = true
html.enabled = true
}
}

build.dependsOn jacocoTestReport

check.dependsOn jacocoTestReport

pmd {
toolVersion = '5.4.2'
ignoreFailures = true
sourceSets = [sourceSets.main]
ruleSets = []
ruleSetFiles = files('pmd.xml')
}

pmdMain {
reports {
html.enabled = true
xml.enabled = true
}
}

task pmdPrint(dependsOn: 'pmdMain') << {
File file = rootProject.file('build/reports/pmd/main.xml')
if (file.exists()) {

println("Listing first 100 PMD violations")

file.eachLine { line, count ->
if (count <= 100) {
println(line)
}
}

} else {
println("PMD file not found.")
}
}

build.dependsOn pmdPrint
check.dependsOn pmdPrint

animalsniffer {
annotation = 'rx.internal.util.SuppressAnimalSniffer'
}
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
version=0.1.0
59 changes: 59 additions & 0 deletions gradle/javadocStyleSheet.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# originally from http://sensemaya.org/files/stylesheet.css and then modified
# http://sensemaya.org/maya/2009/07/10/making-javadoc-more-legible

/* Javadoc style sheet */

/* Define colors, fonts and other style attributes here to override the defaults */

/* Page background color */
body { background-color: #FFFFFF; color:#333; font-size: 100%; }

body { font-size: 0.875em; line-height: 1.286em; font-family: "Helvetica", "Arial", sans-serif; }

code { color: #777; line-height: 1.286em; font-family: "Consolas", "Lucida Console", "Droid Sans Mono", "Andale Mono", "Monaco", "Lucida Sans Typewriter"; }

a { text-decoration: none; color: #16569A; /* also try #2E85ED, #0033FF, #6C93C6, #1D7BBE, #1D8DD2 */ }
a:hover { text-decoration: underline; }


table[border="1"] { border: 1px solid #ddd; }
table[border="1"] td, table[border="1"] th { border: 1px solid #ddd; }
table[cellpadding="3"] td { padding: 0.5em; }

font[size="-1"] { font-size: 0.85em; line-height: 1.5em; }
font[size="-2"] { font-size: 0.8em; }
font[size="+2"] { font-size: 1.4em; line-height: 1.3em; padding: 0.4em 0; }

/* Headings */
h1 { font-size: 1.5em; line-height: 1.286em;}
h2.title { color: #c81f08; }

/* Table colors */
.TableHeadingColor { background: #ccc; color:#444; } /* Dark mauve */
.TableSubHeadingColor { background: #ddd; color:#444; } /* Light mauve */
.TableRowColor { background: #FFFFFF; color:#666; font-size: 0.95em; } /* White */
.TableRowColor code { color:#000; } /* White */

/* Font used in left-hand frame lists */
.FrameTitleFont { font-size: 100%; }
.FrameHeadingFont { font-size: 90%; }
.FrameItemFont { font-size: 0.9em; line-height: 1.3em;
}
/* Java Interfaces */
.FrameItemFont a i {
font-style: normal; color: #16569A;
}
.FrameItemFont a:hover i {
text-decoration: underline;
}


/* Navigation bar fonts and colors */
.NavBarCell1 { background-color:#E0E6DF; } /* Light mauve */
.NavBarCell1Rev { background-color:#16569A; color:#FFFFFF} /* Dark Blue */
.NavBarFont1 { }
.NavBarFont1Rev { color:#FFFFFF; }

.NavBarCell2 { background-color:#FFFFFF; color:#000000}
.NavBarCell3 { background-color:#FFFFFF; color:#000000}

Loading

0 comments on commit fc34fdd

Please sign in to comment.