From b46fd30f07897e443c21721d411185b42227cd20 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Sun, 31 Jul 2022 19:22:07 -0500 Subject: [PATCH 01/20] Release 1.5.10 Changes (#117) * uprev to 1.5.10 * remove circleci, add github actions build script * #114 fix setLinesPerRangeLabel & setLinesPerDomainLabel * fix barchart documentation --- .circleci/config.yml | 96 ------------------- .github/workflows/build.yml | 53 ++++++++++ androidplot-core/build.gradle | 5 +- .../com/androidplot/xy/XYGraphWidget.java | 35 ++++--- .../com/androidplot/xy/XYGraphWidgetTest.java | 11 +-- build.gradle | 7 +- demoapp/build.gradle | 5 +- .../demos/SimpleXYPlotActivity.java | 2 + docs/barchart.md | 4 +- docs/quickstart.md | 2 +- docs/release_notes.md | 4 + gradle/wrapper/gradle-wrapper.properties | 2 +- misc/download_keystore.sh | 9 -- 13 files changed, 98 insertions(+), 137 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/build.yml delete mode 100755 misc/download_keystore.sh diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 35a84a76..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,96 +0,0 @@ -# Java Gradle CircleCI 2.0 configuration file -# -# Check https://circleci.com/docs/2.0/language-java/ for more details -# -version: 2 - -general: - branches: - only: - #- circleci -jobs: - build: - docker: - # specify the version you desire here - #- image: circleci/openjdk:8-jdk - - # CircleCI maintains a library of pre-built images - # documented at https://circleci.com/docs/2.0/circleci-images/ - - image: circleci/android:api-30 - - working_directory: ~/repo - - environment: - # Customize the JVM maximum heap limit - JVM_OPTS: -Xmx3200m - TERM: dumb -# KEYSTORE: ${CIRCLE_WORKING_DIRECTORY}/sigining.keystore -# PUBLISHER_ACCT_JSON_FILE: ${CIRCLE_WORKING_DIRECTORY}/publisher_profile.json - - steps: - - checkout - - - run: echo 'export KEYSTORE=${HOME}/repo/sigining.keystore' >> $BASH_ENV - - run: echo 'export PUBLISHER_ACCT_JSON_FILE=${HOME}/repo/publisher_profile.json' >> $BASH_ENV - - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "build.gradle" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - # Get private keys etc - - run: ./misc/download_keystore.sh - - run: ./misc/inject_circle_build_number.sh - - - run: ./gradlew dependencies - - - save_cache: - paths: - - ~/.m2 - key: v1-dependencies-{{ checksum "build.gradle" }} - - # run tests & code coc! - - run: ./gradlew testDebugUnitTest jacocoTestDebugUnitTestReport - - # build release - - run: ./gradlew assembleRelease - - # javadoc - - run: ./gradlew javadoc - - # trigger codecod.io - - run: bash <(curl -s https://codecov.io/bash) - - - store_artifacts: - path: androidplot-core/build/outputs/aar/ - destination: aar - - - store_artifacts: - path: demoapp/build/outputs/apk/ - destination: apk - - - store_artifacts: - path: androidplot-core/build/reports/jacoco/debug/ - destination: coverage_report - - - store_artifacts: - path: androidplot-core/build/reports/tests/ - destination: test_results - - - store_artifacts: - path: androidplot-core/build/docs/javadoc - destination: javadoc - - - store_test_results: - path: androidplot-core/build/test-results/ - - - deploy: - name: "Publish" - command: | - if [ "${CIRCLE_BRANCH}" == "master" ]; - then - ./misc/download_google_publisher_json.sh; - ./gradlew publish; - fi \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..259a938c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,53 @@ +name: build androidplot +on: + push: + branches: + - v1.5.10b # TODO change to master +jobs: + build-and-test: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Build and Test + run: ./gradlew testDebugUnitTest jacocoTestDebugUnitTestReport + + - name: Build Release + env: + ENCODED: ${{ secrets.DEMOAPP_KEYSTORE }} + KEYSTORE: keystore.jks + KEY_ALIAS: Key0 + KEYSTORE_PASSWORD: ${{ secrets.DEMOAPP_KEYSTORE_PASSWORD }} + KEY_PASSWORD: ${{ secrets.DEMOAPP_KEY_PASSWORD }} + run: | + echo $ENCODED | base64 -di > "${GITHUB_WORKSPACE}/demoapp/keystore.jks" + ./gradlew assembleRelease + + - name: Javadoc + run: ./gradlew javadoc + + - name: Code Coverage + run: bash <(curl -s https://codecov.io/bash) + + - uses: actions/upload-artifact@v3 + with: + name: Core Library + path: androidplot-core/build/outputs/aar/*.aar + retention-days: 30 + + - uses: actions/upload-artifact@v3 + if: github.ref_name == 'master' + with: + name: Demoapp APK + path: demoapp/build/outputs/apk/release/*.apk + retention-days: 30 + + - name: Stage for Maven Central + if: github.ref_name == 'master' + env: + OSSRH_ACTOR: ${{ secrets.OSSRH_ACTOR }} + OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} + SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} + SIGNING_PASSWORD: ${{ secrets.GPG_SIGNING_PASSWORD }} + run: ./gradlew publish \ No newline at end of file diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index e81e40a2..c7c4056f 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -74,11 +74,10 @@ android { } } } - - lintOptions { - // TODO: enable and address lint issues. + lint { abortOnError false } + } group = 'com.androidplot' diff --git a/androidplot-core/src/main/java/com/androidplot/xy/XYGraphWidget.java b/androidplot-core/src/main/java/com/androidplot/xy/XYGraphWidget.java index 4f6fa04a..8fa0571f 100644 --- a/androidplot-core/src/main/java/com/androidplot/xy/XYGraphWidget.java +++ b/androidplot-core/src/main/java/com/androidplot/xy/XYGraphWidget.java @@ -564,7 +564,7 @@ protected void doOnDraw(Canvas canvas, RectF widgetRect) { } protected void drawDomainLine(Canvas canvas, float xPix, Number xVal, - Paint linePaint, boolean isOrigin) { + Paint linePaint, boolean isOrigin, boolean shouldDrawLabel) { // lines if (linePaint != null) { @@ -574,12 +574,19 @@ protected void drawDomainLine(Canvas canvas, float xPix, Number xVal, } // labels - drawLineLabel(canvas, Edge.TOP, xVal, xPix, labelRect.top, isOrigin); - drawLineLabel(canvas, Edge.BOTTOM, xVal, xPix, labelRect.bottom, isOrigin); + if(shouldDrawLabel) { + if (isLineLabelEnabled(Edge.TOP)) { + drawLineLabel(canvas, Edge.TOP, xVal, xPix, labelRect.top, isOrigin); + } + + if (isLineLabelEnabled(Edge.BOTTOM)) { + drawLineLabel(canvas, Edge.BOTTOM, xVal, xPix, labelRect.bottom, isOrigin); + } + } } protected void drawRangeLine(Canvas canvas, float yPix, Number yVal, - Paint linePaint, boolean isOrigin) { + Paint linePaint, boolean isOrigin, boolean shouldDrawLabel) { // lines if (linePaint != null) { canvas.drawLine(gridRect.left - lineExtensionLeft, yPix, @@ -587,9 +594,15 @@ protected void drawRangeLine(Canvas canvas, float yPix, Number yVal, ); } - // labels - drawLineLabel(canvas, Edge.LEFT, yVal, labelRect.left, yPix, isOrigin); - drawLineLabel(canvas, Edge.RIGHT, yVal, labelRect.right, yPix, isOrigin); + if(shouldDrawLabel) { + // labels + if (isLineLabelEnabled(Edge.LEFT)) { + drawLineLabel(canvas, Edge.LEFT, yVal, labelRect.left, yPix, isOrigin); + } + if (isLineLabelEnabled(Edge.RIGHT)) { + drawLineLabel(canvas, Edge.RIGHT, yVal, labelRect.right, yPix, isOrigin); + } + } } protected void drawLineLabel(Canvas canvas, @@ -598,9 +611,7 @@ protected void drawLineLabel(Canvas canvas, float x, float y, boolean isOrigin) { - if (isLineLabelEnabled(edge)) { - getLineLabelRenderer(edge).drawLabel(canvas, getLineLabelStyle(edge), val, x, y, isOrigin); - } + getLineLabelRenderer(edge).drawLabel(canvas, getLineLabelStyle(edge), val, x, y, isOrigin); } /** @@ -646,7 +657,7 @@ protected void drawGrid(Canvas canvas) { } else { linePaint = domainSubGridLinePaint; } - drawDomainLine(canvas, (float) xPix, xVal, linePaint, isOrigin); + drawDomainLine(canvas, (float) xPix, xVal, linePaint, isOrigin, isMajorTick); } Number rangeOrigin = plot.getRangeOrigin(); @@ -684,7 +695,7 @@ protected void drawGrid(Canvas canvas) { } else { linePaint = rangeSubGridLinePaint; } - drawRangeLine(canvas, (float) yPix, yVal, linePaint, isOrigin); + drawRangeLine(canvas, (float) yPix, yVal, linePaint, isOrigin, isMajorTick); } } diff --git a/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java b/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java index 5a0da878..1d1133dd 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java @@ -21,7 +21,6 @@ import com.androidplot.test.*; import com.androidplot.ui.*; -import com.androidplot.util.DisplayDimensions; import org.junit.*; import org.mockito.*; @@ -29,7 +28,6 @@ import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; -import static junit.framework.Assert.fail; import static org.mockito.ArgumentMatchers.anyDouble; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyBoolean; @@ -202,7 +200,6 @@ public void drawCursorLabel_drawsText() { @Test public void setLineLabelEdges_setsEdges() { - graphWidget.setLineLabelEdges(XYGraphWidget.Edge.LEFT, XYGraphWidget.Edge.BOTTOM); assertTrue(graphWidget.isLineLabelEnabled(XYGraphWidget.Edge.LEFT)); assertTrue(graphWidget.isLineLabelEnabled(XYGraphWidget.Edge.BOTTOM)); @@ -312,10 +309,10 @@ public void setGridInsets_updatesGridRect() { private void runDrawGridTest() { doNothing().when(graphWidget). - drawDomainLine(any(Canvas.class), anyFloat(), any(Number.class), any(Paint.class), anyBoolean()); + drawDomainLine(any(Canvas.class), anyFloat(), any(Number.class), any(Paint.class), anyBoolean(), anyBoolean()); doNothing().when(graphWidget). - drawRangeLine(any(Canvas.class), anyFloat(), any(Number.class), any(Paint.class), anyBoolean()); + drawRangeLine(any(Canvas.class), anyFloat(), any(Number.class), any(Paint.class), anyBoolean(), anyBoolean()); xyPlot.setRangeBoundaries(0, 100, BoundaryMode.FIXED); xyPlot.setDomainBoundaries(0, 100, BoundaryMode.FIXED); @@ -324,9 +321,9 @@ private void runDrawGridTest() { // expecting a 100x100 grid to be drawn: verify(graphWidget, times(100)) - .drawDomainLine(eq(canvas), anyFloat(), anyDouble(), any(Paint.class), eq(false)); + .drawDomainLine(eq(canvas), anyFloat(), anyDouble(), any(Paint.class), eq(false), anyBoolean()); verify(graphWidget, times(100)) - .drawRangeLine(eq(canvas), anyFloat(), anyDouble(), any(Paint.class), eq(false)); + .drawRangeLine(eq(canvas), anyFloat(), anyDouble(), any(Paint.class), eq(false), anyBoolean()); } } diff --git a/build.gradle b/build.gradle index 69be2080..1850c58e 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ ext { theCompileSdkVersion = 30 theTargetSdkVersion = 30 theMinSdkVersion = 5 - theVersionName = '1.5.9' + theVersionName = '1.5.10' theVersionCode = 1 gitUrl = 'https://github.com/halfhp/androidplot.git' } @@ -26,13 +26,14 @@ ext { buildscript { repositories { mavenCentral() + maven { url "https://plugins.gradle.org/m2/" } maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' } google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.2' - classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5-SNAPSHOT' + classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5' } } diff --git a/demoapp/build.gradle b/demoapp/build.gradle index b8b76251..d80c07b6 100644 --- a/demoapp/build.gradle +++ b/demoapp/build.gradle @@ -80,11 +80,10 @@ android { debuggable true } } - - lintOptions { - // TODO: set to true and address all the lint issues. + lint { abortOnError false } + } play { diff --git a/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java b/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java index db3a5a28..df9799d1 100644 --- a/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java +++ b/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java @@ -88,6 +88,8 @@ public void onCreate(Bundle savedInstanceState) // add a new series' to the xyplot: plot.addSeries(series1, series1Format); plot.addSeries(series2, series2Format); + plot.setLinesPerRangeLabel(3); + plot.setLinesPerDomainLabel(2); plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() { @Override diff --git a/docs/barchart.md b/docs/barchart.md index 7da49957..5b384250 100644 --- a/docs/barchart.md +++ b/docs/barchart.md @@ -118,14 +118,14 @@ The exact size of the `BarGroup` is specified in pixels and the space between ea is dynamically calculated based on that size. ```java -barRenderer.setBarWidth(BarRenderer.BarGroupWidthMode.FIXED_WIDTH, PixelUtils.dpToPix(25)); +barRenderer.setBarGroupWidth(BarRenderer.BarGroupWidthMode.FIXED_WIDTH, PixelUtils.dpToPix(25)); ``` ##### FIXED_GAP The exact size of the "gap" between each `BarGroup` is specified in pixels and the size of each `BarGroup` is dynamically calculated based on that spacing. ```java -barRenderer.setBarWidth(BarRenderer.BarGroupWidthMode.FIXED_GAP, PixelUtils.dpToPix(5)); +barRenderer.setBarGroupWidth(BarRenderer.BarGroupWidthMode.FIXED_GAP, PixelUtils.dpToPix(5)); ``` # Example diff --git a/docs/quickstart.md b/docs/quickstart.md index 9dde294d..6c0878a2 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -14,7 +14,7 @@ To use the library in your gradle project add the following to your build.gradle ```groovy dependencies { - implementation "com.androidplot:androidplot-core:1.5.9" + implementation "com.androidplot:androidplot-core:1.5.10" } ``` diff --git a/docs/release_notes.md b/docs/release_notes.md index 00a80a5c..e0c6cb82 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -2,6 +2,10 @@ For details on what to expect in general when updating to a new version of Androiplot, check out the [versioning doc](versioning.md). +# 1.5.10 +* Update project to use latest gradle / build tools +* (#114) fix `setLinesPerRangeLabel` & `setLinesPerDomainLabel` + # 1.5.9 * (#107) Fix ambiguous ordinal for render mode attributes * (#104) Fix issue with background rendering in RecyclerView. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0a24689e..4bde2d74 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip diff --git a/misc/download_keystore.sh b/misc/download_keystore.sh deleted file mode 100755 index 99fd503a..00000000 --- a/misc/download_keystore.sh +++ /dev/null @@ -1,9 +0,0 @@ -# use curl to download a keystore from $KEYSTORE_URI, if set, -# to the path/filename set in $KEYSTORE. -if [[ $KEYSTORE && ${KEYSTORE} && $KEYSTORE_URI && ${KEYSTORE_URI} ]] -then - echo "Keystore detected - downloading..." - curl -L -o ${KEYSTORE} ${KEYSTORE_URI} -else - echo "Keystore uri not set. .APK artifact will not be signed." -fi \ No newline at end of file From 3b9c2a90d6a233d1d117e8f02b281dc33807109b Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Sun, 31 Jul 2022 19:33:39 -0500 Subject: [PATCH 02/20] build on all pushes --- .github/workflows/build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 259a938c..99a0053d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,5 @@ name: build androidplot -on: - push: - branches: - - v1.5.10b # TODO change to master +on: [push] jobs: build-and-test: runs-on: ubuntu-latest From 5d474ad6e774bc701d9cc1eb75b860eceb67bcfd Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 07:01:55 -0500 Subject: [PATCH 03/20] update readme --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 42b3f9ea..49d2b78b 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ -# ![image](docs/images/aplogo_small.png) Androidplot [![CircleCI](https://circleci.com/gh/halfhp/androidplot.svg?style=shield)](https://circleci.com/gh/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) +# [![AppBrain SDK](https://www.appbrain.com/stats/libraries/shield/appbrain.svg)](https://www.appbrain.com/stats/libraries/details/appbrain/appbrain-sdk) ![image](docs/images/aplogo_small.png) Androidplot [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) -A library for creating dynamic and static charts in Android apps. It’s designed from the ground up for Android, -compatible with all versions of Android from 1.6 onward and is **used by over -[1,000 apps](http://www.appbrain.com/stats/libraries/details/androidplot/androidplot) on Google Play**. - -[![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) +A library for creating dynamic and static charts in Android apps. Compatible with all versions of Android from 1.6 onward. If you enjoy the lib, please [rate us on codix.io](http://codix.io/gh/repo/halfhp/androidplot)! From 4ff9a98c309cb9bf5c7f5cb0d0e79e2ecfaa97a1 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 07:02:31 -0500 Subject: [PATCH 04/20] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49d2b78b..e07f36cd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# [![AppBrain SDK](https://www.appbrain.com/stats/libraries/shield/appbrain.svg)](https://www.appbrain.com/stats/libraries/details/appbrain/appbrain-sdk) ![image](docs/images/aplogo_small.png) Androidplot [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) +# ![image](docs/images/aplogo_small.png) Androidplot [![AppBrain SDK](https://www.appbrain.com/stats/libraries/shield/appbrain.svg)](https://www.appbrain.com/stats/libraries/details/appbrain/appbrain-sdk) [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) A library for creating dynamic and static charts in Android apps. Compatible with all versions of Android from 1.6 onward. From ba09f8fd2fd70767ce5f8c901d90d28e4c66677a Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 07:05:30 -0500 Subject: [PATCH 05/20] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e07f36cd..1aafa97c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ![image](docs/images/aplogo_small.png) Androidplot [![AppBrain SDK](https://www.appbrain.com/stats/libraries/shield/appbrain.svg)](https://www.appbrain.com/stats/libraries/details/appbrain/appbrain-sdk) [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) +# ![image](docs/images/aplogo_small.png) Androidplot [![AndroidPlot](https://www.appbrain.com/stats/libraries/shield/androidplot.svg)](https://www.appbrain.com/stats/libraries/details/androidplot/androidplot) [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) A library for creating dynamic and static charts in Android apps. Compatible with all versions of Android from 1.6 onward. From 89fc2b3f9ec6fab788c0a8637efa8f7d69f56519 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 07:30:36 -0500 Subject: [PATCH 06/20] update readme --- README.md | 5 ++++- .../java/com/androidplot/demos/SimpleXYPlotActivity.java | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1aafa97c..9617a26e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # ![image](docs/images/aplogo_small.png) Androidplot [![AndroidPlot](https://www.appbrain.com/stats/libraries/shield/androidplot.svg)](https://www.appbrain.com/stats/libraries/details/androidplot/androidplot) [![Codix](http://codix.io/gh/badge/halfhp/androidplot)](http://codix.io/gh/repo/halfhp/androidplot) [![codecov](https://codecov.io/gh/halfhp/androidplot/branch/master/graph/badge.svg)](https://codecov.io/gh/halfhp/androidplot) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/androidplot.svg?style=social&label=Follow%20Us)](https://twitter.com/androidplot) -A library for creating dynamic and static charts in Android apps. Compatible with all versions of Android from 1.6 onward. +A library for creating dynamic and static charts in Android apps. + +Androidplot is compatible with all versions of Android from 1.6 onward, works equally with Kotlin and Java codebases +and is compatible with Jetpack compose. If you enjoy the lib, please [rate us on codix.io](http://codix.io/gh/repo/halfhp/androidplot)! diff --git a/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java b/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java index df9799d1..db3a5a28 100644 --- a/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java +++ b/demoapp/src/main/java/com/androidplot/demos/SimpleXYPlotActivity.java @@ -88,8 +88,6 @@ public void onCreate(Bundle savedInstanceState) // add a new series' to the xyplot: plot.addSeries(series1, series1Format); plot.addSeries(series2, series2Format); - plot.setLinesPerRangeLabel(3); - plot.setLinesPerDomainLabel(2); plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() { @Override From a4d0c32cecb2cf4ed7f9ccf7fe932038472eb1f2 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 07:49:02 -0500 Subject: [PATCH 07/20] remove crittercism, uprev demoapp version code --- build.gradle | 2 +- demoapp/build.gradle | 1 - .../src/main/java/com/androidplot/demos/MainActivity.kt | 8 -------- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 1850c58e..5796da53 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ ext { theTargetSdkVersion = 30 theMinSdkVersion = 5 theVersionName = '1.5.10' - theVersionCode = 1 + theVersionCode = 226 gitUrl = 'https://github.com/halfhp/androidplot.git' } diff --git a/demoapp/build.gradle b/demoapp/build.gradle index d80c07b6..1506e9ce 100644 --- a/demoapp/build.gradle +++ b/demoapp/build.gradle @@ -36,7 +36,6 @@ dependencies { implementation "androidx.core:core-ktx:1.6.0" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation project(':androidplot-core') - implementation 'com.crittercism:crittercism-android-agent:5.4.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' diff --git a/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt b/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt index 6c8320e1..b01f3e1c 100644 --- a/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt +++ b/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt @@ -17,7 +17,6 @@ package com.androidplot.demos import android.app.Activity import android.os.Bundle -import com.crittercism.app.Crittercism import android.content.Intent import android.util.Log import com.androidplot.demos.databinding.MainBinding @@ -28,18 +27,11 @@ class MainActivity : Activity() { companion object { private val TAG = MainActivity::class.java.name - - // DO *NOT* CHANGE THIS LINE! (CI-MATCH-POPULATE) - private val CRITTERCISM_APP_ID: String? = null } public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = MainBinding.inflate(layoutInflater) - if (CRITTERCISM_APP_ID != null) { - Log.d(TAG, "Crittercism initialized.") - Crittercism.initialize(applicationContext, CRITTERCISM_APP_ID) - } binding.animatedXYPlotExButton.setOnClickListener { startActivity(Intent(this, AnimatedXYPlotActivity::class.java)) From e0272dad4126bd0441e474898db13dbfcb0c9f0d Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 18:24:49 -0500 Subject: [PATCH 08/20] update dependencies --- androidplot-core/build.gradle | 4 +- build.gradle | 4 +- demoapp/build.gradle | 10 ++--- demoapp/src/main/AndroidManifest.xml | 39 ++++++++++++------- .../androidplot/demos/DemoApplication.java | 8 ---- .../com/androidplot/demos/MainActivity.kt | 5 --- 6 files changed, 33 insertions(+), 37 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index c7c4056f..389a5cfd 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -91,9 +91,9 @@ dependencies { implementation 'com.halfhp.fig:figlib:1.0.11' implementation 'com.android.support:support-annotations:28.0.0' - testImplementation "org.mockito:mockito-core:3.9.0" + testImplementation "org.mockito:mockito-core:4.0.0" testImplementation group: 'junit', name: 'junit', version: '4.13.2' - testImplementation "org.robolectric:robolectric:4.5.1" + testImplementation "org.robolectric:robolectric:4.7.3" } task javadoc(type: Javadoc) { diff --git a/build.gradle b/build.gradle index 5796da53..6360970f 100644 --- a/build.gradle +++ b/build.gradle @@ -15,8 +15,8 @@ */ ext { - theCompileSdkVersion = 30 - theTargetSdkVersion = 30 + theCompileSdkVersion = 32 + theTargetSdkVersion = 32 theMinSdkVersion = 5 theVersionName = '1.5.10' theVersionCode = 226 diff --git a/demoapp/build.gradle b/demoapp/build.gradle index 1506e9ce..8c8c8d2c 100644 --- a/demoapp/build.gradle +++ b/demoapp/build.gradle @@ -15,7 +15,7 @@ */ buildscript { - ext.kotlin_version = '1.5.31' + ext.kotlin_version = '1.7.10' repositories { mavenCentral() } @@ -33,16 +33,12 @@ plugins { apply plugin: 'kotlin-android' dependencies { - implementation "androidx.core:core-ktx:1.6.0" + implementation "androidx.core:core-ktx:1.8.0" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation project(':androidplot-core') implementation 'androidx.recyclerview:recyclerview:1.2.1' - debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' - - releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3' - - testImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1' } android { diff --git a/demoapp/src/main/AndroidManifest.xml b/demoapp/src/main/AndroidManifest.xml index 16245b9f..eaf69362 100644 --- a/demoapp/src/main/AndroidManifest.xml +++ b/demoapp/src/main/AndroidManifest.xml @@ -27,76 +27,88 @@ android:icon="@drawable/ic_launcher"> + android:label="@string/app_name" + android:exported="true"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:screenOrientation="landscape" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> + android:label="@string/app_name" + android:exported="false"> - + @@ -112,7 +124,8 @@ + android:name="com.androidplot.demos.widget.DemoAppWidgetProvider" + android:exported="false"> diff --git a/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java b/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java index 9c931a73..e5c724c7 100644 --- a/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java +++ b/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java @@ -8,14 +8,6 @@ public class DemoApplication extends Application { @Override public void onCreate() { super.onCreate(); - initLeakCanary(); - } - - protected void initLeakCanary() { - if (LeakCanary.isInAnalyzerProcess(this)) { - return; - } - LeakCanary.install(this); } } diff --git a/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt b/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt index b01f3e1c..6632af40 100644 --- a/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt +++ b/demoapp/src/main/java/com/androidplot/demos/MainActivity.kt @@ -18,17 +18,12 @@ package com.androidplot.demos import android.app.Activity import android.os.Bundle import android.content.Intent -import android.util.Log import com.androidplot.demos.databinding.MainBinding class MainActivity : Activity() { private lateinit var binding: MainBinding - companion object { - private val TAG = MainActivity::class.java.name - } - public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = MainBinding.inflate(layoutInflater) From ce9099b31d344c122e1a655e1d7b19a67ee5ed5a Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Mon, 1 Aug 2022 18:33:43 -0500 Subject: [PATCH 09/20] update unit tests to use latest mockito --- .../com/androidplot/ui/widget/TextLabelWidgetTest.java | 6 +++--- .../test/java/com/androidplot/ui/widget/WidgetTest.java | 8 ++++---- .../java/com/androidplot/util/PlotStatisticsTest.java | 6 +++--- .../androidplot/xy/AdvanceLineAndPointRendererTest.java | 1 - .../src/test/java/com/androidplot/xy/BarRendererTest.java | 6 +++--- .../test/java/com/androidplot/xy/BubbleRendererTest.java | 1 - .../java/com/androidplot/xy/CandlestickRendererTest.java | 1 - .../com/androidplot/xy/FastLineAndPointRendererTest.java | 4 ++-- .../src/test/java/com/androidplot/xy/LTTBSamplerTest.java | 1 - .../java/com/androidplot/xy/LineAndPointRendererTest.java | 1 - .../test/java/com/androidplot/xy/XYGraphWidgetTest.java | 8 ++++---- .../test/java/com/androidplot/xy/XYLegendWidgetTest.java | 5 ++--- .../main/java/com/androidplot/demos/DemoApplication.java | 2 -- 13 files changed, 21 insertions(+), 29 deletions(-) diff --git a/androidplot-core/src/test/java/com/androidplot/ui/widget/TextLabelWidgetTest.java b/androidplot-core/src/test/java/com/androidplot/ui/widget/TextLabelWidgetTest.java index 6ed81b7b..bdb48f92 100644 --- a/androidplot-core/src/test/java/com/androidplot/ui/widget/TextLabelWidgetTest.java +++ b/androidplot-core/src/test/java/com/androidplot/ui/widget/TextLabelWidgetTest.java @@ -14,9 +14,9 @@ import org.mockito.InOrder; import org.mockito.Mock; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyFloat; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyFloat; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; diff --git a/androidplot-core/src/test/java/com/androidplot/ui/widget/WidgetTest.java b/androidplot-core/src/test/java/com/androidplot/ui/widget/WidgetTest.java index ce398dc9..cae6c056 100644 --- a/androidplot-core/src/test/java/com/androidplot/ui/widget/WidgetTest.java +++ b/androidplot-core/src/test/java/com/androidplot/ui/widget/WidgetTest.java @@ -21,10 +21,10 @@ import org.mockito.Mockito; import static junit.framework.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.ArgumentMatchers.nullable; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -94,9 +94,9 @@ public void draw_sizeChanged_invokesOnResizeBeforeDoOnDraw() { widget.draw(canvas); - inOrder.verify(widget).onResize(isNull(RectF.class), any(RectF.class)); + inOrder.verify(widget).onResize(isNull(), any(RectF.class)); inOrder.verify(widget).doOnDraw(eq(canvas), any(RectF.class)); - verify(widget).onResize(isNull(RectF.class), any(RectF.class)); + verify(widget).onResize(isNull(), any(RectF.class)); } static class TestWidget extends Widget { diff --git a/androidplot-core/src/test/java/com/androidplot/util/PlotStatisticsTest.java b/androidplot-core/src/test/java/com/androidplot/util/PlotStatisticsTest.java index b063235a..4454c69c 100644 --- a/androidplot-core/src/test/java/com/androidplot/util/PlotStatisticsTest.java +++ b/androidplot-core/src/test/java/com/androidplot/util/PlotStatisticsTest.java @@ -27,9 +27,9 @@ import org.mockito.InjectMocks; import org.mockito.Mock; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyFloat; -import static org.mockito.Matchers.anyString; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyFloat; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/androidplot-core/src/test/java/com/androidplot/xy/AdvanceLineAndPointRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/AdvanceLineAndPointRendererTest.java index 647882c5..b1600828 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/AdvanceLineAndPointRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/AdvanceLineAndPointRendererTest.java @@ -24,7 +24,6 @@ import org.junit.*; import org.mockito.*; -import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; /** diff --git a/androidplot-core/src/test/java/com/androidplot/xy/BarRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/BarRendererTest.java index e4624d08..08cc1480 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/BarRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/BarRendererTest.java @@ -33,9 +33,9 @@ import java.util.List; import static junit.framework.Assert.assertEquals; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyFloat; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyFloat; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; diff --git a/androidplot-core/src/test/java/com/androidplot/xy/BubbleRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/BubbleRendererTest.java index cd0ff2b1..94a0be50 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/BubbleRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/BubbleRendererTest.java @@ -24,7 +24,6 @@ import org.junit.*; import org.mockito.*; -import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; /** diff --git a/androidplot-core/src/test/java/com/androidplot/xy/CandlestickRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/CandlestickRendererTest.java index a7fba775..8eda23b9 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/CandlestickRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/CandlestickRendererTest.java @@ -24,7 +24,6 @@ import org.junit.*; import org.mockito.*; -import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; public class CandlestickRendererTest extends AndroidplotTest { diff --git a/androidplot-core/src/test/java/com/androidplot/xy/FastLineAndPointRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/FastLineAndPointRendererTest.java index de81e70c..cf083d9e 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/FastLineAndPointRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/FastLineAndPointRendererTest.java @@ -24,8 +24,8 @@ import org.junit.runner.*; import org.mockito.*; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/androidplot-core/src/test/java/com/androidplot/xy/LTTBSamplerTest.java b/androidplot-core/src/test/java/com/androidplot/xy/LTTBSamplerTest.java index 3269082d..800992f9 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/LTTBSamplerTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/LTTBSamplerTest.java @@ -27,7 +27,6 @@ import java.util.*; import static junit.framework.Assert.assertEquals; -import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; public class LTTBSamplerTest extends AndroidplotTest { diff --git a/androidplot-core/src/test/java/com/androidplot/xy/LineAndPointRendererTest.java b/androidplot-core/src/test/java/com/androidplot/xy/LineAndPointRendererTest.java index 9cb03cd1..44a7b22d 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/LineAndPointRendererTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/LineAndPointRendererTest.java @@ -26,7 +26,6 @@ import java.util.*; import static junit.framework.Assert.assertEquals; -import static org.mockito.Matchers.eq; import static org.mockito.Mockito.*; public class LineAndPointRendererTest extends AndroidplotTest { diff --git a/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java b/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java index 1d1133dd..a9182501 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/XYGraphWidgetTest.java @@ -28,11 +28,11 @@ import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyDouble; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyFloat; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.anyFloat; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; diff --git a/androidplot-core/src/test/java/com/androidplot/xy/XYLegendWidgetTest.java b/androidplot-core/src/test/java/com/androidplot/xy/XYLegendWidgetTest.java index b50f7237..778fb40a 100644 --- a/androidplot-core/src/test/java/com/androidplot/xy/XYLegendWidgetTest.java +++ b/androidplot-core/src/test/java/com/androidplot/xy/XYLegendWidgetTest.java @@ -32,11 +32,10 @@ import java.util.List; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java b/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java index e5c724c7..df3d6117 100644 --- a/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java +++ b/demoapp/src/main/java/com/androidplot/demos/DemoApplication.java @@ -2,8 +2,6 @@ import android.app.*; -import com.squareup.leakcanary.*; - public class DemoApplication extends Application { @Override public void onCreate() { From 7b072e107e6b5efa195b726d1b79053fe4af3174 Mon Sep 17 00:00:00 2001 From: Francisco Salinas Del Riego <133713499+fdelriego@users.noreply.github.com> Date: Thu, 22 Aug 2024 05:05:59 -0700 Subject: [PATCH 10/20] Fix jetifier being required (#122) This prevents the library from being flagged in Jetifier check build analyzer task. No other changes are needed :) (that I know of) --- androidplot-core/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index 389a5cfd..7602311b 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -89,7 +89,7 @@ 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' + implementation 'androidx.annotation:annotation:1.4.0' testImplementation "org.mockito:mockito-core:4.0.0" testImplementation group: 'junit', name: 'junit', version: '4.13.2' From d47fb53dccd6eff451d98dcb1e37da45e09e555f Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 08:00:37 -0500 Subject: [PATCH 11/20] uprev to 1.5.11 --- build.gradle | 2 +- docs/quickstart.md | 2 +- docs/release_notes.md | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 6360970f..fdbd3e60 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ ext { theCompileSdkVersion = 32 theTargetSdkVersion = 32 theMinSdkVersion = 5 - theVersionName = '1.5.10' + theVersionName = '1.5.11' theVersionCode = 226 gitUrl = 'https://github.com/halfhp/androidplot.git' } diff --git a/docs/quickstart.md b/docs/quickstart.md index 6c0878a2..3bd87c3d 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -14,7 +14,7 @@ To use the library in your gradle project add the following to your build.gradle ```groovy dependencies { - implementation "com.androidplot:androidplot-core:1.5.10" + implementation "com.androidplot:androidplot-core:1.5.11" } ``` diff --git a/docs/release_notes.md b/docs/release_notes.md index e0c6cb82..50d52c11 100644 --- a/docs/release_notes.md +++ b/docs/release_notes.md @@ -2,6 +2,10 @@ For details on what to expect in general when updating to a new version of Androiplot, check out the [versioning doc](versioning.md). +# 1.5.11 +* Update project to latest gradle / build tools +* Fix issue with jetifier flagging an outdated dependency + # 1.5.10 * Update project to use latest gradle / build tools * (#114) fix `setLinesPerRangeLabel` & `setLinesPerDomainLabel` From e2c1bbef640349fb76def7f0f00cf36adab502b4 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 08:15:48 -0500 Subject: [PATCH 12/20] update project files for latest android changes --- androidplot-core/build.gradle | 1 + androidplot-core/src/main/AndroidManifest.xml | 2 +- build.gradle | 2 +- demoapp/build.gradle | 1 + demoapp/src/main/AndroidManifest.xml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index 7602311b..acfa2c11 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -77,6 +77,7 @@ android { lint { abortOnError false } + namespace 'com.androidplot' } diff --git a/androidplot-core/src/main/AndroidManifest.xml b/androidplot-core/src/main/AndroidManifest.xml index e83183d1..3043c930 100644 --- a/androidplot-core/src/main/AndroidManifest.xml +++ b/androidplot-core/src/main/AndroidManifest.xml @@ -16,5 +16,5 @@ - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index fdbd3e60..0e4c8e8c 100644 --- a/build.gradle +++ b/build.gradle @@ -32,7 +32,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:7.4.2' classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5' } } diff --git a/demoapp/build.gradle b/demoapp/build.gradle index 8c8c8d2c..b5856456 100644 --- a/demoapp/build.gradle +++ b/demoapp/build.gradle @@ -78,6 +78,7 @@ android { lint { abortOnError false } + namespace 'com.androidplot.demos' } diff --git a/demoapp/src/main/AndroidManifest.xml b/demoapp/src/main/AndroidManifest.xml index eaf69362..5b73a2b7 100644 --- a/demoapp/src/main/AndroidManifest.xml +++ b/demoapp/src/main/AndroidManifest.xml @@ -15,7 +15,7 @@ ~ limitations under the License. --> - + diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4bde2d74..43c64dc4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip From 7ef1d0cbcb97879cd733aa16ed82910390cf7fed Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 10:05:07 -0500 Subject: [PATCH 13/20] updates gradle, android plugin, dependencies etc. to latest. also updates to use JDK 17. --- androidplot-core/build.gradle | 36 ++++++++++++++---------- build.gradle | 8 +++--- demoapp-wearable/build.gradle | 5 ++-- demoapp/build.gradle | 18 +++++++++--- demoapp/project.properties | 2 -- gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 43 insertions(+), 28 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index acfa2c11..36b0ea63 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -16,7 +16,7 @@ plugins { id 'com.android.library' - id 'com.dicedmelon.gradle.jacoco-android' + id 'com.mxalbert.gradle.jacoco-android' id 'maven-publish' id 'signing' } @@ -58,9 +58,15 @@ task generateAttrsMarkdown(type: AttrMarkdown) { } android { - compileSdkVersion theCompileSdkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + defaultConfig { + compileSdk theCompileSdkVersion minSdkVersion theMinSdkVersion targetSdkVersion theTargetSdkVersion testApplicationId "com.androidplot.test" @@ -90,9 +96,9 @@ def gitUrl = 'https://github.com/halfhp/androidplot.git' dependencies { implementation 'com.halfhp.fig:figlib:1.0.11' - implementation 'androidx.annotation:annotation:1.4.0' + implementation 'androidx.annotation:annotation:1.8.2' - testImplementation "org.mockito:mockito-core:4.0.0" + testImplementation "org.mockito:mockito-core:5.7.0" testImplementation group: 'junit', name: 'junit', version: '4.13.2' testImplementation "org.robolectric:robolectric:4.7.3" } @@ -110,12 +116,12 @@ task javadoc(type: Javadoc) { } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier.set('javadoc') from javadoc.destinationDir } task sourcesJar(type: Jar) { - classifier = 'sources' + archiveClassifier.set('sources') from android.sourceSets.main.java.srcDirs } @@ -137,9 +143,11 @@ afterEvaluate { } publications { - release(MavenPublication) { - from components.release + publications.withType(MavenPublication) { +// release(MavenPublication) { +// +// from components.release // You can then customize attributes of the publication as shown below. groupId = 'com.androidplot' @@ -176,13 +184,11 @@ afterEvaluate { } } -afterEvaluate { - signing { - def signingKey = System.getenv("SIGNING_KEY") - def signingPassword = System.getenv("SIGNING_PASSWORD") - useInMemoryPgpKeys(signingKey, signingPassword) - sign publishing.publications.release - } +signing { + def signingKey = System.getenv("SIGNING_KEY") + def signingPassword = System.getenv("SIGNING_PASSWORD") + useInMemoryPgpKeys(signingKey, signingPassword) + sign publishing.publications } artifacts { diff --git a/build.gradle b/build.gradle index 0e4c8e8c..d1140299 100644 --- a/build.gradle +++ b/build.gradle @@ -15,8 +15,8 @@ */ ext { - theCompileSdkVersion = 32 - theTargetSdkVersion = 32 + theCompileSdkVersion = 34 + theTargetSdkVersion = 34 theMinSdkVersion = 5 theVersionName = '1.5.11' theVersionCode = 226 @@ -32,8 +32,8 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath 'com.dicedmelon.gradle:jacoco-android:0.1.5' + classpath 'com.android.tools.build:gradle:8.5.2' + classpath 'com.mxalbert.gradle:jacoco-android:0.2.0' } } diff --git a/demoapp-wearable/build.gradle b/demoapp-wearable/build.gradle index 3bfc0ee0..666b353e 100644 --- a/demoapp-wearable/build.gradle +++ b/demoapp-wearable/build.gradle @@ -38,9 +38,10 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_6 - targetCompatibility JavaVersion.VERSION_1_6 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } + buildTypes { release { minifyEnabled false diff --git a/demoapp/build.gradle b/demoapp/build.gradle index b5856456..2c2fbd52 100644 --- a/demoapp/build.gradle +++ b/demoapp/build.gradle @@ -15,7 +15,7 @@ */ buildscript { - ext.kotlin_version = '1.7.10' + ext.kotlin_version = '2.0.0' repositories { mavenCentral() } @@ -33,15 +33,25 @@ plugins { apply plugin: 'kotlin-android' dependencies { - implementation "androidx.core:core-ktx:1.8.0" + implementation "androidx.core:core-ktx:1.13.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation project(':androidplot-core') - implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'androidx.recyclerview:recyclerview:1.3.2' debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1' } +kotlin { + jvmToolchain(17) +} + android { + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + compileSdkVersion theCompileSdkVersion buildFeatures { @@ -51,7 +61,7 @@ android { defaultConfig { versionCode theVersionCode versionName theVersionName - minSdkVersion 14 + minSdkVersion 19 targetSdkVersion theTargetSdkVersion applicationId "com.androidplot.demos" } diff --git a/demoapp/project.properties b/demoapp/project.properties index 29656f2d..90a2cb18 100644 --- a/demoapp/project.properties +++ b/demoapp/project.properties @@ -39,5 +39,3 @@ #proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt # using config with optimization enabled so that things like log statement removal will work: proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt -# Project target. -target=android-16 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 43c64dc4..e9defc20 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip From 01e338e4540918831b7f8d773efec37113b3ba40 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 10:07:05 -0500 Subject: [PATCH 14/20] pull in jdk 17 in build scrip --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 99a0053d..afbda48e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,12 @@ jobs: - name: Checkout Code uses: actions/checkout@v3 + - name: Set Up JDK 17 + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '17' + - name: Build and Test run: ./gradlew testDebugUnitTest jacocoTestDebugUnitTestReport From 04e819db59a94ba1c386341973f6c1ff1311c29b Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 10:16:27 -0500 Subject: [PATCH 15/20] Fix broken tests --- .../src/test/java/com/androidplot/PlotTest.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/androidplot-core/src/test/java/com/androidplot/PlotTest.java b/androidplot-core/src/test/java/com/androidplot/PlotTest.java index 5a750afd..9e4753bf 100644 --- a/androidplot-core/src/test/java/com/androidplot/PlotTest.java +++ b/androidplot-core/src/test/java/com/androidplot/PlotTest.java @@ -34,6 +34,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -44,7 +45,8 @@ public class PlotTest extends AndroidplotTest { @Test public void testInit_withoutAttrs() { - Plot plot = mock(Plot.class); + //Plot plot = mock(Plot.class); + Plot plot = spy(new MockPlot("MockPlot")); plot.init(RuntimeEnvironment.application, null, 0); verify(plot, times(1)).onPreInit(); @@ -53,10 +55,12 @@ public void testInit_withoutAttrs() { @Test public void testInit_withAttrs() { - Plot plot = new MockPlot("MockPlot"); + Plot plot = spy(new MockPlot("MockPlot")); AttributeSet attrs = mock(AttributeSet.class); plot.init(RuntimeEnvironment.application, attrs, 0); - // TODO: verifications + + verify(plot, times(1)).onPreInit(); + verify(plot, times(1)).onAfterConfig(); } @Test From b8b3837de953fcac8f15767cf5ef9002fbac9ce1 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 10:34:18 -0500 Subject: [PATCH 16/20] temporarily disable javadoc artifacts --- .github/workflows/build.yml | 5 ++-- androidplot-core/build.gradle | 43 +++++++++++++++++++---------------- docs/index.md | 4 +++- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index afbda48e..d38f337e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,8 +27,9 @@ jobs: echo $ENCODED | base64 -di > "${GITHUB_WORKSPACE}/demoapp/keystore.jks" ./gradlew assembleRelease - - name: Javadoc - run: ./gradlew javadoc +# TODO: get javadoc working again at some point +# - name: Javadoc +# run: ./gradlew javadoc - name: Code Coverage run: bash <(curl -s https://codecov.io/bash) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index 36b0ea63..af0adb66 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -103,31 +103,33 @@ dependencies { 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) { - archiveClassifier.set('javadoc') - from javadoc.destinationDir -} +// TODO: get javadoc working again at some point +//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) { +// archiveClassifier.set('javadoc') +// from javadoc.destinationDir +//} task sourcesJar(type: Jar) { archiveClassifier.set('sources') from android.sourceSets.main.java.srcDirs } -javadoc { - options.overview = "src/main/java/overview.html" -} +// TODO: get javadoc working again at some point +//javadoc { +// options.overview = "src/main/java/overview.html" +//} afterEvaluate { publishing { @@ -192,6 +194,7 @@ signing { } artifacts { - archives javadocJar + // TODO: get javadoc working again at some point +// archives javadocJar archives sourcesJar } diff --git a/docs/index.md b/docs/index.md index 4959db92..90a8a021 100644 --- a/docs/index.md +++ b/docs/index.md @@ -42,7 +42,9 @@ Source code examples of the various plot types. # XML Attributes A complete list of XML attributes is [available here](attrs.md). # Javadoc -The latest Javadocs are [available here](https://javadoc.io/doc/com.androidplot/androidplot-core). +Javadocs for versions through 1.5.7 are [available here](https://javadoc.io/doc/com.androidplot/androidplot-core). Due to a build issue +producing Javadocs for the latest releases has been paused. There have been very +few changes to the API since 1.5.7 so the Javadocs should still be useful in the mean time. # Release Notes Full release notes are [available here](release_notes.md) From de72e9c24704f8d325c01aa5d45a5fccf9a4ee5b Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 11:17:51 -0500 Subject: [PATCH 17/20] uprev version code for demo app publishing --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index d1140299..4b5e18de 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ ext { theTargetSdkVersion = 34 theMinSdkVersion = 5 theVersionName = '1.5.11' - theVersionCode = 226 + theVersionCode = 227 gitUrl = 'https://github.com/halfhp/androidplot.git' } From 1e11eb2683ee3b746664564f2fd64ba7c4d22576 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 11:33:10 -0500 Subject: [PATCH 18/20] fix mavencentral publishing --- androidplot-core/build.gradle | 110 ++++++++++++++++++---------------- 1 file changed, 58 insertions(+), 52 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index af0adb66..4d7cf020 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -31,13 +31,14 @@ class AttrMarkdown extends DefaultTask { def input = project.file(inFile) def output = project.file(outFile) - if(output.exists()) { + if (output.exists()) { output.delete() } output.parentFile.mkdirs() - input.text.findAll(//) { match, g1 -> g1 - if(!g1.startsWith("NODOC")) { + input.text.findAll(//) { match, g1 -> + g1 + if (!g1.startsWith("NODOC")) { output.append(g1) output.append "\n\n" } @@ -53,7 +54,7 @@ class AttrMarkdown extends DefaultTask { * The generated doc will appear in / replace androidplot/docs/attrs.md */ task generateAttrsMarkdown(type: AttrMarkdown) { - inFile = { "src/main/res/values/attrs.xml"} + inFile = { "src/main/res/values/attrs.xml" } outFile = { "../docs/attrs.md" } } @@ -85,6 +86,13 @@ android { } namespace 'com.androidplot' + publishing { + singleVariant("release") { + //withSourcesJar() + //withJavadocJar() + } + } + } group = 'com.androidplot' @@ -121,65 +129,63 @@ dependencies { // from javadoc.destinationDir //} -task sourcesJar(type: Jar) { - archiveClassifier.set('sources') - from android.sourceSets.main.java.srcDirs -} +//task sourcesJar(type: Jar) { +// archiveClassifier.set('sources') +// from android.sourceSets.main.java.srcDirs +//} // TODO: get javadoc working again at some point //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") - } +publishing { + repositories { + maven { + name = "MavenCentral" + url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + credentials { + username = System.getenv("OSSRH_ACTOR") + password = System.getenv("OSSRH_TOKEN") } } + } - publications { + publications { - publications.withType(MavenPublication) { + publications.withType(MavenPublication) { // 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' - } + // 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' - } + } + developers { + developer { + id = 'halfhp' + name = 'Nick Fellows' + email = 'halfhp@gmail.com' } - scm { - connection = gitUrl - developerConnection = gitUrl - url = gitUrl + } + scm { + connection = gitUrl + developerConnection = gitUrl + url = gitUrl - } } } } @@ -190,11 +196,11 @@ signing { def signingKey = System.getenv("SIGNING_KEY") def signingPassword = System.getenv("SIGNING_PASSWORD") useInMemoryPgpKeys(signingKey, signingPassword) - sign publishing.publications + sign(publishing.publications) } -artifacts { - // TODO: get javadoc working again at some point -// archives javadocJar - archives sourcesJar -} +//artifacts { +// // TODO: get javadoc working again at some point +//// archives javadocJar +// archives sourcesJar +//} From a9f065fbbe20fabcf198a95b4777533ce365572f Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 12:25:24 -0500 Subject: [PATCH 19/20] fix mavencentral publishing --- androidplot-core/build.gradle | 83 ++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 41 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index 4d7cf020..7063e0c9 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -88,11 +88,12 @@ android { publishing { singleVariant("release") { + withSourcesJar() + withJavadocJar() //withSourcesJar() //withJavadocJar() } } - } group = 'com.androidplot' @@ -139,53 +140,53 @@ dependencies { // options.overview = "src/main/java/overview.html" //} -publishing { - repositories { - maven { - name = "MavenCentral" - url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" - credentials { - username = System.getenv("OSSRH_ACTOR") - password = System.getenv("OSSRH_TOKEN") +afterEvaluate { + publishing { + repositories { + maven { + name = "MavenCentral" + url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/" + credentials { + username = System.getenv("OSSRH_ACTOR") + password = System.getenv("OSSRH_TOKEN") + } } } - } - publications { - - publications.withType(MavenPublication) { + publications { + release(MavenPublication) { // 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' + 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' + developers { + developer { + id = 'halfhp' + name = 'Nick Fellows' + email = 'halfhp@gmail.com' + } + } + scm { + connection = gitUrl + developerConnection = gitUrl + url = gitUrl } - } - scm { - connection = gitUrl - developerConnection = gitUrl - url = gitUrl - } } } From 2a15eed4decc4f4b9a604f302068d6de4b055e01 Mon Sep 17 00:00:00 2001 From: Nick Fellows Date: Thu, 22 Aug 2024 12:38:31 -0500 Subject: [PATCH 20/20] cleanup --- androidplot-core/build.gradle | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/androidplot-core/build.gradle b/androidplot-core/build.gradle index 7063e0c9..b37b2b4a 100644 --- a/androidplot-core/build.gradle +++ b/androidplot-core/build.gradle @@ -90,8 +90,6 @@ android { singleVariant("release") { withSourcesJar() withJavadocJar() - //withSourcesJar() - //withJavadocJar() } } } @@ -125,15 +123,7 @@ dependencies { // exclude '**/R.java' //} // -//task javadocJar(type: Jar, dependsOn: javadoc) { -// archiveClassifier.set('javadoc') -// from javadoc.destinationDir -//} -//task sourcesJar(type: Jar) { -// archiveClassifier.set('sources') -// from android.sourceSets.main.java.srcDirs -//} // TODO: get javadoc working again at some point //javadoc { @@ -155,8 +145,6 @@ afterEvaluate { publications { release(MavenPublication) { -// release(MavenPublication) { -// from components.release // You can then customize attributes of the publication as shown below. @@ -199,9 +187,3 @@ signing { useInMemoryPgpKeys(signingKey, signingPassword) sign(publishing.publications) } - -//artifacts { -// // TODO: get javadoc working again at some point -//// archives javadocJar -// archives sourcesJar -//}