Skip to content

Commit d360e1e

Browse files
committed
* modified bintray credential input to come from environment vars instead of local.properties (for CI purposes)
* added jcenter deploy support into gradle builds. [ * Uprev of android build tools version * Updated targetSdk version for lib and demo app * Updated compileSdk version for lib and demo app * More gradle project cleanup * Added android-sdk-manager plugin to manage android sdk in CI environment * Uprev'd gradle dependency. * More gradle project cleanup * Moved DemoApp submodule to the top level (previously was located under Examples). * Removed Examples submodule. * Refactored DemoApp project structure to be in line with current android gradle project best practices. * Removed maven build scripts.
1 parent 4ab3a9f commit d360e1e

File tree

10 files changed

+149
-64
lines changed

10 files changed

+149
-64
lines changed

.gitignore

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ build
88
.metadata
99
AndroidPlot-Core/target
1010
AndroidPlot-Core/.settings
11-
Examples/DemoApp/.settings
12-
Examples/DemoApp/bin
13-
/Examples/DemoApp/gen
14-
Examples/DemoApp/target
11+
DemoApp/.settings
12+
DemoApp/bin
13+
DemoApp/gen
14+
DemoApp/target
1515
.idea/libraries
1616
.idea/*.xml
17+
**/R.java

AndroidPlot-Core/build.gradle

Lines changed: 98 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
1-
buildscript {
2-
repositories {
3-
jcenter()
4-
}
5-
}
6-
1+
apply plugin: 'android-sdk-manager'
72
apply plugin: 'com.android.library'
3+
apply plugin: 'com.github.dcendents.android-maven'
4+
apply plugin: 'com.jfrog.bintray'
85

96
android {
10-
compileSdkVersion 21
11-
buildToolsVersion '21.1.2'
7+
compileSdkVersion theCompileSdkVersion
8+
buildToolsVersion theBuildToolsVersion
129

1310
defaultConfig {
14-
versionCode 1
15-
versionName "6.2"
16-
minSdkVersion 4
17-
targetSdkVersion 19
11+
versionCode theVersionCode
12+
versionName theVersionName
13+
minSdkVersion theMinSdkVersion
14+
targetSdkVersion theTargetSdkVersion
1815
testApplicationId "com.androidplot.test"
19-
//testInstrumentationRunner "android.test.InstrumentationTestRunner"
2016
}
2117

2218
/**
@@ -27,8 +23,96 @@ android {
2723
}
2824
}
2925

26+
group = 'com.androidplot'
27+
version = theVersionName
28+
29+
def siteUrl = 'http://androidplot.com'
30+
def gitUrl = 'https://bitbucket.org/androidplot/androidplot.git'
31+
3032
dependencies {
3133
testCompile group: 'org.jmockit', name: 'jmockit', version: '1.20'
3234
testCompile group: 'junit', name: 'junit', version: '4.8.1'
3335
testCompile "org.robolectric:robolectric:3.0"
34-
}
36+
}
37+
38+
task javadoc(type: Javadoc) {
39+
source = android.sourceSets.main.java.srcDirs
40+
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
41+
failOnError false
42+
options {
43+
links "http://docs.oracle.com/javase/7/docs/api/"
44+
linksOffline "http://d.android.com/reference","${android.sdkDirectory}/docs/reference"
45+
}
46+
exclude '**/BuildConfig.java'
47+
exclude '**/R.java'
48+
}
49+
50+
task javadocJar(type: Jar, dependsOn: javadoc) {
51+
classifier = 'javadoc'
52+
from javadoc.destinationDir
53+
}
54+
55+
task sourcesJar(type: Jar) {
56+
classifier = 'sources'
57+
from android.sourceSets.main.java.srcDirs
58+
}
59+
60+
install {
61+
repositories.mavenInstaller {
62+
pom {
63+
project {
64+
packaging 'aar'
65+
name 'Androidplot Core Library'
66+
description = "Androidplot is a library for creating dynamic and static charts within your Android application."
67+
url siteUrl
68+
licenses {
69+
license {
70+
name 'The Apache Software License, Version 2.0'
71+
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
72+
}
73+
}
74+
developers {
75+
developer {
76+
id 'halfhp'
77+
name 'Nick Fellows'
78+
79+
}
80+
}
81+
scm {
82+
connection gitUrl
83+
developerConnection gitUrl
84+
url siteUrl
85+
86+
}
87+
}
88+
}
89+
}
90+
}
91+
92+
bintray {
93+
94+
// these environment vars must be set when deploying to bintray.
95+
// note: BINTRAY_PASSWORD is actually the api key, but naming it 'password'
96+
// tells the CI environment to obfuscate the value in public logs.
97+
user = System.getenv('BINTRAY_USER')
98+
key = System.getenv('BINTRAY_PASSWORD')
99+
100+
101+
configurations = ['archives']
102+
pkg {
103+
version {
104+
name = theVersionName
105+
}
106+
repo = "maven"
107+
name = "androidplot"
108+
issueTrackerUrl = "https://androidplot.jira.com"
109+
websiteUrl = siteUrl
110+
vcsUrl = gitUrl
111+
licenses = ["Apache-2.0"]
112+
}
113+
}
114+
115+
artifacts {
116+
archives javadocJar
117+
archives sourcesJar
118+
}

AndroidPlot-Core/src/main/java/com/androidplot/Plot.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import java.util.*;
4141

4242
/**
43-
* Base class for all other Plot implementations..
43+
* Base class for all Plot implementations.
4444
*/
4545
public abstract class Plot<SeriesType extends Series, FormatterType extends Formatter, RendererType extends SeriesRenderer>
4646
extends View implements Resizable{
@@ -689,6 +689,7 @@ public synchronized void layout(final DisplayDimensions dims) {
689689

690690
@Override
691691
protected void onDetachedFromWindow() {
692+
super.onDetachedFromWindow();
692693
synchronized(renderSynch) {
693694
keepRunning = false;
694695
renderSynch.notify();

AndroidPlot-Core/src/main/java/com/androidplot/xy/XYGraphWidget.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,7 @@ protected void drawGrid(Canvas canvas) {
634634
}
635635

636636
Paint olp = domainTickLabelPaintMap != null ?
637-
domainTickLabelPaintMap.get(plot.getDomainOrigin()) : domainTickLabelPaint;
637+
domainTickLabelPaintMap.get(plot.getDomainOrigin()) : domainOriginTickLabelPaint;
638638
if(olp == null) {
639639
olp = domainTickLabelPaint;
640640
}
@@ -722,7 +722,7 @@ protected void drawGrid(Canvas canvas) {
722722
}
723723

724724
Paint olp = rangeTickLabelPaintMap != null ?
725-
rangeTickLabelPaintMap.get(plot.getRangeOrigin()) : rangeTickLabelPaint;
725+
rangeTickLabelPaintMap.get(plot.getRangeOrigin()) : rangeOriginTickLabelPaint;
726726
if(olp == null) {
727727
olp = rangeTickLabelPaint;
728728
}
@@ -940,8 +940,13 @@ protected void drawData(Canvas canvas) throws PlotRenderException {
940940
try {
941941
canvas.save(Canvas.ALL_SAVE_FLAG);
942942
canvas.clipRect(gridRect, android.graphics.Region.Op.INTERSECT);
943-
for (XYSeriesRenderer renderer : plot.getRendererList()) {
944-
renderer.render(canvas, paddedGridRect);
943+
renderStack.sync();
944+
945+
for(RenderStack.StackElement thisElement : renderStack.getElements()) {
946+
if(thisElement.isEnabled()) {
947+
plot.getRenderer(thisElement.getPair().getFormatter().getRendererClass()).
948+
render(canvas, paddedGridRect, thisElement.getPair(), renderStack);
949+
}
945950
}
946951

947952
} finally {

DemoApp/build.gradle

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
1+
apply plugin: 'android-sdk-manager'
12
apply plugin: 'android'
23

34
dependencies {
45
compile project(':AndroidPlot-Core')
5-
// compile "com.android.support:support-v4:${theSupportLibraryVersion}"
66
}
77

88
android {
9-
compileSdkVersion 21
10-
buildToolsVersion '21.1.2'
11-
12-
/*sourceSets {
13-
main {
14-
manifest.srcFile 'AndroidManifest.xml'
15-
java.srcDirs = ['src']
16-
resources.srcDirs = ['src']
17-
aidl.srcDirs = ['src']
18-
*//*renderscript.srcDirs = ['src']*//*
19-
res.srcDirs = ['res']
20-
assets.srcDirs = ['assets']
21-
}
22-
23-
instrumentTest.setRoot('test')
24-
}*/
9+
compileSdkVersion theCompileSdkVersion
10+
buildToolsVersion theBuildToolsVersion
11+
12+
defaultConfig {
13+
versionCode theVersionCode
14+
versionName theVersionName
15+
minSdkVersion theMinSdkVersion
16+
targetSdkVersion theTargetSdkVersion
17+
applicationId "com.androidplot.demos"
18+
}
2519

2620
/**
2721
* TODO: uncomment this and address all the lint issues.
@@ -30,12 +24,3 @@ android {
3024
abortOnError false
3125
}
3226
}
33-
34-
buildscript {
35-
repositories {
36-
mavenCentral()
37-
}
38-
dependencies {
39-
classpath 'com.android.tools.build:gradle:1.2.3'
40-
}
41-
}

DemoApp/src/main/AndroidManifest.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.androidplot.demos"
4-
android:versionCode="8"
5-
android:versionName="0.6.0.1">
6-
<uses-sdk android:minSdkVersion="6" android:targetSdkVersion="16"/>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.androidplot.demos">
73

84
<!-- We must disable hardware acceleration otherwise some lines will not appear in our plots. -->
95
<application android:label="AndroidPlot API DemoApp"

build.gradle

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
apply plugin: 'java'
22

3-
sourceCompatibility = 1.6
4-
version = '1.0'
5-
63
repositories {
74
mavenCentral()
5+
jcenter()
86
}
97

108
ext {
11-
theBuildToolsVersion = '19.0.0'
12-
theSupportLibraryVersion = '19.0.0'
13-
theCompileSdkVersion = 19
9+
theBuildToolsVersion = '21.1.2'
10+
theCompileSdkVersion = 23
11+
theTargetSdkVersion = 23
12+
theMinSdkVersion = 4
13+
theVersionName = '0.9.2'
14+
theVersionCode = 1
1415
}
1516

1617
buildscript {
1718
repositories {
1819
mavenCentral()
20+
jcenter()
1921
}
2022

2123
dependencies {
2224
classpath 'com.android.tools.build:gradle:1.2.3'
25+
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
26+
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
27+
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
2328
}
2429
}
2530

@@ -29,6 +34,14 @@ allprojects {
2934
}
3035
}
3136

37+
/*subprojects {
38+
// for now can't do this one here because it has to
39+
// be loaded *before* any other plugin in each submodule
40+
// and unless its listed at the top of the submodule plugin list,
41+
// that doesnt seem to happen.
42+
apply plugin: 'android-sdk-manager'
43+
}*/
44+
3245
task wrapper(type: Wrapper) {
33-
gradleVersion = '1.10'
46+
gradleVersion = '2.9'
3447
}

gradle/wrapper/gradle-wrapper.jar

1.67 KB
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Wed Dec 02 08:41:47 CST 2015
1+
#Wed Dec 02 22:16:29 CST 2015
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
rootProject.name = 'androidplot'
22
include 'AndroidPlot-Core'
3-
include ':Examples:DemoApp'
3+
include 'DemoApp'

0 commit comments

Comments
 (0)