import glob
import os
import shutil
class PCLReferenceAssembliesPackage(Package):
def __init__(self):
Package.__init__(self,
name='PortableReferenceAssemblies',
version='2014-04-14',
sources=['http://xamarin-storage/bot-provisioning/PortableReferenceAssemblies-2014-04-14.zip'])
def build(self):
pass
# A bunch of shell script written inside python literals ;(
def install(self):
dest = os.path.join(
self.staged_prefix,
"lib",
"mono",
"xbuild-frameworks",
".NETPortable")
if not os.path.exists(dest):
os.makedirs(dest)
shutil.rmtree(dest, ignore_errors=True)
self.sh("rsync -abv -q %s/* %s" % (self.workspace, dest))
for f in glob.glob("%s/*/Profile/*/SupportedFrameworks" % dest):
self.write_xml(f)
def write_xml(self, directory):
# print "Writing iOS/Android/Mac listings for " + directory
data = {
os.path.join(directory, "MonoTouch.xml"):
"""""",
os.path.join(directory, "Xamarin.iOS.xml"):
"""""",
os.path.join(directory, "Xamarin.Android.xml"):
"""""",
os.path.join(directory, "Xamarin.Mac.xml"):
"""""",
os.path.join(directory, "Xamarin.TVOS.xml"):
"""""",
os.path.join(directory, "Xamarin.WatchOS.xml"):
"""""",
}
for filename, content in data.iteritems():
f = open(filename, "w")
f.write(content + "\n")
f.close()
PCLReferenceAssembliesPackage()