diff --git a/.circleci/config.yml b/.circleci/config.yml index fdbe634a..90b8ed85 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,16 +8,14 @@ jobs: build: <<: *defaults docker: - - image: killbill/kbbuild:0.1.0 + - image: killbill/kbbuild:0.7.0 steps: - checkout - - restore_cache: - key: v1-dependencies-{{ .Branch }}-{{ checksum "pom.xml" }} - run: name: Setup dependencies command: | if [ "${CIRCLE_BRANCH}" != "master" ]; then - for i in killbill-oss-parent killbill-api killbill-plugin-api; do + for i in killbill-oss-parent killbill-api killbill-plugin-api killbill-commons killbill-plugin-framework-java killbill-platform; do if [ -n "$(git ls-remote --heads https://github.com/killbill/$i.git ${CIRCLE_BRANCH})" ]; then echo "*** Setting up $i" mkdir -p /home/killbill/$i @@ -29,20 +27,20 @@ jobs: fi done fi - - run: mvn -DskipTests=true clean install dependency:go-offline + - run: mvn -DskipTests=true clean install - save_cache: paths: - ~/.m2 - key: v1-dependencies-{{ .Branch }}-{{ checksum "pom.xml" }} + key: v1-dependencies-{{ .Revision }} test-h2: <<: *defaults docker: - - image: killbill/kbbuild:0.1.0 + - image: killbill/kbbuild:0.7.0 steps: - checkout - restore_cache: - key: v1-dependencies-{{ .Branch }}-{{ checksum "pom.xml" }} + key: v1-dependencies-{{ .Revision }} - run: mvn clean install -Ptravis - run: name: Save test results @@ -58,11 +56,11 @@ jobs: test-mysql: <<: *defaults docker: - - image: killbill/kbbuild:0.1.0 + - image: killbill/kbbuild:0.7.0 steps: - checkout - restore_cache: - key: v1-dependencies-{{ .Branch }}-{{ checksum "pom.xml" }} + key: v1-dependencies-{{ .Revision }} - run: mvn clean install -Pmysql - run: name: Save test results @@ -78,11 +76,11 @@ jobs: test-postgresql: <<: *defaults docker: - - image: killbill/kbbuild:0.1.0 + - image: killbill/kbbuild:0.7.0 steps: - checkout - restore_cache: - key: v1-dependencies-{{ .Branch }}-{{ checksum "pom.xml" }} + key: v1-dependencies-{{ .Revision }} - run: mvn clean install -Ppostgresql - run: name: Save test results diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 00000000..85dc760c --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,20 @@ +## How to contribute to Kill Bill + +**Do not open up a GitHub issue before reaching out to our [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users)**. GitHub issues are primarily intended for tracking bug reports and fixes by the core team. + +#### **Did you find a bug?** + +In your [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users) post, specify: + +* Step by step description on how to reproduce the issue +* [Account data and system dump](http://docs.killbill.io/latest/debugging.html#_seeking_help) via KPM of an affected account + +#### **Do you intend to add a new feature or change an existing one?** + +Do not open an issue or pull request on GitHub until you have collected positive feedback about the change on the [Mailing-List](https://groups.google.com/forum/#!forum/killbilling-users). + +When submitting code, make sure to add [new tests](http://docs.killbill.io/latest/development.html#_navigating_the_kill_bill_codebase). + +#### **Do you want to contribute to the Kill Bill documentation?** + +Open a pull request on GitHub in the [killbill-docs](https://github.com/killbill/killbill-docs) repository. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..21cc4285 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: [killbill] diff --git a/.gitignore b/.gitignore index 3a6a7bee..a3812480 100644 --- a/.gitignore +++ b/.gitignore @@ -1,41 +1,57 @@ # -# https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore +# https://github.com/github/gitignore/blob/599646e9d0a26283d67715dead8f26e0eb2df753/Global/JetBrains.gitignore # -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 -# User-specific stuff: +# User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml -.idea/dictionaries +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf -# Sensitive or high-churn files: +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files .idea/**/dataSources/ .idea/**/dataSources.ids -.idea/**/dataSources.xml .idea/**/dataSources.local.xml .idea/**/sqlDataSources.xml .idea/**/dynamic.xml .idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml -# Gradle: +# Gradle .idea/**/gradle.xml .idea/**/libraries +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +.idea/artifacts +.idea/compiler.xml +.idea/jarRepositories.xml +.idea/modules.xml +.idea/*.iml +.idea/modules +*.iml +*.ipr + # CMake -cmake-build-debug/ +cmake-build-*/ -# Mongo Explorer plugin: +# Mongo Explorer plugin .idea/**/mongoSettings.xml -## File-based project format: +# File-based project format *.iws -## Plugin-specific files: - # IntelliJ -/out/ +out/ # mpeltonen/sbt-idea plugin .idea_modules/ @@ -52,22 +68,95 @@ crashlytics.properties crashlytics-build.properties fabric.properties -### Intellij+iml Patch ### -# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023 +# Editor-based Rest Client +.idea/httpRequests -*.iml -modules.xml -.idea/misc.xml -*.ipr +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +# +# https://github.com/github/gitignore/blob/36ce3a894d9ddff2916bc98d71380aa7167ff1d7/Global/Eclipse.gitignore +# + +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +# +# https://github.com/github/gitignore/blob/6651bca9c83572f908474fc6206ed8a80df91290/Maven.gitignore +# -### Misc. ### -.idea/kotlinc.xml -.idea/sbt.xml -.idea/vcs.xml -.idea/dbnavigator.xml +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +# https://github.com/takari/maven-wrapper#usage-without-binary-jar +.mvn/wrapper/maven-wrapper.jar # -# https://github.com/github/gitignore/blob/master/Java.gitignore +# https://github.com/github/gitignore/blob/36ce3a894d9ddff2916bc98d71380aa7167ff1d7/Java.gitignore # # Compiled class file @@ -85,6 +174,7 @@ modules.xml # Package Files # *.jar *.war +*.nar *.ear *.zip *.tar.gz @@ -94,27 +184,46 @@ modules.xml hs_err_pid* # -# https://github.com/github/gitignore/blob/master/Maven.gitignore +# https://github.com/github/gitignore/blob/320a610b9ffba3ff28166370b6dd9f73096e34b7/Global/macOS.gitignore # -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon -# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored) -!/.mvn/wrapper/maven-wrapper.jar + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk # -# Misc. +# https://github.com/github/gitignore/blob/320a610b9ffba3ff28166370b6dd9f73096e34b7/Global/TextMate.gitignore # -*.db -logs/ -.logs +*.tmproj +*.tmproject +tmtags + +# +# Project specific +# src/test/resources/adyen.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..73f69e09 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 1f7287cf..00000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/copyright/apache.xml b/.idea/copyright/apache.xml index 963683f9..f1d53318 100644 --- a/.idea/copyright/apache.xml +++ b/.idea/copyright/apache.xml @@ -1,9 +1,6 @@ - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 81a68693..28609b6d 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,7 +1,9 @@ - + + + - + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 2b9fc3b0..2c340720 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -1,29 +1,39 @@