You can use $$name$$ to substitute the path to a referenced srclib - see
the @code{srclib} directory for details of this.
-You can use $$SDK$$ and $$NDK$$ to substitute the paths to the android
-SDK and NDK directories respectively.
+You can use $$SDK$$, $$NDK$$ and $$MVN3$$ to substitute the paths to the
+android SDK and NDK directories, and maven 3 executable respectively.
@item init=xxxx
As for 'prebuild', but runs on the source code BEFORE any other processing
takes place.
-You can use $$SDK$$ and $$NDK$$ to substitute the paths to the android
-SDK and NDK directories respectively.
+You can use $$SDK$$, $$NDK$$ and $$MVN3$$ to substitute the paths to the
+android SDK and NDK directories, and maven 3 executable respectively.
@item novcheck=yes
Don't check that the version name and code in the resulting apk are
# Prepare the source code...
root_dir = common.prepare_source(vcs, app, thisbuild,
build_dir, extlib_dir, sdk_path, ndk_path,
- javacc_path, verbose)
+ javacc_path, mvn3, verbose)
# Scan before building...
buildprobs = common.scan_source(build_dir, root_dir, thisbuild)
global options
# Read configuration...
- global build_server_always, mvn3
- build_server_always = False
- mvn3 = "mvn3"
+ globals()['build_server_always'] = False
+ globals()['mvn3'] = "mvn3"
execfile('config.py', globals())
options, args = parse_commandline()
if build_server_always:
# TODO: These are currently just hard-coded in this method. It will be a
# metadata-driven system eventually, but not yet.
def getsrclib(spec, extlib_dir, sdk_path, basepath=False):
+
name, ref = spec.split('@')
if name == 'GreenDroid':
vcs = getvcs('git',
'https://code.google.com/r/andreasschildbach-bitcoinj/', sdir, sdk_path)
vcs.gotorevision(ref)
- if subprocess.call([mvn3, 'install'], cwd=sdir) != 0:
- raise BuildException("Maven build failed for BitcoinJWallet srclib")
return sdir
if name == 'Color-Picker':
# 'sdk_path' - the path to the Android SDK
# 'ndk_path' - the path to the Android NDK
# 'javacc_path' - the path to javacc
+# 'mvn3' - the path to the maven 3 executable
# 'verbose' - optional: verbose or not (default=False)
# Returns the root directory, which may be the same as 'build_dir' or may
# be a subdirectory of it.
-def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, verbose=False):
+def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, mvn3, verbose=False):
# Optionally, the actual app source can be in a subdirectory...
if build.has_key('subdir'):
init = build['init']
init = init.replace('$$SDK$$', sdk_path)
init = init.replace('$$NDK$$', ndk_path)
+ init = init.replace('$$MVN$$', mvn3)
if verbose: print "Doing init: exec '%s' in '%s'"%(init,root_dir)
if subprocess.call(init, cwd=root_dir, shell=True) != 0:
raise BuildException("Error running init command")
prebuild = prebuild.replace('$$' + name + '$$', libpath)
prebuild = prebuild.replace('$$SDK$$', sdk_path)
prebuild = prebuild.replace('$$NDK$$', ndk_path)
+ prebuild = prebuild.replace('$$MVN3$$', mvn3)
p = subprocess.Popen(prebuild, cwd=root_dir, shell=True,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
# Read configuration...
global build_server_always, mvn3
- build_server_always = False
- mvn3 = "mvn3"
+ globals()['build_server_always'] = False
+ globals()['mvn3'] = "mvn3"
execfile('config.py', globals())
# Prepare the source code...
root_dir = common.prepare_source(vcs, app, thisbuild,
- build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, options.verbose)
+ build_dir, extlib_dir, sdk_path, ndk_path, javacc_path, mvn3, options.verbose)
# Do the scan...
buildprobs = common.scan_source(build_dir, root_dir, thisbuild)