diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml new file mode 100644 index 0000000..d817dd2 --- /dev/null +++ b/.onedev-buildspec.yml @@ -0,0 +1,34 @@ +version: 38 +jobs: +- name: Build for x86_64 + steps: + - !CheckoutStep + name: Checkout + cloneCredential: !DefaultCredential {} + withLfs: true + withSubmodules: true + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + - !BuildImageStep + name: Build docker image + output: !RegistryOutput + tags: onedev.site.tesses.net/crosslang/crosslangextras/crosslangextras:latest + registryLogins: + - registryUrl: '@server_url@' + userName: '@job_token@' + passwordSecret: dockersecret + condition: ALL_PREVIOUS_STEPS_WERE_SUCCESSFUL + triggers: + - !DependencyFinishedTrigger + projects: crosslang + - !BranchUpdateTrigger + branches: master + projects: crosslang/crosslangextras + projectDependencies: + - projectPath: crosslang + buildProvider: !LastFinishedBuild + jobName: Build for x86_64 + artifacts: -** + retryCondition: never + maxRetries: 3 + retryDelay: 30 + timeout: 14400 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a5ed747 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM onedev.site.tesses.net/crosslang/crosslang:latest + +RUN mkdir /src && cd /src && git clone https://onedev.site.tesses.net/crosslang/crosslangextras . && bash ./install.sh && cp Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm /root/Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm && cd / && rm -r /src \ No newline at end of file diff --git a/Templates/compiletool/.crossarchiveignore b/Templates/compiletool/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/compiletool/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/compiletool/cross.json b/Templates/compiletool/cross.json new file mode 100644 index 0000000..88f03ed --- /dev/null +++ b/Templates/compiletool/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.CompileTool", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "compiletool", + "template_info": { + "type": "compile_tool" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/compiletool/src/main.tcross b/Templates/compiletool/src/main.tcross new file mode 100644 index 0000000..505ddd7 --- /dev/null +++ b/Templates/compiletool/src/main.tcross @@ -0,0 +1,11 @@ +func RunTool(cfg) +{ + //cfg.Project is the project Subdirfilesystem + //cfg.ProjectInfo is the info property parsed from the cross.json file in project root + cfg.GeneratedSource.Add({ + Source = "func times(a,b){return a * b;}", + FileName = "times.tcross" + }); + + //this runs with full access to vm so be careful when allowing these +} diff --git a/Templates/console/.crossarchiveignore b/Templates/console/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/console/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/console/cross.json b/Templates/console/cross.json new file mode 100644 index 0000000..cd43f35 --- /dev/null +++ b/Templates/console/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.Console", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "console", + "template_info": { + "type": "console" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/console/src/main.tcross b/Templates/console/src/main.tcross new file mode 100644 index 0000000..476358d --- /dev/null +++ b/Templates/console/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + Console.WriteLine("Hello, world my name is: %PROJECT_NAME%"); +} \ No newline at end of file diff --git a/Templates/lib/.crossarchiveignore b/Templates/lib/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/lib/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/lib/cross.json b/Templates/lib/cross.json new file mode 100644 index 0000000..86caa3d --- /dev/null +++ b/Templates/lib/cross.json @@ -0,0 +1,16 @@ +{ + "name": "Tesses.CrossLang.Template.Library", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "lib", + "template_info": { + "type": "lib" + }, + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/lib/src/mylib.tcross b/Templates/lib/src/mylib.tcross new file mode 100644 index 0000000..0303f7e --- /dev/null +++ b/Templates/lib/src/mylib.tcross @@ -0,0 +1,5 @@ +/^ Multiply two numbers ^/ +func MyLib.Times(a,b) +{ + return a * b; +} diff --git a/Templates/template/.crossarchiveignore b/Templates/template/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/template/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/template/cross.json b/Templates/template/cross.json new file mode 100644 index 0000000..3459e70 --- /dev/null +++ b/Templates/template/cross.json @@ -0,0 +1,25 @@ +{ + "name": "Tesses.CrossLang.Template.Template", + "version": "1.0.0.0-prod", + "info": { + "maintainer": "Mike Nolan", + "type": "template", + "repo": "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + "homepage": "https://crosslang.tesseslanguage.com/", + "license": "MIT", + "template_name": "template", + "template_info": { + "type": "template", + "template_name": "mytemplate", + "template_project_dependencies": [], + "template_extra_text_ftles": [], + "template_info": { + "type": "console" + }, + "template_ignored_files": ["bin","obj"] + }, + "template_project_dependencies": [], + "template_extra_text_ftles": [], + "template_ignored_files": ["bin","obj"] + } +} diff --git a/Templates/template/src/main.tcross b/Templates/template/src/main.tcross new file mode 100644 index 0000000..a7e1684 --- /dev/null +++ b/Templates/template/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + //USE the string %TEMPLATE_PROJECT_NAME% anywhere you want to replace with the project name +} diff --git a/Templates/web/.crossarchiveignore b/Templates/web/.crossarchiveignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/Templates/web/.crossarchiveignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/Templates/web/components/counter.tcrml b/Templates/web/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Templates/web/components/counter.tcrml @@ -0,0 +1,3 @@ + +
Count is
+ \ No newline at end of file diff --git a/Templates/web/components/shell.tcrml b/Templates/web/components/shell.tcrml new file mode 100644 index 0000000..cc7c1ff --- /dev/null +++ b/Templates/web/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + +Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!
+ + + diff --git a/Templates/web/pages/counter.tcrml b/Templates/web/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Templates/web/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Templates/web/pages/index.tcrml b/Templates/web/pages/index.tcrml new file mode 100644 index 0000000..64a70c2 --- /dev/null +++ b/Templates/web/pages/index.tcrml @@ -0,0 +1,28 @@ + + + + + + +1 John 4:4: You, dear children, are from God and have overcome them, because the one who is in you is greater than the one who is in the world.
+ + + diff --git a/Templates/web/res/favicon.ico b/Templates/web/res/favicon.ico new file mode 100755 index 0000000..3fd66ae Binary files /dev/null and b/Templates/web/res/favicon.ico differ diff --git a/Templates/web/res/simple.min.css b/Templates/web/res/simple.min.css new file mode 100644 index 0000000..0e54419 --- /dev/null +++ b/Templates/web/res/simple.min.css @@ -0,0 +1 @@ +:root{--sans-font:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;--mono-font:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;--standard-border-radius:5px;--bg:#fff;--accent-bg:#f5f7ff;--text:#212121;--text-light:#585858;--border:#898ea4;--accent:#0d47a1;--accent-hover:#1266e2;--accent-text:var(--bg);--code:#d81b60;--preformatted:#444;--marked:#fd3;--disabled:#efefef}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#212121;--accent-bg:#2b2b2b;--text:#dcdcdc;--text-light:#ababab;--accent:#ffb300;--accent-hover:#ffe099;--accent-text:var(--bg);--code:#f06292;--preformatted:#ccc;--disabled:#111}img,video{opacity:.8}}*,:before,:after{box-sizing:border-box}textarea,select,input,progress{-webkit-appearance:none;-moz-appearance:none;appearance:none}html{font-family:var(--sans-font);scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);grid-template-columns:1fr min(45rem,90%) 1fr;margin:0;font-size:1.15rem;line-height:1.5;display:grid}body>*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Templates/web/src/program.tcross b/Templates/web/src/program.tcross new file mode 100644 index 0000000..0669b7d --- /dev/null +++ b/Templates/web/src/program.tcross @@ -0,0 +1,5 @@ +var count = 0; +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/components/counter.tcrml b/Tesses.CrossLang.ExampleSite/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/components/counter.tcrml @@ -0,0 +1,3 @@ + +Count is
+ \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/components/shell.tcrml b/Tesses.CrossLang.ExampleSite/components/shell.tcrml new file mode 100644 index 0000000..efcac6d --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + +Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!
+ + + diff --git a/Tesses.CrossLang.ExampleSite/pages/counter.tcrml b/Tesses.CrossLang.ExampleSite/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Tesses.CrossLang.ExampleSite/pages/index.tcrml b/Tesses.CrossLang.ExampleSite/pages/index.tcrml new file mode 100644 index 0000000..64a70c2 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/pages/index.tcrml @@ -0,0 +1,28 @@ + + + + + + +1 John 4:4: You, dear children, are from God and have overcome them, because the one who is in you is greater than the one who is in the world.
+ + + diff --git a/Tesses.CrossLang.ExampleSite/res/favicon.ico b/Tesses.CrossLang.ExampleSite/res/favicon.ico new file mode 100755 index 0000000..3fd66ae Binary files /dev/null and b/Tesses.CrossLang.ExampleSite/res/favicon.ico differ diff --git a/Tesses.CrossLang.ExampleSite/res/simple.min.css b/Tesses.CrossLang.ExampleSite/res/simple.min.css new file mode 100644 index 0000000..0e54419 --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/res/simple.min.css @@ -0,0 +1 @@ +:root{--sans-font:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;--mono-font:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;--standard-border-radius:5px;--bg:#fff;--accent-bg:#f5f7ff;--text:#212121;--text-light:#585858;--border:#898ea4;--accent:#0d47a1;--accent-hover:#1266e2;--accent-text:var(--bg);--code:#d81b60;--preformatted:#444;--marked:#fd3;--disabled:#efefef}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#212121;--accent-bg:#2b2b2b;--text:#dcdcdc;--text-light:#ababab;--accent:#ffb300;--accent-hover:#ffe099;--accent-text:var(--bg);--code:#f06292;--preformatted:#ccc;--disabled:#111}img,video{opacity:.8}}*,:before,:after{box-sizing:border-box}textarea,select,input,progress{-webkit-appearance:none;-moz-appearance:none;appearance:none}html{font-family:var(--sans-font);scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);grid-template-columns:1fr min(45rem,90%) 1fr;margin:0;font-size:1.15rem;line-height:1.5;display:grid}body>*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Tesses.CrossLang.ExampleSite/src/program.tcross b/Tesses.CrossLang.ExampleSite/src/program.tcross new file mode 100644 index 0000000..0669b7d --- /dev/null +++ b/Tesses.CrossLang.ExampleSite/src/program.tcross @@ -0,0 +1,5 @@ +var count = 0; +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/Tesses.CrossLang.PackageServer/components/counter.tcrml b/Tesses.CrossLang.PackageServer/components/counter.tcrml new file mode 100644 index 0000000..1b4fca4 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/components/counter.tcrml @@ -0,0 +1,3 @@ + +Count is
+ \ No newline at end of file diff --git a/Tesses.CrossLang.PackageServer/components/shell.tcrml b/Tesses.CrossLang.PackageServer/components/shell.tcrml new file mode 100644 index 0000000..06d0afc --- /dev/null +++ b/Tesses.CrossLang.PackageServer/components/shell.tcrml @@ -0,0 +1,36 @@ + + + + + + + + +Lorem ipsum dolor sit amet consectetur adipisicing elit. Laboriosam possimus nisi ab nobis magni, error minus vero neque iusto beatae, quasi nostrum. Ut repudiandae expedita reprehenderit tenetur. Sunt, adipisci cumque!
+ + + diff --git a/Tesses.CrossLang.PackageServer/pages/counter.tcrml b/Tesses.CrossLang.PackageServer/pages/counter.tcrml new file mode 100644 index 0000000..3db6f57 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/pages/counter.tcrml @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/Tesses.CrossLang.PackageServer/res/favicon.ico b/Tesses.CrossLang.PackageServer/res/favicon.ico new file mode 100644 index 0000000..3fd66ae Binary files /dev/null and b/Tesses.CrossLang.PackageServer/res/favicon.ico differ diff --git a/Tesses.CrossLang.PackageServer/res/simple.min.css b/Tesses.CrossLang.PackageServer/res/simple.min.css new file mode 100644 index 0000000..0e54419 --- /dev/null +++ b/Tesses.CrossLang.PackageServer/res/simple.min.css @@ -0,0 +1 @@ +:root{--sans-font:-apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;--mono-font:Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;--standard-border-radius:5px;--bg:#fff;--accent-bg:#f5f7ff;--text:#212121;--text-light:#585858;--border:#898ea4;--accent:#0d47a1;--accent-hover:#1266e2;--accent-text:var(--bg);--code:#d81b60;--preformatted:#444;--marked:#fd3;--disabled:#efefef}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#212121;--accent-bg:#2b2b2b;--text:#dcdcdc;--text-light:#ababab;--accent:#ffb300;--accent-hover:#ffe099;--accent-text:var(--bg);--code:#f06292;--preformatted:#ccc;--disabled:#111}img,video{opacity:.8}}*,:before,:after{box-sizing:border-box}textarea,select,input,progress{-webkit-appearance:none;-moz-appearance:none;appearance:none}html{font-family:var(--sans-font);scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);grid-template-columns:1fr min(45rem,90%) 1fr;margin:0;font-size:1.15rem;line-height:1.5;display:grid}body>*{grid-column:2}body>header{background-color:var(--accent-bg);border-bottom:1px solid var(--border);text-align:center;grid-column:1/-1;padding:0 .5rem 2rem}body>header>:only-child{margin-block-start:2rem}body>header h1{max-width:1200px;margin:1rem auto}body>header p{max-width:40rem;margin:1rem auto}main{padding-top:1.5rem}body>footer{color:var(--text-light);text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding:2rem 1rem 1.5rem;font-size:.9rem}h1{font-size:3rem}h2{margin-top:3rem;font-size:2.6rem}h3{margin-top:3rem;font-size:2rem}h4{font-size:1.44rem}h5{font-size:1.15rem}h6{font-size:.96rem}p{margin:1.5rem 0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3{line-height:1.1}@media only screen and (width<=720px){h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.75rem}h4{font-size:1.25rem}}a,a:visited{color:var(--accent)}a:hover{text-decoration:none}button,.button,a.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid var(--accent);background-color:var(--accent);color:var(--accent-text);padding:.5rem .9rem;line-height:normal;text-decoration:none}.button[aria-disabled=true],input:disabled,textarea:disabled,select:disabled,button[disabled]{cursor:not-allowed;background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light)}input[type=range]{padding:0}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}button:enabled:hover,.button:not([aria-disabled=true]):hover,input[type=submit]:enabled:hover,input[type=reset]:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}.button:focus-visible,button:focus-visible:where(:enabled),input:enabled:focus-visible:where([type=submit],[type=reset],[type=button]){outline:2px solid var(--accent);outline-offset:1px}header>nav{padding:1rem 0 0;font-size:1rem;line-height:2}header>nav ul,header>nav ol{flex-flow:wrap;place-content:space-around center;align-items:center;margin:0;padding:0;list-style-type:none;display:flex}header>nav ul li,header>nav ol li{display:inline-block}header>nav a,header>nav a:visited{border:1px solid var(--border);border-radius:var(--standard-border-radius);color:var(--text);margin:0 .5rem 1rem;padding:.1rem 1rem;text-decoration:none;display:inline-block}header>nav a:hover,header>nav a.current,header>nav a[aria-current=page],header>nav a[aria-current=true]{border-color:var(--accent);color:var(--accent);cursor:pointer}@media only screen and (width<=720px){header>nav a{border:none;padding:0;line-height:1;text-decoration:underline}}aside,details,pre,progress{background-color:var(--accent-bg);border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem}aside{float:right;width:30%;margin-inline-start:15px;padding:0 15px;font-size:1rem}[dir=rtl] aside{float:left}@media only screen and (width<=720px){aside{float:none;width:100%;margin-inline-start:0}}article,fieldset,dialog{border:1px solid var(--border);border-radius:var(--standard-border-radius);margin-bottom:1rem;padding:1rem}article h2:first-child,section h2:first-child,article h3:first-child,section h3:first-child{margin-top:1rem}section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:3rem 0;padding:2rem 1rem}section+section,section:first-child{border-top:0;padding-top:0}section+section{margin-top:0}section:last-child{border-bottom:0;padding-bottom:0}details{padding:.7rem 1rem}summary{cursor:pointer;word-break:break-all;margin:-.7rem -1rem;padding:.7rem 1rem;font-weight:700}details[open]>summary+*{margin-top:0}details[open]>summary{margin-bottom:.5rem}details[open]>:last-child{margin-bottom:0}table{border-collapse:collapse;margin:1.5rem 0}figure>table{width:max-content;margin:0}td,th{border:1px solid var(--border);text-align:start;padding:.5rem}th{background-color:var(--accent-bg);font-weight:700}tr:nth-child(2n){background-color:var(--accent-bg)}table caption{margin-bottom:.5rem;font-weight:700}textarea,select,input,button,.button{font-size:inherit;border-radius:var(--standard-border-radius);box-shadow:none;max-width:100%;margin-bottom:.5rem;padding:.5rem;font-family:inherit;display:inline-block}textarea,select,input{color:var(--text);background-color:var(--bg);border:1px solid var(--border)}label{display:block}textarea:not([cols]){width:100%}select:not([multiple]){background-image:linear-gradient(45deg,transparent 49%,var(--text)51%),linear-gradient(135deg,var(--text)51%,transparent 49%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:25px}[dir=rtl] select:not([multiple]){background-position:10px,15px}input[type=checkbox],input[type=radio]{vertical-align:middle;width:min-content;position:relative}input[type=checkbox]+label,input[type=radio]+label{display:inline-block}input[type=radio]{border-radius:100%}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--accent)}input[type=checkbox]:checked:after{content:" ";border-right:solid var(--bg).08em;border-bottom:solid var(--bg).08em;background-color:#0000;border-radius:0;width:.18em;height:.32em;font-size:1.8em;position:absolute;top:.05em;left:.17em;transform:rotate(45deg)}input[type=radio]:checked:after{content:" ";background-color:var(--bg);border-radius:100%;width:.25em;height:.25em;font-size:32px;position:absolute;top:.125em;left:.125em}@media only screen and (width<=720px){textarea,select,input{width:100%}}input[type=color]{height:2.5rem;padding:.2rem}input[type=file]{border:0}hr{background:var(--border);border:none;height:1px;margin:1rem auto}mark{border-radius:var(--standard-border-radius);background-color:var(--marked);color:#000;padding:2px 5px}mark a{color:#0d47a1}img,video{border-radius:var(--standard-border-radius);max-width:100%;height:auto}figure{margin:0;display:block;overflow-x:auto}figure>img,figure>picture>img{margin-inline:auto;display:block}figcaption{text-align:center;color:var(--text-light);margin-block:1rem;font-size:.9rem}blockquote{border-inline-start:.35rem solid var(--accent);color:var(--text-light);margin-block:2rem;margin-inline:2rem 0;padding:.4rem .8rem;font-style:italic}cite{color:var(--text-light);font-size:.9rem;font-style:normal}dt{color:var(--text-light)}code,pre,pre span,kbd,samp{font-family:var(--mono-font);color:var(--code)}kbd{color:var(--preformatted);border:1px solid var(--preformatted);border-bottom:3px solid var(--preformatted);border-radius:var(--standard-border-radius);padding:.1rem .4rem}pre{max-width:100%;color:var(--preformatted);padding:1rem 1.4rem;overflow:auto}pre code{color:var(--preformatted);background:0 0;margin:0;padding:0}progress{width:100%}progress:indeterminate{background-color:var(--accent-bg)}progress::-webkit-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent-bg)}progress::-webkit-progress-value{border-radius:var(--standard-border-radius);background-color:var(--accent)}progress::-moz-progress-bar{border-radius:var(--standard-border-radius);background-color:var(--accent);transition-property:width;transition-duration:.3s}progress:indeterminate::-moz-progress-bar{background-color:var(--accent-bg)}dialog{background-color:var(--bg);max-width:40rem;margin:auto}dialog::backdrop{background-color:var(--bg);opacity:.8}@media only screen and (width<=720px){dialog{max-width:100%;margin:auto 1em}}sup,sub{vertical-align:baseline;position:relative}sup{top:-.4em}sub{top:.3em}.notice{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);margin:2rem 0;padding:1.5rem}@media print{@page{margin:1cm}body{display:block}body>header{background-color:unset}body>header nav,body>footer{display:none}article{border:none;padding:0}a[href^=http]:after{content:" <" attr(href)">"}abbr[title]:after{content:" (" attr(title)")"}a{text-decoration:none}p{widows:3;orphans:3}hr{border-top:1px solid var(--border)}mark{border:1px solid var(--border)}pre,table,figure,img,svg{break-inside:avoid}pre code{white-space:pre-wrap}} \ No newline at end of file diff --git a/Tesses.CrossLang.RpcServer/cross.json b/Tesses.CrossLang.RpcServer/cross.json new file mode 100644 index 0000000..41d3dbe --- /dev/null +++ b/Tesses.CrossLang.RpcServer/cross.json @@ -0,0 +1,7 @@ +{ + "info": { + "type": "console" + }, + "version": "1.0.0.0-prod", + "name": "Tesses.CrossLang.RpcServer" +} \ No newline at end of file diff --git a/Tesses.CrossLang.RpcServer/src/main.tcross b/Tesses.CrossLang.RpcServer/src/main.tcross new file mode 100644 index 0000000..626b123 --- /dev/null +++ b/Tesses.CrossLang.RpcServer/src/main.tcross @@ -0,0 +1,4 @@ +func main(args) +{ + Net.Http.ListenSimpleWithLoop(Router,4206); +} \ No newline at end of file diff --git a/crosslang_shell_archive_maker/cross.json b/crosslang_shell_archive_maker/cross.json new file mode 100644 index 0000000..c65b958 --- /dev/null +++ b/crosslang_shell_archive_maker/cross.json @@ -0,0 +1,7 @@ +{ + "info": { + "type": "console" + }, + "version": "1.0.0.0-prod", + "name": "crosslang_shell_archive_maker" +} \ No newline at end of file diff --git a/crosslang_shell_archive_maker/src/main.tcross b/crosslang_shell_archive_maker/src/main.tcross new file mode 100644 index 0000000..161291b --- /dev/null +++ b/crosslang_shell_archive_maker/src/main.tcross @@ -0,0 +1,80 @@ + +var name = "Tesses.CrossLang.ShellPackage-1.0.0.0-prod.crvm"; +func main(args) +{ + create_archive(); + if(args.Count > 1 && args[1] == "install") + { + install(); + } +} + +func install() +{ + var d = FS.MakeFull(Env.Config) / "Tesses" / "CrossLang"; + FS.Local.CreateDirectory(d); + var sdfs = FS.SubdirFilesystem(FS.Local, d); + var strm = FS.Local.OpenFile(name,"rb"); + FS.ExtractArchive(strm, sdfs); + sdfs.Close(); + strm.Close(); +} + +func create_archive() +{ + + var tmpFS = FS.SubdirFilesystem(FS.Local,"crosslang_shell_archive_maker/tmp"); + func copyFile(src,dest) + { + if(!FS.Local.FileExists(src)) return; + var srcF = FS.Local.OpenFile(src,"rb"); + var destF = tmpFS.OpenFile(dest,"wb"); + srcF.CopyTo(destF); + srcF.Close(); + destF.Close(); + } + + var r = Path.Root(); + + var shell = r / "Shell"; + + + tmpFS.CreateDirectory(shell); + + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Args-1.0.0.0-prod.crvm", shell / "Tesses.CrossLang.Args-1.0.0.0-prod.crvm"); + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm", shell / "Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm"); + copyFile("Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-prod.crvm", shell / "Shell.crvm"); + + var templates = r / "Templates"; + tmpFS.CreateDirectory(templates); + copyFile("Templates/compiletool/bin/Tesses.CrossLang.Template.CompileTool-1.0.0.0-prod.crvm", templates / "compiletool.crvm"); + copyFile("Templates/console/bin/Tesses.CrossLang.Template.Console-1.0.0.0-prod.crvm", templates / "console.crvm"); + copyFile("Templates/lib/bin/Tesses.CrossLang.Template.Library-1.0.0.0-prod.crvm", templates / "lib.crvm"); + copyFile("Templates/template/bin/Tesses.CrossLang.Template.Template-1.0.0.0-prod.crvm", templates / "template.crvm"); + copyFile("Templates/web/bin/Tesses.CrossLang.Template.Website-1.0.0.0-prod.crvm", templates / "web.crvm"); + var packageCache = r / "PackageCache"; + + tmpFS.CreateDirectory(packageCache); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.Args"); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.BuildEssentials"); + tmpFS.CreateDirectory(packageCache / "Tesses.CrossLang.Markup"); + copyFile("Tesses.CrossLang.Args/bin/Tesses.CrossLang.Args-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.Args" / "1.0.0.0-prod"); + copyFile("Tesses.CrossLang.BuildEssentials/bin/Tesses.CrossLang.BuildEssentials-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.BuildEssentials" / "1.0.0.0-prod"); + copyFile("Tesses.CrossLang.Markup/bin/Tesses.CrossLang.Markup-1.0.0.0-prod.crvm", packageCache / "Tesses.CrossLang.Markup" / "1.0.0.0-prod"); + + var installer = FS.Local.OpenFile(name, "wb"); + + var ifo = { + type = "archive", + maintainer = "Mike Nolan", + repo = "https://onedev.site.tesses.net/CrossLang/CrossLangExtras", + homepage = "https://crosslang.tesseslanguage.com/" + }; + + FS.CreateArchive(tmpFS,installer, "Tesses.CrossLang.ShellPackage","1.0.0.0-prod", Json.Encode(ifo)); + + installer.Close(); + tmpFS.Close(); + + FS.Local.DeleteDirectroyRecurse("crosslang_shell_archive_maker/tmp"); +} diff --git a/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod new file mode 100644 index 0000000..b7c1523 Binary files /dev/null and b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Args/1.0.0.0-prod differ diff --git a/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.BuildEssentials/1.0.0.0-prod b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.BuildEssentials/1.0.0.0-prod new file mode 100644 index 0000000..18c589e Binary files /dev/null and b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.BuildEssentials/1.0.0.0-prod differ diff --git a/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod new file mode 100644 index 0000000..2bd97f3 Binary files /dev/null and b/crosslang_shell_archive_maker/tmp/PackageCache/Tesses.CrossLang.Markup/1.0.0.0-prod differ diff --git a/pack.sh b/pack.sh new file mode 100644 index 0000000..3207ff4 --- /dev/null +++ b/pack.sh @@ -0,0 +1,3 @@ +#!/bin/bash +bash ./script.sh +crossvm crosslang_shell_archive_maker/bin/crosslang_shell_archive_maker-1.0.0.0-prod.crvm \ No newline at end of file