From 5e5f0d84d1de299e4c7b788f1bdf0359579ab72b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 2 Apr 2017 18:13:10 -0700 Subject: [PATCH] Added OpenWeatherMap weather module. --- build.gradle | 20 +- lib/owm-japis-2.5.0.5.jar | Bin 0 -> 40271 bytes licenses/LICENSE.txt | 2 +- licenses/OWM JAPIs License.txt | 19 ++ mobibot.ipr | 30 +-- properties/mobibot.properties | 5 + .../net/thauvin/erik/mobibot/ReleaseInfo.java | 4 +- .../net/thauvin/erik/mobibot/Mobibot.java | 4 +- .../erik/mobibot/modules/Weather2.java | 172 ++++++++++++++++++ version.properties | 2 +- 10 files changed, 220 insertions(+), 38 deletions(-) create mode 100644 lib/owm-japis-2.5.0.5.jar create mode 100644 licenses/OWM JAPIs License.txt create mode 100644 src/main/java/net/thauvin/erik/mobibot/modules/Weather2.java diff --git a/build.gradle b/build.gradle index f136ac2..c4c58ab 100644 --- a/build.gradle +++ b/build.gradle @@ -60,18 +60,20 @@ dependencies { compile 'oro:oro:2.0.8' - compile 'org.jsoup:jsoup:1.9.2' - compile 'com.rometools:rome:1.6.1' + compile 'org.jsoup:jsoup:1.10.1' + compile 'com.rometools:rome:1.7.0' compile 'org.slf4j:slf4j-log4j12:1.7.21' - compile 'org.json:json:20160212' + compile 'org.json:json:20160810' compile 'org.ostermiller:utils:1.07.00' compile 'net.sourceforge.jweather:jweather:0.3.0@jar' compile 'net.objecthunter:exp4j:0.4.7' - compile 'org.twitter4j:twitter4j-core:4.0.4' + compile 'org.twitter4j:twitter4j-core:4.0.5' compile 'net.sf.delicious-java:delicious:1.14' + compile files('lib/owm-japis-2.5.0.5.jar') + compileOnly 'net.thauvin.erik:semver:0.9.6-beta' } @@ -136,8 +138,10 @@ task deploy(dependsOn: ['build']) { } -task release(dependsOn: ['wrapper', 'clean', 'deploy']) << { - group = 'Publishing' - description = 'Releases new version.' - isRelease = true +task release(dependsOn: ['wrapper', 'clean', 'deploy']) { + doLast { + group = 'Publishing' + description = 'Releases new version.' + isRelease = true + } } \ No newline at end of file diff --git a/lib/owm-japis-2.5.0.5.jar b/lib/owm-japis-2.5.0.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..a0ae89c200c4da9481813310189d2ac5ee9ada1b GIT binary patch literal 40271 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 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/mobibot.ipr b/mobibot.ipr index 7002b59..7febf85 100644 --- a/mobibot.ipr +++ b/mobibot.ipr @@ -38,26 +38,6 @@ - -