static int CreateSourceListAndCompile(string jdkFolder, JDKVersion jdkTarget, string originFolder, IEnumerable <string> assemblies, int timeout) { int counter = 0; var tmpFile = Path.Combine(originFolder, Const.FileNameAndDirectory.SourceFile); StringBuilder sb = new StringBuilder(); foreach (var assembly in assemblies) { foreach (var item in Directory.EnumerateFiles(Path.Combine(originFolder, assembly), "*.java", SearchOption.AllDirectories)) { sb.AppendLine(item); counter++; } } File.WriteAllText(tmpFile, sb.ToString()); var jcoBridgePath = Path.GetDirectoryName(typeof(JavaBuilder).Assembly.Location); var jcoBridgeCp = Path.Combine(jcoBridgePath, "JCOBridge.jar"); if (jdkTarget == JDKVersion.NotSet) { launchProcess(originFolder, Path.Combine(jdkFolder, JavaCompiler), "-cp " + jcoBridgeCp + " @" + Const.FileNameAndDirectory.SourceFile, timeout); } else { string compatibility = string.Format(" -source {0} -target {0}", (int)jdkTarget); // -bootclasspath rt{0}.jar launchProcess(originFolder, Path.Combine(jdkFolder, JavaCompiler), "-cp " + jcoBridgeCp + compatibility + " @" + Const.FileNameAndDirectory.SourceFile, timeout); } return(counter); }
static int CreateSourceListAndGenerateDocs(string jdkFolder, JDKVersion jdkTarget, string originFolder, string destinationFolder, IEnumerable <string> assemblies, int timeout) { int counter = 0; var tmpFile = Path.Combine(originFolder, Const.FileNameAndDirectory.SourceFile); StringBuilder sb = new StringBuilder(); foreach (var assembly in assemblies) { foreach (var item in Directory.EnumerateFiles(Path.Combine(originFolder, assembly), "*.java", SearchOption.AllDirectories)) { sb.AppendLine(item); counter++; } } File.WriteAllText(tmpFile, sb.ToString()); var jcoBridgePath = Path.GetDirectoryName(typeof(JavaBuilder).Assembly.Location); var jcoBridgeCp = Path.Combine(jcoBridgePath, "JCOBridge.jar"); #if NET_CORE destinationFolder = Path.Combine(destinationFolder, Const.Framework.NETCoreFolder); #else destinationFolder = Path.Combine(destinationFolder, Const.Framework.NETFrameworkFolder); #endif destinationFolder = destinationFolder.Replace('\\', '/'); launchProcess(originFolder, Path.Combine(jdkFolder, JavaDoc), "-header \"" + Const.Documentation.DOCS_HEADER + "\" -quiet -author -noindex -nodeprecated -nodeprecatedlist -notimestamp -nohelp -notree -public -cp " + jcoBridgeCp + " -d " + destinationFolder + " -link https://www.jcobridge.com/api-java @" + Const.FileNameAndDirectory.SourceFile, timeout); return(counter); }
static int CreateSourceListAndGenerateDocs(string jdkFolder, JDKVersion jdkTarget, string rootFolder, string originFolder, string destinationFolder, string commitVersion, IEnumerable <string> assemblies, int timeout) { int counter = 0; var tmpFile = Path.Combine(originFolder, Const.FileNameAndDirectory.SourceFile); StringBuilder sb = new StringBuilder(); foreach (var assembly in assemblies) { var folder = Path.Combine(originFolder, assembly); if (assembly == Const.FileNameAndDirectory.CommonDirectory) { folder = Path.Combine(rootFolder, Const.FileNameAndDirectory.RootDirectory, Const.FileNameAndDirectory.SourceDirectory, Const.FileNameAndDirectory.CommonDirectory); } foreach (var item in Directory.EnumerateFiles(folder, "*.java", SearchOption.AllDirectories)) { sb.AppendLine(item); counter++; } } File.WriteAllText(tmpFile, sb.ToString()); var jcoBridgePath = Path.GetDirectoryName(typeof(JavaBuilder).Assembly.Location); var jcoBridgeCp = Path.Combine(jcoBridgePath, "JCOBridge.jar"); destinationFolder = Path.Combine(destinationFolder, Const.Framework.RuntimeFolder); destinationFolder = destinationFolder.Replace('\\', '/'); var header = Const.Documentation.DOCS_HEADER.Replace(Const.Documentation.DOCS_VERSION_JCOREFLECTOR_PLACEHOLDER, string.Format("v{0}-{1}", Const.ReflectorVersion, commitVersion)); launchProcess(originFolder, Path.Combine(jdkFolder, JavaDoc), "-header \"" + header + "\" -quiet -author -noindex -nodeprecated -nodeprecatedlist -notimestamp -nohelp -notree -public -cp " + jcoBridgeCp + " -d " + destinationFolder + " -link https://www.jcobridge.com/api-java @" + Const.FileNameAndDirectory.SourceFile, timeout); return(counter); }