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
Setup Travis continuous integration. #686
Conversation
We'd like to see if we need to include another CI system (besides Jenkins) in our list. Examining the Travis file, does it manage that Mapsforge is a multi-language project (Android, Java) with branches based on different Android SDK versions (22, 23) ? |
I didn't even know Jenkins exists, because it didn't amend the GitHub pull requests. Anyway, as you can see Travis is extremely easy to set up and in my experience works much more reliable than Jenkins. The downside (or upside, depending on your priorities) is it's mainly a hosted service. If a branch uses a different Android SDK you need to change the "- android-22" line on that branch as well. |
Yes, why should we do this? What is the advantage over jenkins? I hate to say this, but I do not even have the time to look at travis. I am not principally opposed, but just no time.... On 17 September 2015 at 20:12, Emux notifications@github.com wrote:
|
Travis is a hosted CI attached to GitHub and can help on PR test quality. So I'd propose to skip the PR for now. |
This PR is agnostic of the specific GitHub repository, as long as it's a fork of mapsforge. It works as is on my repo, as it would on any of yours, including the official one. So you can try it on a personal GitHub repo if you want. Just flip the switch on Travis. |
Setup Travis continuous integration.
Thanks for merging. I'm sure it will make developer live easier. |
👍 |
Just playing with it, setup was easy enough. Does this give us downloadable libraries somewhere like we have on On 18 September 2015 at 18:53, Emux notifications@github.com wrote:
|
I think we should add also |
@ludwigb I believe yes, but it needs to be configured. I can have a look at it if you want. E.g. for tags I'd try this setup: http://docs.travis-ci.com/user/deployment/releases/ |
Also in |
You can only have one language. "android" is a superset of" java". |
The sample app has android:targetSdkVersion="22" in its AndroidManifest.xml. |
Target was set that way to avoid the new permissions model. |
I believe we can add oraclejdk7, then it will build on both JDKs. |
According to Google, you can't avoid the new permission system like that. But anyway, I'll update travis. |
Can you post a link? We just postpone the Samples modification to check permissions in code. |
I could not find the reference to Marshmallow. I believe the project.properties files are not used any more for gradle builds. In fact, if the build would reference Marshmellow it should fail, but it doesn't. (It's still good to have the project.properties files for Eclipse though.) |
@devemux86 Link: http://de.droidcon.com/session/whats-new-android |
..yes not all like AS with Gradle.. @schildbach thanks! |
Yes, I think I was remembering this: "But what happens to older apps, designed for Android pre-M? This video from Google I/O explains that users will still be able to revoke permissions of these apps in Android M. In this case, apps will be fed blank data, which means they won’t break, and instead they will just show empty objects…" |
If this is how it works I personally cannot wait for Android M. Sick and On 18 September 2015 at 19:38, Andreas Schildbach notifications@github.com
|
😄 |
Luckily you don't need permission to use your external cache directory from Android 4.4 onwards… |
To enable it, all the mapsforge account owner needs to do it log in on https://travis-ci.org and flip the enable switch for the mapsforge repository.
In a future update, we could add other forms of notifications. Currently, it notifies via GitHub (very convenient!) and I think email.
A preview can be seen on my account: https://travis-ci.org/schildbach/mapsforge
If you want to try out how pull requests work, just open a PR against my GitHub repo and you'll see the Travis integration.