import xml.etree.ElementTree as ET
import os

csproj_path = 'Newdelhibarassocia.csproj'
tree = ET.parse(csproj_path)
root = tree.getroot()

ns = {'ns': 'http://schemas.microsoft.com/developer/msbuild/2003'}

compile_files = []
for compile_elem in root.findall('.//ns:Compile', ns):
    include_val = compile_elem.attrib.get('Include')
    if include_val and include_val.endswith('.cs'):
        include_val = include_val.replace('\\', '/')
        if os.path.exists(include_val):
            compile_files.append(include_val)

print(f"Total files: {len(compile_files)}")

with open('compile.sh', 'w', newline='\n') as f:
    f.write('#!/bin/bash\n')
    f.write('mcs -target:library -out:bin/Newdelhibarassocia.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Web.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Data.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Configuration.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Web.Extensions.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Web.Services.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Xml.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Xml.Linq.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Drawing.dll \\\n')
    f.write('  -r:/usr/lib/mono/4.5/System.Core.dll \\\n')
    f.write('  -r:bin/Newtonsoft.Json.dll \\\n')
    f.write('  -r:bin/AjaxControlToolkit.dll \\\n')
    f.write('  -r:bin/itextsharp.dll \\\n')
    f.write('  -r:bin/getepay-sdk.dll \\\n')
    for cf in compile_files:
        f.write(f'  "{cf}" \\\n')
    f.write('  admin/Class1.cs\n')
