Skip to content

Merge branch 'master' into Development #424

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 150 commits into from
Aug 1, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
ccf016d
Refresh the OAuth token when it expires
rajulbhatnagar Jul 23, 2016
7ccf228
Fix my siliness and provide API consumers a way to provide their refr…
rajulbhatnagar Jul 23, 2016
1ac8fa3
add query from hatched eggs + rewrite stuff around EggPokemon
vmarchaud Jul 23, 2016
1be9f75
fix the explaination for eclipse user
vmarchaud Jul 23, 2016
37a9850
Level enum public for custom loggers
Jari27 Jul 23, 2016
4ebe910
Publish sources jar
langerhans Jul 24, 2016
0db0742
Merge pull request #165 from rajulbhatnagar/googleauth_refresh
Grover-c13 Jul 24, 2016
69a5521
Merge pull request #169 from langerhans/lh/sources-jar
Grover-c13 Jul 24, 2016
5a7fcc4
Merge pull request #168 from Sadye/customloggers
Grover-c13 Jul 24, 2016
2a1fe2f
add license to GoogleLoginSecrets
jabbink Jul 24, 2016
995313a
Use a reset instead of using another instance
Hindi Jul 24, 2016
c7e4b65
Fix the checkstyle config to not break other modules
jabbink Jul 24, 2016
c954d6a
Merge pull request #177 from jabbink/fix/checkstyle
jabbink Jul 24, 2016
797f45e
Merge pull request #170 from jabbink/fix/licenseGoogleLoginSecrets
jabbink Jul 24, 2016
f544f80
Merge branch 'Development' of git://github.com/vmarchaud/PokeGOAPI-Ja…
jabbink Jul 24, 2016
80c8052
Merge branch 'vmarchaud-Development' into Development
jabbink Jul 24, 2016
562781f
find Pokemon by ID
jabbink Jul 24, 2016
c347392
Merge pull request #178 from jabbink/feature/fetchPokemonById
jabbink Jul 24, 2016
bf56011
Meta info on pokemon
Grover-c13 Jul 24, 2016
adab2ab
Merge pull request #179 from Grover-c13/Meta
Grover-c13 Jul 24, 2016
0aed3de
add method the incubator
vmarchaud Jul 24, 2016
6178463
fix typo
vmarchaud Jul 24, 2016
befed93
Add a callback for when the Initial oAuth completes so that the app c…
rajulbhatnagar Jul 24, 2016
3204bb7
Merge pull request #181 from rajulbhatnagar/gauth_hook
Grover-c13 Jul 24, 2016
f91890a
Merge pull request #180 from vmarchaud/Development
Grover-c13 Jul 24, 2016
4a91a97
Merge pull request #173 from Hindi/inventoryForceUpdate
Grover-c13 Jul 24, 2016
72ee8b7
Power up pokemon API
Grover-c13 Jul 24, 2016
1500ef9
Merge pull request #182 from Grover-c13/Meta
Grover-c13 Jul 24, 2016
49c9d7b
Add info about native google sign in
langerhans Jul 24, 2016
c2d302b
Merge pull request #184 from langerhans/patch-2
Grover-c13 Jul 24, 2016
5f37734
REAME.md: fix Usefull->Useful typo
lostgoat Jul 24, 2016
1a08b01
README.md: fix PtcLogin classname type
lostgoat Jul 24, 2016
34fc0e7
fix force updating inventories
jabbink Jul 24, 2016
742cc13
Merge pull request #190 from jabbink/fix/forceUpdateInventories
jabbink Jul 24, 2016
4831b9f
Merge pull request #187 from lostgoat/Development
Grover-c13 Jul 25, 2016
63670d0
Fix incorrect static statements on point
Jul 25, 2016
ccf1f7f
Merge pull request #202 from leelavery/Development
Grover-c13 Jul 25, 2016
82cd09f
Added iv calculator (#207)
sadye Jul 25, 2016
b2f6856
take care that the candies actually are in the map
vmarchaud Jul 25, 2016
efc490f
forgot that cancerous check style
vmarchaud Jul 25, 2016
6bf01f6
Merge pull request #225 from vmarchaud/Development
vmarchaud Jul 25, 2016
7b3662e
tweak checkstyle config to be friendly (#226)
vmarchaud Jul 26, 2016
4fb350f
Add cause to LoginFailedExceptions. (#220)
TwoStone Jul 26, 2016
612e3af
Remove printStackTrace from updateProfile (#221)
jabbink Jul 26, 2016
0d5e80e
Added request to add modifiers to forts, for example a lure-module on…
aschlosser Jul 26, 2016
1a44e76
Added SetFavoritePokemon method (#222)
Jul 26, 2016
b75a434
add lombok to more objects (#212)
FabianTerhorst Jul 26, 2016
3543350
getItemsCount function (#224)
ramarro123 Jul 26, 2016
3413809
Rewrote and Refactored login logic. Now the credential providers tran…
rajulbhatnagar Jul 26, 2016
89697f2
Update the protobuf dependency (#235)
jabbink Jul 26, 2016
76fb2b5
WIP: Gym/Battle (#203)
Grover-c13 Jul 26, 2016
b6dfe0c
Deprecate pokemon.getFavorite, rename to pokemon.isFavorite (#230)
sadye Jul 26, 2016
ce8829a
Use gradle-wrapper instead (#200)
RichoDemus Jul 26, 2016
1c5dec0
Fix typos (#218)
williamho Jul 26, 2016
8110d7b
Merge branch 'rewrote_login' of git://github.com/rajulbhatnagar/PokeG…
jabbink Jul 26, 2016
b1ef3e5
Fix UTF-8 encoding
jabbink Jul 26, 2016
c8f14e2
Fix typo recieved -> received
jabbink Jul 26, 2016
b77559c
fix example
jabbink Jul 26, 2016
819d02d
Merge pull request #234
jabbink Jul 26, 2016
24c67c1
Consistently use RemoteServerException for network/server errors (#243)
jabbink Jul 26, 2016
a64020a
Redone meta pm, lots of info available, several enums for pokemon (so…
Grover-c13 Jul 26, 2016
974a27a
fix #237 + #227 (#240)
vmarchaud Jul 26, 2016
271e47f
Update protobufs to latest version
jabbink Jul 26, 2016
7056682
Merge pull request #249 from jabbink/update/protobuf
vmarchaud Jul 26, 2016
ee28406
Add getPoints() to gym wrapper (#247)
guipenedo Jul 26, 2016
858c693
Fix #171 - Implement logging levels
Aphoh Jul 27, 2016
5eb25d3
Merge pull request #264 from Aphoh/aphoh/logLevels
Aphoh Jul 27, 2016
a0e25e4
Hypno should actually be in FAMILY_DROWZEE (#262)
Sheigutn Jul 27, 2016
1d12698
Update README.md (#257)
EdbertChan Jul 27, 2016
7df5857
added the ability to use potions & revive on pokemon (#236)
ramarro123 Jul 27, 2016
73d8dca
added a request to accept level up rewards and unlocks (#259)
aschlosser Jul 27, 2016
025aa4a
Fix silly error
Aphoh Jul 27, 2016
6cad7d0
Merge pull request #268 from Aphoh/aphoh/logLevels
Aphoh Jul 27, 2016
0f67ecf
Rewrite readme with all new stuff
vmarchaud Jul 27, 2016
f281522
abstract time behavior to allow mocking and replacing the time by non…
jabbink Jul 27, 2016
85d0304
set time implementation correctly (#282)
jabbink Jul 27, 2016
800e16f
settings via DownloadSettings + protobuf update (#285)
ramarro123 Jul 28, 2016
11be6a2
Added CP based calculations (#272)
pvanassen Jul 28, 2016
6af3f18
Add usage instructions for Eclipse users (#290)
Jul 28, 2016
b0f594e
fix for #279 (#292)
ramarro123 Jul 28, 2016
88c496a
check and equip badges
Jul 28, 2016
835e6f1
check and equip badges
Jul 28, 2016
79e0d99
Automatic google login with username and password (#265)
svarzee Jul 28, 2016
f9e9162
svarzee-Development (#297)
Grover-c13 Jul 28, 2016
a596307
Checkstyle will not stop you building now, but you are still expected…
Grover-c13 Jul 28, 2016
ed0cd32
gdev (#305)
Grover-c13 Jul 28, 2016
efd2f85
added PokemonMoveMeta + Registry (#298)
stefan-karger Jul 28, 2016
a2828da
modify build process to generate javadoc and one bundled jar + fix ch…
vmarchaud Jul 28, 2016
3a92172
add javadoc link to readme
vmarchaud Jul 28, 2016
2fac026
Added weight getter to Pokemon.java (#309)
Sheigutn Jul 28, 2016
8730a67
trigger bundle after creating the jar
vmarchaud Jul 28, 2016
338ebc5
bundle is done for every build now
vmarchaud Jul 28, 2016
4b166d0
Added new oauth for google user interaction to supercede GoogleCreden…
Grover-c13 Jul 28, 2016
866b250
delete old google token provider since its working + add explain on e…
vmarchaud Jul 28, 2016
6d9471f
Correct, organize, and format README
AbandonedCart Jul 28, 2016
ccd367f
fix styles
vmarchaud Jul 28, 2016
c446a95
Merge pull request #317 from AbandonedCart/Development
vmarchaud Jul 28, 2016
1ff0e55
Update the readme example to use the latest google provider
vmarchaud Jul 28, 2016
ee0f02e
add javadoc
Jul 28, 2016
52c06b6
added getter to get refresh token for GoogleAutoProvider + constructo…
vmarchaud Jul 28, 2016
b00f01c
Merge branch 'Development' of github.com:Grover-c13/PokeGOAPI-Java in…
vmarchaud Jul 28, 2016
747edb2
Feature request Issue 311
Jul 28, 2016
7e04aed
- replaced for loop by iterator because of concurrent modification in…
BjornWater Jul 28, 2016
c602124
Merge pull request #323 from pvanassen/absolute-max
vmarchaud Jul 28, 2016
bdfbf73
Merge pull request #294 from ramarro123/badges
vmarchaud Jul 28, 2016
a2a0606
update readme with slack invitation link
vmarchaud Jul 28, 2016
3190745
hotfix spamming request when constructing PokemonGo instance
vmarchaud Jul 28, 2016
dcaa793
Merge pull request #328 from Grover-c13/development
vmarchaud Jul 28, 2016
ae8fa8b
test
Jul 29, 2016
2e1e4cd
test
Jul 29, 2016
8c8c4da
Merge pull request #339 from ramarro123/Development
vmarchaud Jul 29, 2016
abf447c
-also changed update method of gyms to use iterator
BjornWater Jul 29, 2016
b28a01b
Upgrade gpsoauth
svarzee Jul 29, 2016
ef8079b
Merge pull request #347 from svarzee/Development
Aphoh Jul 29, 2016
8caf49f
- fixed styling
BjornWater Jul 29, 2016
65c8819
Cleaned up some doc blocks (#352)
mashurex Jul 30, 2016
2b05b26
Added Util class to get Name for Pokedex Numbers, Also added Translat…
CaptnBlubber Jul 30, 2016
dad8a4a
Fixed hasLurePokemon() from always returning false unless the lure mo…
s7092910 Jul 30, 2016
67fc508
Merge pull request #324 from BjornWater/concurrentmodificationexception
vmarchaud Jul 30, 2016
6cec95d
Merge pull request #355 from s7092910/HasLurePokemonFix
vmarchaud Jul 30, 2016
af59637
Async implementation based in Futures (#360)
pvanassen Jul 30, 2016
8621643
Sync list (#370)
Grover-c13 Jul 30, 2016
3df35da
Add moves to pokemon meta registry (#368)
jacaru Jul 30, 2016
3548343
Fix get catchablePokemon (#386)
Grover-c13 Jul 31, 2016
2d885ca
Make constructor lightweight (#388)
Grover-c13 Jul 31, 2016
21c60d3
Implemented inventory settings (#376)
pvanassen Jul 31, 2016
4726d04
added support for incense activation (#314)
Jul 31, 2016
adb4c3a
Changed private fields to protected to allow extending of the Provide…
s7092910 Jul 31, 2016
2e7a99f
Optimize imports (#390)
Cyperghost Jul 31, 2016
7166dcc
added Japanese pokemon names and fixed garbled characters in Russian …
jiftechnify Jul 31, 2016
84370d5
Fort details should be doubles instead of longs (#393)
pvanassen Jul 31, 2016
3ace44a
https://github.com/Grover-c13/PokeGOAPI-Java/issues/378 (#392)
pvanassen Jul 31, 2016
d635044
Fix import.*, fix other checkstyle stuff, fix NPE when getting stats …
Grover-c13 Jul 31, 2016
ce63142
Add evolution auxiliaries (#400)
svarzee Jul 31, 2016
3c2a4d8
fix infinite loop when pokemon flees using catch(), removed pokemon f…
Grover-c13 Jul 31, 2016
6ffbacf
fix infinite loop when pokemon flees using catch(), removed pokemon f…
Grover-c13 Jul 31, 2016
d9afc70
catchfix (#404)
Grover-c13 Jul 31, 2016
4eb9b29
Lucky egg for spinnix yay
Grover-c13 Jul 31, 2016
f9255ec
useLuckyEgg() in ItemBag for spinnix,
Grover-c13 Jul 31, 2016
b0ef458
Merge branch 'catchfix' into Development
Grover-c13 Jul 31, 2016
698f650
.
Grover-c13 Jul 31, 2016
82fefdb
Remove print
Grover-c13 Jul 31, 2016
9717bc2
Fixes an ArrayOutOfBoundsException (#411)
Psifour Aug 1, 2016
e076965
Extra log levels: all and none (#409)
sadye Aug 1, 2016
0c5e008
Adding Sorting Map Objects (#396)
Cyperghost Aug 1, 2016
bf0a997
luresfixesandgoodtimes (#418)
Grover-c13 Aug 1, 2016
e97785e
updated moves (#416)
stefan-karger Aug 1, 2016
ccbba7c
Adding the check if the user have enough poke ball´s (#397)
Cyperghost Aug 1, 2016
5b7fb6a
updating submodule to latest (#419)
Grover-c13 Aug 1, 2016
5e9713b
Merge branch 'master' into Development
Grover-c13 Aug 1, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 102 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
Pokemon GO Java API

[![Build Status](https://travis-ci.org/Grover-c13/PokeGOAPI-Java.svg?branch=master)](https://travis-ci.org/Grover-c13/PokeGOAPI-Java)
[![](https://jitpack.io/v/Grover-c13/PokeGOAPI-Java.svg)](https://jitpack.io/#Grover-c13/PokeGOAPI-Java)

Javadocs : [CLICK ME](https://jitpack.io/com/github/Grover-c13/PokeGOAPI-Java/a2828da60d/javadoc/)

See this guide for adding functionality:
https://docs.google.com/document/d/1BE8O6Z19sQ54T5T7QauXgA11GbL6D9vx9AAMCM5KlRA
Expand All @@ -11,47 +14,112 @@ See this spreadsheet for RPC endpoints and progress :
https://docs.google.com/spreadsheets/d/1Xv0Gw5PzIRaVou2xrl6r7qySrcmOKjQWLBjJA73YnJM

___
:exclamation:

This API may seem unstable. This is because the backend Pokemon GO servers are unstable.
:exclamation: :exclamation: :exclamation:

In case stuff is not working as expected, wait a moment to see if the problem resolves itself automatically.
This API may have issues when the PokemonGO servers are under high load or down, in this case please wait for the official to get back up. You can check the official servers status on [IsPokemonGoDownOrNot.com](http://ispokemongodownornot.com) or [MMOServerStatus.com](http://www.mmoserverstatus.com/pokemon_go).

You may also check the status of the servers on [IsPokemonGoDownOrNot.com](http://ispokemongodownornot.com) or [MMOServerStatus.com](http://www.mmoserverstatus.com/pokemon_go).
This API doesnt fake the official client perfectly, niantic may know that you arent using the official app, we encourage you to use a alternate account to play with this API.

If you just want to use it, wait some days until the server issues are resolved (or if there is a problem with this library, you may fix it and send a PR this way).
If you are using this lib to catch pokemon and loot pokestop, take care that you arent teleporting, the servers may issue a softban against your client (its temporary, between 10 and 30 minutes in general).

:exclamation:
:exclamation: :exclamation: :exclamation:
___

# Build
- Clone the repo and cd into the folder
- `` git submodule update --init ``
- compile and package
- `` ./gradlew build bundle ``
- you should have the api bundled in ``build/libs/PokeGOAPI-Java_bundle-0.0.1-SNAPSHOT.jar``
# How to import

Import from Maven/Gradle/SBT/Leiningen using JitPack : [![](https://jitpack.io/v/Grover-c13/PokeGOAPI-Java.svg)](https://jitpack.io/#Grover-c13/PokeGOAPI-Java)

After you clicked on this link, jitpack will show you multiple build (try use the latest one since the api grow everyday).
JitPack will show an example for each dependency manager to include our API into your project.

PS : To Eclipse user, you must build once : `` ./gradlew build `` and add the generated java class for proto into eclipse source path : Right click on the project > Build path > Configure Build Path > Source > Add Folder > Select `build/generated/source/proto/main/java` > Finish
OR

# Usage
Include the API as jar from your own build, or use Maven/Gradle/SBT/Leiningen: https://jitpack.io/#Grover-c13/PokeGOAPI-Java/master-SNAPSHOT
Import JAR in Eclipse
- Right click on the project
- Select Build path > Java Build Path
- Select Libraries tab
- Select Add External JARs…
- Select `PokeGOAPI-Java/build/libs/PokeGOAPI-Java-0.0.1-SNAPSHOT.jar`
- Finish

Mostly everything is accessed through the PokemonGo class in the API package.
# Build from source
- Clone the repo and cd into the folder
- `` git submodule update --init ``
- `` ./gradlew build ``
- you should have the api jar in ``build/libs/PokeGOAPI-Java-0.0.1-SNAPSHOT.jar``

The constructor of PokemonGo class requires a AuthInfo object which can be obtained from GoogleLogin().login or PtcLogin().login, and a OkHttpClient object.
PS : for users who want to import the api into Eclipse IDE, you'll need to :
- build once : `` ./gradlew build ``
- Right click on the project
- Select Build path > Configure Build Path > Source > Add Folder
- Select `build/generated/source/proto/main/java`
- Finish

EG:
# Usage exemple (mostly how to login) :
```java
OkHttpClient httpClient = new OkHttpClient();
//Use Google
//First Ever Login. Persist info when you recieve callback
PokemonGo go = new PokemonGo(new GoogleCredentialProvider(httpClient,listner),httpClient);
//Subsequently
PokemonGo go = new PokemonGo(new GoogleCredentialProvider(httpClient,refreshToken),httpClient);
//Or use PTC

/**
* Google:
* You will need to redirect your user to GoogleUserCredentialProvider.LOGIN_URL
* Afer this, the user must signin on google and get the token that will be show to him.
* This token will need to be put as argument to login.
*/
GoogleUserCredentialProvider provider = new GoogleUserCredentialProvider(http);

// in this url, you will get a code for the google account that is logged
System.out.println("Please go to " + GoogleUserCredentialProvider.LOGIN_URL);
System.out.println("Enter authorisation code:");

// Ask the user to enter it in the standart input
Scanner sc = new Scanner(System.in);
String access = sc.nextLine();

// we should be able to login with this token
provider.login(access);
PokemonGo go = new PokemonGo(provider, httpClient);

/**
* After this, if you do not want to re-authorize the google account every time,
* you will need to store the refresh_token that you can get the first time with provider.getRefreshToken()
* ! The API does not store the refresh token for you !
* log in using the refresh token like this :
*/
PokemonGo go = new PokemonGo(new GoogleUserCredentialProvider(httpClient, refreshToken), httpClient);

/**
* PTC is much simpler, but less secure.
* You will need the username and password for each user log in
* This account does not currently support a refresh_token.
* Example log in :
*/
PokemonGo go = new PokemonGo(new PtcCredentialProvider(httpClient,username,password),httpClient);
Log.v(go.getPlayerProfile());

// After this you can access the api from the PokemonGo instance :
go.getPlayerProfile(); // to get the user profile
go.getInventories(); // to get all his inventories (Pokemon, backpack, egg, incubator)
go.setLocation(lat, long, alt); // set your position to get stuff around (altitude is not needed, you can use 1 for example)
go.getMap().getCatchablePokemon(); // get all currently Catchable Pokemon around you

// If you want to go deeper, you can directly send your request with our RequestHandler
// For example, here we are sending a request to get the award for our level
// This applies to any method defined in the protos file as Request/Response)

LevelUpRewardsMessage msg = LevelUpRewardsMessage.newBuilder().setLevel(yourLVL).build();
ServerRequest serverRequest = new ServerRequest(RequestType.LEVEL_UP_REWARDS, msg);
go.getRequestHandler().sendServerRequests(serverRequest);

// and get the response like this :

LevelUpRewardsResponse response = null;
try {
response = LevelUpRewardsResponse.parseFrom(serverRequest.getData());
} catch (InvalidProtocolBufferException e) {
// its possible that the parsing fail when servers are in high load for example.
throw new RemoteServerException(e);
}
```

##Android Dev FAQ

- I can't use the sample code! It just throws a login exception!
Expand All @@ -75,11 +143,11 @@ You can't. The Google Identity Platform uses the SHA1 fingerprint and package na
- Submit a pull request on the `Development` branch :D

## Contributors
- Grover-c13
- jabbink
- Aphoh
- zeladada
- darakath
- vmarchaud

You can join us in the slack channel #javaapi on the pkre.slack.com (you should get an invite by a bot posted somewhere in the subreddit /r/pokemongodev)
- @Grover-c13
- @jabbink
- @Aphoh
- @mjmfighter
- @vmarchaud
- @langerhans

You can join us in the slack channel #javaapi on the pkre.slack.com ([you can get invited here](https://shielded-earth-81203.herokuapp.com/))
27 changes: 19 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ buildscript {
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.7.7'
}


}

apply plugin: 'idea'
Expand All @@ -25,6 +23,7 @@ targetCompatibility = 1.7

repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}

sourceSets {
Expand All @@ -39,13 +38,11 @@ sourceSets {

// Remove all .proto definition from the final build
processResources {
exclude('**/*')
exclude('POGOProtos/')
}

// Run this task to bundle all needed dependency
task bundle(type: Jar) {
baseName = project.name + '_bundle'

from {
configurations.compile.collect {
it.isDirectory() && !it.isEmpty() ? it : zipTree(it)
Expand All @@ -54,6 +51,8 @@ task bundle(type: Jar) {
with jar
}

jar.finalizedBy(bundle)

protobuf {
// Configure the protoc executable
protoc {
Expand Down Expand Up @@ -90,11 +89,15 @@ checkstyle {
checkstyleMain.doLast {
def outputFile = file(checkstyleOutputDir + "main.xml")
if (outputFile.exists() && outputFile.text.contains("<error ")) {
throw new GradleException("There were checkstyle warnings! For more info check $outputFile")
logger.warn("!!!!-----------------------------------!!!!")
logger.warn("There were checkstyle warnings! For more info check $outputFile")
logger.warn("PLEASE CORRECT BEFORE SUBMITTING A PULLREQUEST")
logger.warn("!!!!-----------------------------------!!!!")
}
}

dependencies {
compile 'com.github.svarzee:gpsoauth-java:v0.3.0'
compile 'com.squareup.okio:okio:1.9.0'
compile 'com.squareup.moshi:moshi:1.2.0'
compile 'com.annimon:stream:1.1.1'
Expand All @@ -109,11 +112,19 @@ idea {
}
}

task sourcesJar(type: Jar) {
from sourceSets.main.java.srcDirs
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allJava
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
javadoc.failOnError(false);
javadoc.source = sourceSets.main.allJava
from javadoc.destinationDir
}

artifacts {
archives sourcesJar
archives javadocJar
}
Loading