-
Notifications
You must be signed in to change notification settings - Fork 9
Contribute
Contribution is always welcome!
- [Template Element Page](Template Element Page)
Always write some tests to prove the functionality and stability for new elements and tools. Run basic tests to have a high chance that automatic build and test will not fail.
./test-roject.sh
Intended for collaborators which has write permission but does also work if you use a fork.
Submodule gives the possibility to always change/extend this library without waiting for new releases. Alternative you can create snapshots for your own, but this would mean always to change and build your snapshot before you can use the changes in your current project.
On command line switch into your project folder and add your specific espresso-macchiato team branch as submodule
git submodule add -b collaborator/my-team git://github.com/nenick/espresso-macchiato.git
Include espresso-macchiato modules in your settings.gradle
include ':espresso-macchiato'
project(':espresso-macchiato').projectDir = new File(rootDir, "espresso-macchiato/espresso-macchiato")
include ':uiautomator-noop'
project(':uiautomator-noop').projectDir = new File(rootDir, "espresso-macchiato/uiautomator-noop")
In your modules change espresso-macchiato dependency to new submodule
androidTestCompile project(':espresso-macchiato')
Now the espresso-machiato is ready to enjoy.
For test module the dependency resolution is different than for application and library modules and a confusing error may popup. The solution is to exclude conflicting dependencies.
compile(project(':espresso-macchiato')) { exclude module: 'design' }
Error message
Error:(73) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Display1'.
Error:(76) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Caption'.
Error:(77) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Caption'.
Error:(80) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Caption'.
Error:(83) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Caption'.
Error:(90) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Button'.
Error:(97, 5) No resource found that matches the given name: attr 'textAllCaps'.
Error:(102, 5) No resource found that matches the given name: attr 'elevation'.
Error:(113, 5) No resource found that matches the given name: attr 'backgroundTint'.
Error:(113, 5) No resource found that matches the given name: attr 'elevation'.
Error:(122, 5) No resource found that matches the given name: attr 'elevation'.
Error:(131, 5) No resource found that matches the given name: attr 'elevation'.
To see changes for espresso-macchiato and committing them its necessary go to Settings > Version Control
and add the espresso-macchiato VCS root. The espresso-macchiato VCS root should already be listed but must be selected and then press +
.
git submodule update --init --recursive
One drawback of submodules is you must push espresso-macchiato changes separately within your project. Select espresso-macchiato folder or change on command line into it and then commit/push your changes.
New clone from espresso-macchiato repository.
git clone https://github.com/nenick/espresso-macchiato.git
Checkout collaborator branch so it can be merged.
cd espresso-macchiato
git checkout collaborator/..
You can first try out and inspect all changes with
git merge --squash branchName
Merge master into collaborator branch.
git merge --no-ff master
Merge collaborator into master branch.
git checkout master
git merge --no-ff collaborator/ateam
The --no-ff option keeps the history for commits from where and when they was merged. So they can easly be analyzed and reverted if necessary.
Finish RELEASE_NOTES.md and run following command from your PC (change version!):
./gradlew :espresso-macchiato:release -Prelease.version=1.2.0
This command will do and trigger:
- do: check current git status for not synchronized changes
- do: create new release tag with given release.version
- do: push release tag to github
- trigger: circle ci to build and test the release tag
- trigger: circle ci to push the release artifacts to github
- trigger: circle ci to push the release artifacts to bintray
When last trigger was successful the release is ready to use.
As last step update the version number at: