remove outdated stuff from CONTRIBUTING.md
This commit is contained in:
parent
bdbb95110b
commit
c927f37013
@ -26,14 +26,16 @@ track of modifications and fuzzy translations. Applying translations manually
|
|||||||
skips all of the fixes and checks, and overrides the fuzzy state of strings.
|
skips all of the fixes and checks, and overrides the fuzzy state of strings.
|
||||||
|
|
||||||
Note that you cannot change the English strings on Weblate. If you have any
|
Note that you cannot change the English strings on Weblate. If you have any
|
||||||
suggestions on how to improve them, open a merge request like you would if you
|
suggestions on how to improve them, open an issue or merge request like you
|
||||||
were making code changes. This way the changes can be reviewed before the
|
would if you were making code changes. This way the changes can be reviewed
|
||||||
source strings on Weblate are changed.
|
before the source strings on Weblate are changed.
|
||||||
|
|
||||||
|
|
||||||
## Code Style
|
## Code Style
|
||||||
|
|
||||||
We follow the [Android Java style](https://source.android.com/source/code-style.html).
|
We follow the default Android Studio code formatter (e.g. `Ctrl-Alt-L`). This
|
||||||
Some key points:
|
should be more or less the same as [Android Java
|
||||||
|
style](https://source.android.com/source/code-style.html). Some key points:
|
||||||
|
|
||||||
* Four space indentation
|
* Four space indentation
|
||||||
* UTF-8 source files
|
* UTF-8 source files
|
||||||
@ -45,76 +47,35 @@ Some key points:
|
|||||||
* Braces are always used after if, for and while
|
* Braces are always used after if, for and while
|
||||||
|
|
||||||
The current code base doesn't follow it entirely, but new code should follow
|
The current code base doesn't follow it entirely, but new code should follow
|
||||||
it. We enforce some of these, but not all, via checkstyle.
|
it. We enforce some of these, but not all, via `./gradlew checkstyle`.
|
||||||
|
|
||||||
## Debugging
|
|
||||||
|
|
||||||
To get all the logcat messages by F-Droid, you can run:
|
|
||||||
|
|
||||||
adb logcat | grep `adb shell ps | grep org.fdroid.fdroid | cut -c10-15`
|
|
||||||
|
|
||||||
## Building tips
|
|
||||||
|
|
||||||
* Use gradle with `--daemon` if you are going to build F-Droid multiple times.
|
|
||||||
* If you get a message like `Could not find com.android.support:support-...`,
|
|
||||||
make sure that you have the latest Android support maven repository.
|
|
||||||
* When building as part of AOSP with `Android.mk`, make sure you have a
|
|
||||||
recent version of Gradle installed as `gradlew` will not be used.
|
|
||||||
|
|
||||||
## Running the test suite
|
## Running the test suite
|
||||||
|
|
||||||
|
Before pushing commits to a merge request, make sure this passes:
|
||||||
|
|
||||||
|
./gradlew checkstyle pmd lint
|
||||||
|
|
||||||
In order to run the F-Droid test suite, you will need to have either a real device
|
In order to run the F-Droid test suite, you will need to have either a real device
|
||||||
connected via `adb`, or an emulator running. Then, execute the following from the
|
connected via `adb`, or an emulator running. Then, execute the following from the
|
||||||
command line:
|
command line:
|
||||||
|
|
||||||
./gradlew check
|
./gradlew check
|
||||||
|
|
||||||
Note that the CI already runs the tests on an emulator, so you don't
|
Many important tests require a device or emulator, but do not work in GitLab CI.
|
||||||
necessarily have to do this yourself if you open a merge request as the tests
|
That mean they need to be run locally, and that is usually easiest in Android
|
||||||
will get run.
|
Studio rather than the command line.
|
||||||
|
|
||||||
### Running tests in Android Studio
|
For a quick way to run a specific JUnit/Robolectric test:
|
||||||
|
|
||||||
Later versions of Android Studio require tests to be run with a "Working directory"
|
./gradlew testFullDebugUnitTest --tests *LocaleSelectionTest*
|
||||||
of `$MODULE_DIR$`.
|
|
||||||
[To make this the default behaviour](https://code.google.com/p/android/issues/detail?id=158015#c11),
|
|
||||||
close any projects to get the Welcome dialog. Then choose _Configure > Project Defaults >
|
|
||||||
Run Configurations > Defaults > Android JUnit_, and change "Working directory"
|
|
||||||
to `$MODULE_DIR$`. If you already have a project setup in Android Studio, you
|
|
||||||
may also need to change the default in _Run > Edit Configurations... > Defaults >
|
|
||||||
Android JUnit_.
|
|
||||||
|
|
||||||
## Versioning
|
For a quick way to run a specific emulator test:
|
||||||
|
|
||||||
Each stable version follows the `X.Y` pattern. Hotfix releases - i.e. when a
|
./gradlew connectedFullDebugAndroidTest \
|
||||||
stable has an important bug that needs immediate fixing - will follow the
|
-Pandroid.testInstrumentationRunnerArguments.class=org.fdroid.fdroid.MainActivityExpressoTest
|
||||||
`X.Y.Z` pattern.
|
|
||||||
|
|
||||||
Before each stable release, a number of alpha releases will be released. They
|
|
||||||
will follow the pattern `X.Y-alphaN`, where `N` is the current alpha number.
|
|
||||||
These will usually include changes and new features that have not been tested
|
|
||||||
enough for a stable release, so use at your own risk. Testers and reporters
|
|
||||||
are very welcome.
|
|
||||||
|
|
||||||
The version codes use a number of digits per each of these keys: `XXXYYYZNN`.
|
## Making releases
|
||||||
So for example, 1.3.1 would be `1003150` and 0.95-alpha13 would be `95013`
|
|
||||||
(leading zeros are omitted).
|
|
||||||
|
|
||||||
Note that we use a trailing `50` for actual stable releases, so alphas are
|
See https://gitlab.com/fdroid/wiki/-/wikis/Internal/Release-Process#fdroidclient
|
||||||
limited to `-alpha49`.
|
|
||||||
|
|
||||||
This is an example of a release process for **0.95**:
|
|
||||||
|
|
||||||
* We are currently at stable **0.94**
|
|
||||||
* **0.95-alpha1** is released
|
|
||||||
* **0.95-alpha2** is released
|
|
||||||
* **0.95-alpha3** is released
|
|
||||||
* `stable-v0.95` is branched and frozen
|
|
||||||
* **0.95** is released
|
|
||||||
* A bug is reported on the stable release and fixed
|
|
||||||
* **0.95.1** is released with only that fix
|
|
||||||
|
|
||||||
As soon as a stable is tagged, master will move on to `-alpha0` on the next
|
|
||||||
version. This is a temporary measure - until `-alpha1` is released - so that
|
|
||||||
moving from stable to master doesn't require a downgrade. `-alpha0` versions
|
|
||||||
will not be tagged nor released.
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user