Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 24 additions & 0 deletions archive/docs/How-to-propose-a-PR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#A good pull-request should contain

### Change list

There should be provided briefly described change list which are you going to propose.

### Types of changes

What types of changes are proposed/introduced to Java client?
_Put an `x` in the boxes that apply_

- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

### Details

There should be provided more details about changes if it is necessary. If there are new features you
can provide code samples which show the way they work and possible use cases. Also you can create [gists](https://gist.github.com)
with pasted java code samples or put them at a PR description using markdown. About markdown please read [Mastering markdown](https://guides.github.com/features/mastering-markdown/) and [Writing on GitHub](https://help.github.com/categories/writing-on-github/)

#Pull-request template

There is [PULL_REQUEST_TEMPLATE.md)](https://github.com/appium/java-client/blob/master/PULL_REQUEST_TEMPLATE.md) which should help you to make a good pull request.
50 changes: 50 additions & 0 deletions archive/docs/How-to-report-an-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#Be sure that it is not a server-side problem if you are facing something that looks like a bug

The Appium Java client is the thin client which just sends requests and receives responces generally.
Be sure that this bug is not reported [here](https://github.com/appium/appium/issues) and/or there is
no progress on this issue.

#The good issue report should contain

### Description

The bug report should contain a brief description of a bug.
If it is the feature request then there should be the description of this feature and the way that it should work.

### Environment (bug report)

* java client build version or git revision if you use some shapshot:
* Appium server version or git revision if you use some shapshot:
* Desktop OS/version used to run Appium if necessary:
* Node.js version (unless using Appium.app|exe) or Appium CLI or Appium.app|exe:
* Mobile platform/version under test:
* Real device or emulator/simulator:

### Details

If it is necessary there should provided more details


### Code To Reproduce Issue (good to Have if you report a bug)

It's easier to reproduce bug and much faster to fix it.
You can git clone https://github.com/appium/sample-code or https://github.com/appium/sample-code/tree/master/sample-code/apps and reproduce an issue using Java and sample apps.
Also you can create a [gist](https://gist.github.com) with pasted java code sample or paste it at ussue description using markdown. About markdown please read [Mastering markdown](https://guides.github.com/features/mastering-markdown/) and
[Writing on GitHub](https://help.github.com/categories/writing-on-github/)

### Ecxeption stacktraces (bug report)

There should be created a [gist](https://gist.github.com) with pasted stacktrace of exception thrown by java.

### Link to Appium logs

There should be created a [gist](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them to a new issue. Do _not_ paste your full Appium logs at the issue description, as it will make this issue very long and hard to read!
If you are reporting a bug, _always_ include Appium logs as linked gists! It helps to define the problem correctly and clearly.


#Issue template
There is [ISSUE_TEMPLATE.md](https://github.com/appium/java-client/blob/master/ISSUE_TEMPLATE.md) which should help you to make a good issue report.

#... And don't say that you weren't warned.

If a report is not readable and/or there is no response from a reporter and some important details are needed then the issue will be closed after some time.
31 changes: 31 additions & 0 deletions archive/docs/Installing-the-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[Download the jar from Maven](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.appium%22%20AND%20a%3A%22java-client%22) or add the following to pom.xml:

```
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>4.1.2</version>
</dependency>
```

It currently depends on selenium-java 2.53.1. If it is necessary to use another version of Selenium then you can configure pom.xml as follows:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Selenium 3.0

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SrinivasanTarget I think it is not necessary to write about the certain version which java client depends on. The fact that the client depends on Selenium java is much more important.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok fine


```
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>4.1.1</version>
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version.you.require}</version>
</dependency>
```
63 changes: 63 additions & 0 deletions archive/docs/Note-for-developers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# IDE

The **Intellij Idea** is recommended.

# Settings

## Importing the project

This is the Gradle project.

![](https://cloud.githubusercontent.com/assets/4927589/18324097/6141ef7c-7543-11e6-8661-81d631615502.png)

Be sure that:

- The `JAVA_HOME` environmental contains a path to JDK > 7

- If non built-in gradle distribution is used then its version should be > 2.1

## Compiler

This project is compiled in some not common way. We use `ecj` Eclipse Java Compiler. Below is the sample how to define this compiler by IDE.
![eclipse compiler](https://cloud.githubusercontent.com/assets/4927589/14228367/6fce184e-f91b-11e5-837c-2673446d24ea.png)

## JDK

Please check following settings:

![](https://cloud.githubusercontent.com/assets/4927589/18324490/7ffd3ba4-7545-11e6-9f22-eb028737283c.png)

![](https://cloud.githubusercontent.com/assets/4927589/18324593/f5254e3a-7545-11e6-85c5-e4c491ee268d.png)

![](https://cloud.githubusercontent.com/assets/4927589/18324648/3f4635a6-7546-11e6-966c-2949059968ac.png)

![](https://cloud.githubusercontent.com/assets/4927589/18324760/cbca4aee-7546-11e6-8cfb-e86d8018be6a.png)

![](https://cloud.githubusercontent.com/assets/4927589/18324835/2e3bfc04-7547-11e6-8f5e-981aea8f1771.png)

## Coding Standards

Appium java-client strictly follows [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) as a coding standards. Contributors are requested to follow this by configuring in their IDE's Editor Code style,

* Clone [Google Style Guide](https://github.com/google/styleguide.git) from git

**Intellij IDEA** users can configure this way,
`Files -> Other Settings -> Default Settings ->Editor -> Code Style -> Manage -> Manage -> Import -> eclipse-java-google-style.xml (Downloaded from Google Style Guide)-> Apply`

Reformat your code before raising a Pull Request.


## Code Coverage

`jacoco-maven-plugin` generates the coverage reports, once integration tests are successfully run by `maven-surefire-plugin`

**Intellij IDEA** user's can configure and view this way,
`Analyse -> show coverage Data -> Add -> Select ${basedir}/target/coverage-reports/jacoco-unit.exec (jacoco-unit.exec generated after integration test run) -> Click Show Selected -> Coverage Results displayed in IDE`

# Please do not forget to check the code before the pull-request proposal.

It is needed to go to the directory where `java_client` is located. You can do it via command line. And then run the following command

`gradle check`. If everything is ok then all checks should be passed. Otherwise you can open reports at `JAVA_CLIENT_DIRECTORY/build/reports`

**The adding of new tests is required when new feature is added or some bug is fixed.**
Loading