Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }