Skip to content

Commit

Permalink
Gradle: Read build info from Jenkins' environment instead of using sed
Browse files Browse the repository at this point in the history
  • Loading branch information
TheDrHax committed Aug 10, 2018
1 parent 4949af4 commit 601b678
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 34 deletions.
11 changes: 0 additions & 11 deletions Jenkinsfile
Expand Up @@ -11,17 +11,6 @@ node('android') {
git branch: env.BRANCH_NAME, credentialsId: cred_git, url: repo_url
}

stage('Prepare') {
sh """
if ! echo $BRANCH_NAME | grep -Eq '(play|beta)'; then
sed -i "s/\\(versionName \\)\\"[0-9\\.]*\\"/\\1\\"$BRANCH_NAME-#$BUILD_NUMBER\\"/" app/build.gradle
sed -i "s/\\(android:defaultValue=\\)\\"play\\"/\\1\\"$BRANCH_NAME\\"/" app/src/main/res/xml/preferences.xml
sed -i "s/\\(\\"pref_updater_branch\\", \\)\\"play\\"/\\1\\"$BRANCH_NAME\\"/" app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
sed -i "s/\\(\\"pref_updater_build\\", \\)0/\\1$BUILD_NUMBER/" app/src/main/java/pw/thedrhax/mosmetro/updater/UpdateCheckTask.java
fi
"""
}

stage('Build') {
sh 'gradle build'
sh """
Expand Down
6 changes: 6 additions & 0 deletions app/build.gradle
Expand Up @@ -12,6 +12,12 @@ android {
versionCode 70
versionName "1.8.3.2"

// Jenkins build info
def branch_name = System.getenv("BRANCH_NAME") ?: "play"
buildConfigField "String", "BRANCH_NAME", "\"$branch_name\""
buildConfigField "Integer", "BUILD_NUMBER", System.getenv("BUILD_NUMBER") ?: "0"
resValue "string", "build_branch_name", "\"$branch_name\""

// GitHub Pages
buildConfigField "String", "\$GITHUB", "\"https://mosmetro-android.github.io\""
buildConfigField "String", "NEWS_URL", "\$GITHUB + \"/news.json\""
Expand Down
Expand Up @@ -98,7 +98,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
screen.addPreference(experimental);

final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity());
String current_branch = settings.getString("pref_updater_branch", "play");
String current_branch = settings.getString("pref_updater_branch", Version.getBranch());
for (final UpdateCheckTask.Branch branch : branches) {
CheckBoxPreference pref = new CheckBoxPreference(getActivity()) {
@Override
Expand Down
Expand Up @@ -79,7 +79,7 @@ protected Void doInBackground (Boolean... force) {

// Retrieve info from server
String content = retriever.get(UPDATE_INFO_URL, 60*60,
"{\"" + settings.getString("pref_updater_branch", "play") + "\":" +
"{\"" + settings.getString("pref_updater_branch", Version.getBranch()) + "\":" +
"{\"url\":\"none\",\"by_build\":\"0\",\"version\":\"0\",\"message\":\"none\"}}",
CachedRetriever.Type.JSON
);
Expand All @@ -104,7 +104,7 @@ protected Void doInBackground (Boolean... force) {
continue;
}

if (branch.name.equals(settings.getString("pref_updater_branch", "play"))) {
if (branch.name.equals(settings.getString("pref_updater_branch", Version.getBranch()))) {
current_branch = branch;
}

Expand Down
26 changes: 9 additions & 17 deletions app/src/main/java/pw/thedrhax/util/Version.java
Expand Up @@ -20,6 +20,8 @@

import android.support.annotation.NonNull;

import java.util.Locale;

import pw.thedrhax.mosmetro.BuildConfig;

/**
Expand All @@ -41,28 +43,18 @@ public static int getVersionCode() {
}

@NonNull public static String getFormattedVersion() {
return getVersionName() + "-" + getVersionCode();
if (getBranch().equals("play")) {
return getVersionName();
} else {
return String.format(Locale.ENGLISH,"%s #%d", getBranch(), getBuildNumber());
}
}

// TODO: Store branch name in app.gradle
@NonNull public static String getBranch() {
String version_name = Version.getVersionName();

if (version_name.contains("#")) {
return version_name.substring(0, version_name.indexOf("#") - 1);
} else {
return "play";
}
return BuildConfig.BRANCH_NAME;
}

// TODO: Store build number in app.gradle
public static int getBuildNumber() {
String version_name = Version.getVersionName();

if (version_name.contains("#")) {
return Integer.parseInt(version_name.substring(version_name.indexOf("#") + 1));
} else {
return 0; // play or beta are currently installed
}
return BuildConfig.BUILD_NUMBER;
}
}
2 changes: 1 addition & 1 deletion app/src/main/res/values-ru/strings.xml
Expand Up @@ -19,7 +19,7 @@
<string name="error" formatted="false">Ошибка: %s</string>
<string name="not">не</string>
<string name="try_out_of" formatted="false">попытка %d из %d</string>
<string name="version" formatted="false">Версия приложения: %s</string>
<string name="version" formatted="false">Версия: %s</string>
<string name="show_debug_log">Показать подробные сообщения</string>
<string name="clipboard_copy">Текст скопирован в буфер обмена</string>
<string name="screen_clear">Очистить экран</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Expand Up @@ -21,7 +21,7 @@
<string name="error" formatted="false">Error: %s</string>
<string name="not">not</string>
<string name="try_out_of" formatted="false">try %d out of %d</string>
<string name="version" formatted="false">Application version: %s</string>
<string name="version" formatted="false">Version: %s</string>
<string name="show_debug_log">Show verbose messages</string>
<string name="clipboard_copy">Text copied to clipboard</string>
<string name="screen_clear">Clear screen</string>
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/xml/preferences.xml
Expand Up @@ -62,7 +62,7 @@
android:key="pref_updater_branch"
android:title="@string/pref_updater_branch"
android:summary="@string/pref_updater_branch_summary"
android:defaultValue="play"
android:defaultValue="@string/build_branch_name"
android:enabled="false" />

</PreferenceCategory>
Expand Down

0 comments on commit 601b678

Please sign in to comment.