的
This commit is contained in:
@@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright 2015 AndroidPlot.com
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'com.dicedmelon.gradle.jacoco-android'
|
||||
id 'maven-publish'
|
||||
id 'signing'
|
||||
}
|
||||
|
||||
class AttrMarkdown extends DefaultTask {
|
||||
|
||||
def inFile
|
||||
def outFile
|
||||
|
||||
@TaskAction
|
||||
def generate() {
|
||||
def input = project.file(inFile)
|
||||
|
||||
def output = project.file(outFile)
|
||||
if(output.exists()) {
|
||||
output.delete()
|
||||
}
|
||||
output.parentFile.mkdirs()
|
||||
|
||||
input.text.findAll(/<!--\n?([\s\S]*?)\n?-->/) { match, g1 -> g1
|
||||
if(!g1.startsWith("NODOC")) {
|
||||
output.append(g1)
|
||||
output.append "\n\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates xml attrs markdown docs. To run:
|
||||
* at the command line from the project root dir type:
|
||||
* ./gradlew generateAttrsMarkdown
|
||||
*
|
||||
* The generated doc will appear in / replace androidplot/docs/attrs.md
|
||||
*/
|
||||
task generateAttrsMarkdown(type: AttrMarkdown) {
|
||||
inFile = { "src/main/res/values/attrs.xml"}
|
||||
outFile = { "../docs/attrs.md" }
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion theCompileSdkVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion theMinSdkVersion
|
||||
targetSdkVersion theTargetSdkVersion
|
||||
testApplicationId "com.androidplot.test"
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.all {
|
||||
jacoco {
|
||||
includeNoLocationClasses = true
|
||||
jacoco.excludes = ['jdk.internal.*']
|
||||
}
|
||||
}
|
||||
}
|
||||
lint {
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
group = 'com.androidplot'
|
||||
version = theVersionName
|
||||
|
||||
def siteUrl = 'http://androidplot.com'
|
||||
def gitUrl = 'https://github.com/halfhp/androidplot.git'
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation 'com.halfhp.fig:figlib:1.0.11'
|
||||
implementation 'com.android.support:support-annotations:28.0.0'
|
||||
|
||||
testImplementation "org.mockito:mockito-core:4.0.0"
|
||||
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
|
||||
testImplementation "org.robolectric:robolectric:4.7.3"
|
||||
}
|
||||
|
||||
task javadoc(type: Javadoc) {
|
||||
source = android.sourceSets.main.java.srcDirs
|
||||
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
||||
failOnError false
|
||||
options {
|
||||
links "http://docs.oracle.com/javase/7/docs/api/"
|
||||
linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
|
||||
}
|
||||
exclude '**/BuildConfig.java'
|
||||
exclude '**/R.java'
|
||||
}
|
||||
|
||||
task javadocJar(type: Jar, dependsOn: javadoc) {
|
||||
classifier = 'javadoc'
|
||||
from javadoc.destinationDir
|
||||
}
|
||||
|
||||
task sourcesJar(type: Jar) {
|
||||
classifier = 'sources'
|
||||
from android.sourceSets.main.java.srcDirs
|
||||
}
|
||||
|
||||
javadoc {
|
||||
options.overview = "src/main/java/overview.html"
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
publishing {
|
||||
repositories {
|
||||
maven {
|
||||
name = "Maven Central"
|
||||
url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
|
||||
credentials {
|
||||
username = System.getenv("OSSRH_ACTOR")
|
||||
password = System.getenv("OSSRH_TOKEN")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publications {
|
||||
release(MavenPublication) {
|
||||
|
||||
from components.release
|
||||
|
||||
// You can then customize attributes of the publication as shown below.
|
||||
groupId = 'com.androidplot'
|
||||
artifactId = 'androidplot-core'
|
||||
version = theVersionName
|
||||
|
||||
pom {
|
||||
packaging 'aar'
|
||||
name = 'Androidplot'
|
||||
description = "Configure any object from XML."
|
||||
url = gitUrl
|
||||
licenses {
|
||||
license {
|
||||
name = 'The Apache Software License, Version 2.0'
|
||||
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
||||
}
|
||||
}
|
||||
developers {
|
||||
developer {
|
||||
id = 'halfhp'
|
||||
name = 'Nick Fellows'
|
||||
email = 'halfhp@gmail.com'
|
||||
}
|
||||
}
|
||||
scm {
|
||||
connection = gitUrl
|
||||
developerConnection = gitUrl
|
||||
url = gitUrl
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
signing {
|
||||
def signingKey = System.getenv("SIGNING_KEY")
|
||||
def signingPassword = System.getenv("SIGNING_PASSWORD")
|
||||
useInMemoryPgpKeys(signingKey, signingPassword)
|
||||
sign publishing.publications.release
|
||||
}
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives javadocJar
|
||||
archives sourcesJar
|
||||
}
|
||||
Reference in New Issue
Block a user