From dfa68bce2f8e1673cbb724906742dd06f3ed0a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 17:36:54 +0200 Subject: Clone ics-openvpn repository with gradle hg plugin --- build.gradle | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 0ffc7372..1e02488c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,13 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +import au.com.coherentsoftware.gradle.mercurial.task.* + buildscript { repositories { mavenCentral() + jcenter() } dependencies { classpath 'com.android.tools.build:gradle:0.9.+' + classpath 'au.com.coherentsoftware.gradle:Gradle-MercurialMqPlugin:1.1.0+' } } @@ -13,3 +16,10 @@ allprojects { mavenCentral() } } + +apply plugin: 'mercurial-mq' + +task cloneProject( type: HgClone ) { + sourceUrl = 'https://code.google.com/p/ics-openvpn/' + workingDir = '.' +} \ No newline at end of file -- cgit v1.2.3 From 2fafdddda7d1530b227f0c6b858473eb06ccffd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 17:41:45 +0200 Subject: update ics-openvpn code gradle task --- build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 1e02488c..85eb20e0 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,12 @@ allprojects { apply plugin: 'mercurial-mq' -task cloneProject( type: HgClone ) { +task cloneIcsOpenVPN( type: HgClone ) { sourceUrl = 'https://code.google.com/p/ics-openvpn/' workingDir = '.' +} + +task updateIcsOpenVPN( type: HgUpdate ) { + workingDir = 'ics-openvpn' + branch = 'default' } \ No newline at end of file -- cgit v1.2.3 From dac8d8e2fa1317091686a66b29763b2e33537255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 17:54:17 +0200 Subject: Pull before updating ics-openvpn hg repository --- build.gradle | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 85eb20e0..2103b009 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,12 @@ task cloneIcsOpenVPN( type: HgClone ) { workingDir = '.' } -task updateIcsOpenVPN( type: HgUpdate ) { +task updateIcsOpenVPN( type: HgUpdate, dependsOn: 'pullIcsOpenVPN' ) { workingDir = 'ics-openvpn' branch = 'default' +} + +task pullIcsOpenVPN( type: HgPull ) { + sourceUrl = 'https://code.google.com/p/ics-openvpn/' + workingDir = 'ics-openvpn' } \ No newline at end of file -- cgit v1.2.3 From 0125b1a65c7c7cb31f0fde597b12d722c289e3f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 18:45:33 +0200 Subject: clone ics-openvpn up-to-date if its folder exists --- build.gradle | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 2103b009..90e75752 100644 --- a/build.gradle +++ b/build.gradle @@ -20,16 +20,20 @@ allprojects { apply plugin: 'mercurial-mq' task cloneIcsOpenVPN( type: HgClone ) { - sourceUrl = 'https://code.google.com/p/ics-openvpn/' - workingDir = '.' + ext.srcFile = file('build.gradle') + ext.destDir = new File('.', 'ics-openvpn') + inputs.file srcFile + outputs.dir destDir + + sourceUrl = 'https://code.google.com/p/ics-openvpn/' } task updateIcsOpenVPN( type: HgUpdate, dependsOn: 'pullIcsOpenVPN' ) { - workingDir = 'ics-openvpn' - branch = 'default' + workingDir = 'ics-openvpn' + branch = 'default' } task pullIcsOpenVPN( type: HgPull ) { - sourceUrl = 'https://code.google.com/p/ics-openvpn/' - workingDir = 'ics-openvpn' + sourceUrl = 'https://code.google.com/p/ics-openvpn/' + workingDir = 'ics-openvpn' } \ No newline at end of file -- cgit v1.2.3 From b79fd315dd89e7a9f648c6a500b41ce7d9970081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 20:05:30 +0200 Subject: Copy all java files from ics-openvpn. imports from se.leap.bitmaskclient java files have also been updated. WARNING: compiling errors for de.blinkt.openvpn.R, aidl.de.blinkt.openvpn. --- build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 90e75752..8f2dfab5 100644 --- a/build.gradle +++ b/build.gradle @@ -36,4 +36,10 @@ task updateIcsOpenVPN( type: HgUpdate, dependsOn: 'pullIcsOpenVPN' ) { task pullIcsOpenVPN( type: HgPull ) { sourceUrl = 'https://code.google.com/p/ics-openvpn/' workingDir = 'ics-openvpn' +} + +task copyIcsOpenVPNClasses( type: Copy ) { + from 'ics-openvpn/main' + into 'app' + include '**/*.java' } \ No newline at end of file -- cgit v1.2.3 From edeb42401201c9c933cc2ba8175863225c813723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 20:11:06 +0200 Subject: Copy aidl too. WARNING: there are still compiling errors, related to BuildConfig and R classes in de.blinkt.openvpn --- build.gradle | 1 + 1 file changed, 1 insertion(+) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 8f2dfab5..2e3ce0c8 100644 --- a/build.gradle +++ b/build.gradle @@ -42,4 +42,5 @@ task copyIcsOpenVPNClasses( type: Copy ) { from 'ics-openvpn/main' into 'app' include '**/*.java' + include '**/*.aidl' } \ No newline at end of file -- cgit v1.2.3 From 2d0ed30fd65ce6d5832dc857a69c8063cb8b48b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 14 May 2014 21:07:23 +0200 Subject: Filter R and BuildConfig to use ours. --- build.gradle | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 2e3ce0c8..6c667e73 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,5 @@ import au.com.coherentsoftware.gradle.mercurial.task.* +import org.apache.tools.ant.filters.ReplaceTokens buildscript { repositories { @@ -39,8 +40,15 @@ task pullIcsOpenVPN( type: HgPull ) { } task copyIcsOpenVPNClasses( type: Copy ) { - from 'ics-openvpn/main' + from ('ics-openvpn/main') { + include '**/*.java' + include '**/*.aidl' + filter { + line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') + } + filter { + line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') + } + } into 'app' - include '**/*.java' - include '**/*.aidl' } \ No newline at end of file -- cgit v1.2.3 From 5e73a8122cc7b1db34044c833f4d3f78ad64b99f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 15 May 2014 01:23:39 +0200 Subject: remove ics-openvpn strings from strings.xml I privilege ics-openvpn translation to ours. If we need to change something, we can introduce a new xml element without any future compatibility problem with ics-openvpn. --- build.gradle | 95 +++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 65 insertions(+), 30 deletions(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 6c667e73..76d60d0b 100644 --- a/build.gradle +++ b/build.gradle @@ -2,53 +2,88 @@ import au.com.coherentsoftware.gradle.mercurial.task.* import org.apache.tools.ant.filters.ReplaceTokens buildscript { - repositories { - mavenCentral() - jcenter() - } - dependencies { - classpath 'com.android.tools.build:gradle:0.9.+' - classpath 'au.com.coherentsoftware.gradle:Gradle-MercurialMqPlugin:1.1.0+' - } + repositories { + mavenCentral() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.9.+' + classpath 'au.com.coherentsoftware.gradle:Gradle-MercurialMqPlugin:1.1.0+' + } } allprojects { - repositories { - mavenCentral() - } + repositories { + mavenCentral() + } } apply plugin: 'mercurial-mq' task cloneIcsOpenVPN( type: HgClone ) { - ext.srcFile = file('build.gradle') - ext.destDir = new File('.', 'ics-openvpn') - inputs.file srcFile - outputs.dir destDir + ext.srcFile = file('build.gradle') + ext.destDir = new File('.', 'ics-openvpn') + inputs.file srcFile + outputs.dir destDir - sourceUrl = 'https://code.google.com/p/ics-openvpn/' + sourceUrl = 'https://code.google.com/p/ics-openvpn/' } task updateIcsOpenVPN( type: HgUpdate, dependsOn: 'pullIcsOpenVPN' ) { - workingDir = 'ics-openvpn' - branch = 'default' + workingDir = 'ics-openvpn' + branch = 'default' } task pullIcsOpenVPN( type: HgPull ) { - sourceUrl = 'https://code.google.com/p/ics-openvpn/' - workingDir = 'ics-openvpn' + sourceUrl = 'https://code.google.com/p/ics-openvpn/' + workingDir = 'ics-openvpn' } task copyIcsOpenVPNClasses( type: Copy ) { - from ('ics-openvpn/main') { - include '**/*.java' - include '**/*.aidl' - filter { - line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') - } - filter { - line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') + from ('ics-openvpn/main') { + include '**/*.java' + include '**/*.aidl' + include '**/strings.xml' + + rename 'strings.xml', 'strings-icsopenvpn.xml' + filter { + line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') + } + filter { + line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') + } + } + into 'app' +} + +def processFileInplace(file, Closure processText) { + def text = file.text + file.write(processText(text)) +} + +// thanks to http://pleac.sourceforge.net/pleac_groovy/fileaccess.html +task removeDuplicatedStrings() << { + def resources_directory = new File('./app/src/main/res/') + resources_directory.eachFileRecurse { + if(it.name.equals('strings.xml')) { + def ics_openvpn_file = file(it.path.replace('strings.xml', 'strings-icsopenvpn.xml')) + def ics_openvpn_strings_names = (new XmlParser()).parse(ics_openvpn_file) + def current_file = it + + ics_openvpn_strings_names.string.each { + processFileInplace(current_file) { text -> + text.replaceAll('.*name=\"' + it.attribute('name') + '\".*(\n)*.*string>.*\n+', '') + } + } + + if(it.path.contains('/values/')) { + def untranslatable_strings_names = (new XmlParser()).parse(it.path.replace('strings.xml', 'untranslatable.xml')) + untranslatable_strings_names.string.each { + processFileInplace(ics_openvpn_file) { text -> + text.replaceAll('.*name=\"' + it.attribute('name') + '\".*(\n)*.*string>.*\n+', '') } - } - into 'app' + } + } + } + } } \ No newline at end of file -- cgit v1.2.3 From 80dc0167cf9fb91cd9373bdd2a93793f71b901dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Thu, 15 May 2014 17:41:41 +0200 Subject: Copy some necessary icons from ics-openvpn. I'm hardcoding their values based on the compilation errors (i.e., the drawables referenced by de.blinkt.openvpn.core.OpenVpnService). If a new drawable were introduced, build.gradle should be updated accordingly. --- build.gradle | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 76d60d0b..29ceb2f2 100644 --- a/build.gradle +++ b/build.gradle @@ -51,9 +51,16 @@ task copyIcsOpenVPNClasses( type: Copy ) { } filter { line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') - } - } - into 'app' + } + } into 'app' + + from ('ics-openvpn/main') { + //TODO We should detect which drawables are needed by the classes + //we need (such as de.blinkt.openvpn.core.OpenVpnService) + include '**/ic_stat_vpn_offline.png' + include '**/ic_stat_vpn_outline.png' + include '**/ic_stat_vpn_empty_halo.png' + } into 'app' } def processFileInplace(file, Closure processText) { @@ -62,7 +69,7 @@ def processFileInplace(file, Closure processText) { } // thanks to http://pleac.sourceforge.net/pleac_groovy/fileaccess.html -task removeDuplicatedStrings() << { +task removeDuplicatedStrings( dependsOn: 'copyIcsOpenVPNClasses' ) { def resources_directory = new File('./app/src/main/res/') resources_directory.eachFileRecurse { if(it.name.equals('strings.xml')) { -- cgit v1.2.3 From a7f8db4fdb308f2fcd1cc1c5013ac930cc063ec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 19 May 2014 16:51:48 +0200 Subject: bitmaskclient.R in de.blinkt.openvpn top level --- build.gradle | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 29ceb2f2..4e853f4f 100644 --- a/build.gradle +++ b/build.gradle @@ -51,7 +51,10 @@ task copyIcsOpenVPNClasses( type: Copy ) { } filter { line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') - } + } + filter { + line -> line.replace('package de.blinkt.openvpn;', 'package de.blinkt.openvpn;\n\nimport se.leap.bitmaskclient.R;') + } } into 'app' from ('ics-openvpn/main') { -- cgit v1.2.3 From baad99940a0bfa2e4c27a9cbc0f478e94b6d20ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 19 May 2014 17:44:25 +0200 Subject: Copy necessary activities and fragments. Now we need to decide what's our relationship with LogWindow and LaunchVPN, refactor its classes and fix ours so that we use the currently supported methods. --- build.gradle | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 4e853f4f..a0895556 100644 --- a/build.gradle +++ b/build.gradle @@ -44,6 +44,9 @@ task copyIcsOpenVPNClasses( type: Copy ) { include '**/*.java' include '**/*.aidl' include '**/strings.xml' + exclude '**/activities/' + exclude '**/fragments/' + exclude '**/views/' rename 'strings.xml', 'strings-icsopenvpn.xml' filter { @@ -64,6 +67,26 @@ task copyIcsOpenVPNClasses( type: Copy ) { include '**/ic_stat_vpn_outline.png' include '**/ic_stat_vpn_empty_halo.png' } into 'app' + + from ('ics-openvpn/main') { + include '**/DisconnectVPN.java' + include '**/LogWindow.java' + include '**/LogFragment.java' + include '**/log_window.xml' + filter { + line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') + } + filter { + line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') + } + filter { + line -> line.replace('package de.blinkt.openvpn;', 'package de.blinkt.openvpn;\n\nimport se.leap.bitmaskclient.R;') + } + filter { + line -> line.replace('package de.blinkt.openvpn.fragments;', 'package de.blinkt.openvpn.fragments;\n\nimport se.leap.bitmaskclient.R;') + } + + } into 'app' } def processFileInplace(file, Closure processText) { -- cgit v1.2.3 From 6fcd101fcbc7779ffd7239cc35e5c3359ae38fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Wed, 28 May 2014 17:15:44 +0200 Subject: Resources merge correctly. --- build.gradle | 86 +++--------------------------------------------------------- 1 file changed, 4 insertions(+), 82 deletions(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index a0895556..7161f174 100644 --- a/build.gradle +++ b/build.gradle @@ -20,6 +20,10 @@ allprojects { apply plugin: 'mercurial-mq' +// task checkoutIcsOpenvpn( type: GitCheckout ) { +// branch = 'ics-openvpn-upstream' +// } + task cloneIcsOpenVPN( type: HgClone ) { ext.srcFile = file('build.gradle') ext.destDir = new File('.', 'ics-openvpn') @@ -37,86 +41,4 @@ task updateIcsOpenVPN( type: HgUpdate, dependsOn: 'pullIcsOpenVPN' ) { task pullIcsOpenVPN( type: HgPull ) { sourceUrl = 'https://code.google.com/p/ics-openvpn/' workingDir = 'ics-openvpn' -} - -task copyIcsOpenVPNClasses( type: Copy ) { - from ('ics-openvpn/main') { - include '**/*.java' - include '**/*.aidl' - include '**/strings.xml' - exclude '**/activities/' - exclude '**/fragments/' - exclude '**/views/' - - rename 'strings.xml', 'strings-icsopenvpn.xml' - filter { - line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') - } - filter { - line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') - } - filter { - line -> line.replace('package de.blinkt.openvpn;', 'package de.blinkt.openvpn;\n\nimport se.leap.bitmaskclient.R;') - } - } into 'app' - - from ('ics-openvpn/main') { - //TODO We should detect which drawables are needed by the classes - //we need (such as de.blinkt.openvpn.core.OpenVpnService) - include '**/ic_stat_vpn_offline.png' - include '**/ic_stat_vpn_outline.png' - include '**/ic_stat_vpn_empty_halo.png' - } into 'app' - - from ('ics-openvpn/main') { - include '**/DisconnectVPN.java' - include '**/LogWindow.java' - include '**/LogFragment.java' - include '**/log_window.xml' - filter { - line -> line.replaceAll('de.blinkt.openvpn.R', 'se.leap.bitmaskclient.R') - } - filter { - line -> line.replaceAll('de.blinkt.openvpn.BuildConfig', 'se.leap.bitmaskclient.BuildConfig') - } - filter { - line -> line.replace('package de.blinkt.openvpn;', 'package de.blinkt.openvpn;\n\nimport se.leap.bitmaskclient.R;') - } - filter { - line -> line.replace('package de.blinkt.openvpn.fragments;', 'package de.blinkt.openvpn.fragments;\n\nimport se.leap.bitmaskclient.R;') - } - - } into 'app' -} - -def processFileInplace(file, Closure processText) { - def text = file.text - file.write(processText(text)) -} - -// thanks to http://pleac.sourceforge.net/pleac_groovy/fileaccess.html -task removeDuplicatedStrings( dependsOn: 'copyIcsOpenVPNClasses' ) { - def resources_directory = new File('./app/src/main/res/') - resources_directory.eachFileRecurse { - if(it.name.equals('strings.xml')) { - def ics_openvpn_file = file(it.path.replace('strings.xml', 'strings-icsopenvpn.xml')) - def ics_openvpn_strings_names = (new XmlParser()).parse(ics_openvpn_file) - def current_file = it - - ics_openvpn_strings_names.string.each { - processFileInplace(current_file) { text -> - text.replaceAll('.*name=\"' + it.attribute('name') + '\".*(\n)*.*string>.*\n+', '') - } - } - - if(it.path.contains('/values/')) { - def untranslatable_strings_names = (new XmlParser()).parse(it.path.replace('strings.xml', 'untranslatable.xml')) - untranslatable_strings_names.string.each { - processFileInplace(ics_openvpn_file) { text -> - text.replaceAll('.*name=\"' + it.attribute('name') + '\".*(\n)*.*string>.*\n+', '') - } - } - } - } - } } \ No newline at end of file -- cgit v1.2.3 From fb5997cf81cb0ff83a3a3b0a7858886eb9e69786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 9 Jun 2014 16:56:51 +0200 Subject: Updated to build tools 19.1. --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index 7161f174..e26c54a9 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:0.9.+' + classpath 'com.android.tools.build:gradle:0.11.+' classpath 'au.com.coherentsoftware.gradle:Gradle-MercurialMqPlugin:1.1.0+' } } -- cgit v1.2.3