mirror of
https://git.tesses.org/tesses50/crosslangextras.git
synced 2026-06-01 18:35:32 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 175105c807 | |||
| dbe5e137fe | |||
| 3e5932b2ad |
@@ -13,23 +13,22 @@ env:
|
||||
|
||||
jobs:
|
||||
build-crosslang-shell-and-cpkg:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: arch-builder
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: |
|
||||
wget -O /root/repository.key https://git.tesses.org/api/packages/tesses50/arch/repository.key
|
||||
pacman-key --add /root/repository.key
|
||||
printf "[tesses50.git.tesses.org]\nSigLevel = Optional TrustAll\nServer = https://git.tesses.org/api/packages/tesses50/arch/core/\$arch\n" >> /etc/pacman.conf
|
||||
pacman --noconfirm -Sy crosslang
|
||||
cd vscode-extension
|
||||
npm install
|
||||
npm install -g typescript
|
||||
npm install -g @vscode/vsce
|
||||
vsce package
|
||||
cd ..
|
||||
wget -O /usr/local/bin/crosslang https://redirect.tesses.net/cl-slim-x86_64-linux-musl
|
||||
chmod 755 /usr/local/bin/crosslang
|
||||
ln -s /usr/local/bin/crosslang /usr/local/bin/crossc
|
||||
ln -s /usr/local/bin/crosslang /usr/local/bin/crossint
|
||||
ln -s /usr/local/bin/crosslang /usr/local/bin/crossvm
|
||||
crossint ./build.tcross pack
|
||||
crossint ./build.tcross install
|
||||
crosslang int ./build.tcross pack
|
||||
crosslang int ./build.tcross install
|
||||
mkdir -p artifacts
|
||||
cp Tesses.CrossLang.ShellPackage-*.crvm artifacts/ShellPackage.crvm
|
||||
cp Tesses.CrossLang.PackageServer/bin/Tesses.CrossLang.PackageServer-*.crvm artifacts/CPKG.crvm
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
## Changelog
|
||||
|
||||
## v0.0.3
|
||||
Work with slim instead
|
||||
|
||||
## v0.0.2
|
||||
Add the templates for npm
|
||||
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
|
||||
# To Build
|
||||
```bash
|
||||
crossint ./build.tcross
|
||||
crosslang int ./build.tcross
|
||||
```
|
||||
|
||||
# To Install
|
||||
```bash
|
||||
crossint ./build.tcross install
|
||||
crosslang int ./build.tcross install
|
||||
```
|
||||
|
||||
# To Pack
|
||||
```bash
|
||||
crossint ./build.tcross pack
|
||||
crosslang int ./build.tcross pack
|
||||
```
|
||||
@@ -27,6 +27,7 @@ class ExpectObj {
|
||||
this.SetRes(this.left == right, $"{this.left} is not equal to {right}");
|
||||
}
|
||||
}
|
||||
|
||||
public LessThan(right)
|
||||
{
|
||||
if(this.inverted)
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
class ConcurrentQueue
|
||||
{
|
||||
private mtx = new Mutex();
|
||||
|
||||
private queue = new Queue();
|
||||
|
||||
public Enqueue(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
queue.Enqueue(val);
|
||||
mtx.Unlock();
|
||||
|
||||
}
|
||||
|
||||
public Dequeue()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = queue.Dequeue();
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
public Peek()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = queue.Peek();
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
public getCount()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = queue.Count;
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
public getLength()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = queue.Length;
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
public ToList()
|
||||
{
|
||||
|
||||
mtx.Lock();
|
||||
|
||||
const ittr = new Queryable(queue);
|
||||
const ls = ittr.ToList();
|
||||
|
||||
mtx.Unlock();
|
||||
return ls;
|
||||
}
|
||||
|
||||
public GetEnumerator()
|
||||
{
|
||||
return ToList().GetEnumerator();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
class ConcurrentStack
|
||||
{
|
||||
private mtx = new Mutex();
|
||||
|
||||
private stack = new Stack();
|
||||
|
||||
public Push(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
stack.Push(val);
|
||||
mtx.Unlock();
|
||||
|
||||
}
|
||||
|
||||
public Pop()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = stack.Pop();
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
public Top()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = stack.Top();
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
public getCount()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = stack.Count;
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
public getLength()
|
||||
{
|
||||
mtx.Lock();
|
||||
const val = stack.Length;
|
||||
mtx.Unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
public ToList()
|
||||
{
|
||||
|
||||
mtx.Lock();
|
||||
|
||||
const ittr = new Queryable(stack);
|
||||
const ls = ittr.ToList();
|
||||
|
||||
mtx.Unlock();
|
||||
return ls;
|
||||
}
|
||||
|
||||
public GetEnumerator()
|
||||
{
|
||||
return ToList().GetEnumerator();
|
||||
}
|
||||
}
|
||||
32
Tesses.CrossLang.Std/src/Collections/Queue.tcross
Normal file
32
Tesses.CrossLang.Std/src/Collections/Queue.tcross
Normal file
@@ -0,0 +1,32 @@
|
||||
class Queue
|
||||
{
|
||||
private items = [];
|
||||
|
||||
public Enqueue(val)
|
||||
{
|
||||
items.Add(val);
|
||||
}
|
||||
|
||||
public Dequeue()
|
||||
{
|
||||
if(items.Count == 0) return null;
|
||||
const val = items[0];
|
||||
items.RemoveAt(0);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
public Peek()
|
||||
{
|
||||
if(items.Count == 0) return null;
|
||||
return items[0];
|
||||
}
|
||||
|
||||
public GetEnumerator()
|
||||
{
|
||||
return items.GetEnumerator();
|
||||
}
|
||||
|
||||
public getCount() items.Count;
|
||||
public getLength() items.Length;
|
||||
}
|
||||
24
Tesses.CrossLang.Std/src/Collections/SequenceEquals.tcross
Normal file
24
Tesses.CrossLang.Std/src/Collections/SequenceEquals.tcross
Normal file
@@ -0,0 +1,24 @@
|
||||
func SequenceEquals(a,b)
|
||||
{
|
||||
const ittra = a.GetEnumerator();
|
||||
const ittrb = b.GetEnumerator();
|
||||
|
||||
defer {
|
||||
ittra.Dispose();
|
||||
ittrb.Dispose();
|
||||
}
|
||||
|
||||
while(true) {
|
||||
const hasa = ittra.MoveNext();
|
||||
const hasb = ittrb.MoveNext();
|
||||
|
||||
if(hasa != hasb) return false;
|
||||
if(hasa)
|
||||
{
|
||||
if(!(hasa.Current == hasb.Current)) return false;
|
||||
}
|
||||
else break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
33
Tesses.CrossLang.Std/src/Collections/Stack.tcross
Normal file
33
Tesses.CrossLang.Std/src/Collections/Stack.tcross
Normal file
@@ -0,0 +1,33 @@
|
||||
class Stack
|
||||
{
|
||||
private items = [];
|
||||
|
||||
public Push(val)
|
||||
{
|
||||
items.Insert(0, val);
|
||||
}
|
||||
|
||||
public Pop()
|
||||
{
|
||||
if(items.Count == 0) return null;
|
||||
const val = items[0];
|
||||
items.RemoveAt(0);
|
||||
return val;
|
||||
}
|
||||
|
||||
public Top()
|
||||
{
|
||||
if(items.Count == 0) return null;
|
||||
return items[0];
|
||||
}
|
||||
|
||||
public getCount() items.Count;
|
||||
|
||||
|
||||
public getLength() items.Length;
|
||||
|
||||
public GetEnumerator()
|
||||
{
|
||||
return items.GetEnumerator();
|
||||
}
|
||||
}
|
||||
48
Tesses.CrossLang.Std/src/Event.tcross
Normal file
48
Tesses.CrossLang.Std/src/Event.tcross
Normal file
@@ -0,0 +1,48 @@
|
||||
class Event {
|
||||
private mtx = new Mutex();
|
||||
private cb = [];
|
||||
public Event()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public Invoke(sender,e)
|
||||
{
|
||||
mtx.Lock();
|
||||
each(var item : cb)
|
||||
{
|
||||
item(sender,e);
|
||||
}
|
||||
mtx.Unlock();
|
||||
}
|
||||
|
||||
public Subscribe(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
cb.Add(val);
|
||||
mtx.Unlock();
|
||||
}
|
||||
|
||||
public Unsubscribe(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
cb.Remove(val);
|
||||
mtx.Unlock();
|
||||
}
|
||||
|
||||
public operator+(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
cb.Add(val);
|
||||
mtx.Unlock();
|
||||
return this;
|
||||
}
|
||||
|
||||
public operator-(val)
|
||||
{
|
||||
mtx.Lock();
|
||||
cb.Remove(val);
|
||||
mtx.Unlock();
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ class Exception
|
||||
|
||||
public ToString()
|
||||
{
|
||||
var messagePart = $"{Class.Name(this)}: {Message}";
|
||||
var messagePart = $"{Class.Name(this)}: {this.Message}";
|
||||
if(InnerException != undefined && InnerException != null)
|
||||
{
|
||||
var innerEx = InnerException.ToString().Replace("\n","\n\t");
|
||||
@@ -18,12 +18,4 @@ class Exception
|
||||
}
|
||||
return messagePart;
|
||||
}
|
||||
}
|
||||
|
||||
class OutOfRangeException : Exception
|
||||
{
|
||||
public OutOfRangeException(varName,$inner)
|
||||
{
|
||||
Exception($"{varName} is out of range.",inner);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
class OutOfRangeException : Exception
|
||||
{
|
||||
public OutOfRangeException(varName,$inner)
|
||||
{
|
||||
Exception($"{varName} is out of range.",inner);
|
||||
}
|
||||
}
|
||||
42
Tesses.CrossLang.Std/src/ExecutorQueue.tcross
Normal file
42
Tesses.CrossLang.Std/src/ExecutorQueue.tcross
Normal file
@@ -0,0 +1,42 @@
|
||||
class ExecutorQueue {
|
||||
private mtx = new Mutex();
|
||||
private items = [];
|
||||
private thread;
|
||||
private running=true;
|
||||
|
||||
public ExecutorQueue()
|
||||
{
|
||||
thread = new Thread(()=>{
|
||||
while(running)
|
||||
{
|
||||
mtx.Lock();
|
||||
if(items.Count == 0)
|
||||
{
|
||||
mtx.Unlock();
|
||||
continue;
|
||||
}
|
||||
const item = items[0];
|
||||
items.RemoveAt(0);
|
||||
mtx.Unlock();
|
||||
if(TypeIsCallable(item))
|
||||
item();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public EnqueueJob(cb)
|
||||
{
|
||||
mtx.Lock();
|
||||
items.Add(cb);
|
||||
mtx.Unlock();
|
||||
}
|
||||
|
||||
public Dispose()
|
||||
{
|
||||
mtx.Lock();
|
||||
running=false;
|
||||
mtx.Unlock();
|
||||
thread.Join();
|
||||
}
|
||||
}
|
||||
12
Tesses.CrossLang.Std/src/FuncWithThis.tcross
Normal file
12
Tesses.CrossLang.Std/src/FuncWithThis.tcross
Normal file
@@ -0,0 +1,12 @@
|
||||
func FuncWithThis(
|
||||
function,
|
||||
thisVal
|
||||
)
|
||||
{
|
||||
return ($$args)=>{
|
||||
const newArgs = [thisVal];
|
||||
each(var item : args) newArgs.Add(item);
|
||||
|
||||
return function.Call(newArgs);
|
||||
};
|
||||
}
|
||||
19
Tesses.CrossLang.Std/src/MutexLock.tcross
Normal file
19
Tesses.CrossLang.Std/src/MutexLock.tcross
Normal file
@@ -0,0 +1,19 @@
|
||||
class MutexLock
|
||||
{
|
||||
private mtx;
|
||||
public MutexLock(mtx)
|
||||
{
|
||||
this.mtx = mtx;
|
||||
mtx.Lock();
|
||||
}
|
||||
|
||||
public Dispose()
|
||||
{
|
||||
mtx.Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
func Lock(mtx)
|
||||
{
|
||||
return new MutexLock(mtx);
|
||||
}
|
||||
39
Tesses.CrossLang.Std/src/Result.tcross
Normal file
39
Tesses.CrossLang.Std/src/Result.tcross
Normal file
@@ -0,0 +1,39 @@
|
||||
class Result {
|
||||
private isError=false;
|
||||
private value=null;
|
||||
|
||||
public Result(value, isError)
|
||||
{
|
||||
this.value = value;
|
||||
this.isError = isError;
|
||||
}
|
||||
|
||||
static Error(value)
|
||||
{
|
||||
return new Result(value,true);
|
||||
}
|
||||
|
||||
static OK(value)
|
||||
{
|
||||
return new Result(value,false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public getIsError()
|
||||
{
|
||||
return this.isError;
|
||||
}
|
||||
|
||||
public getValue()
|
||||
{
|
||||
return this.value;
|
||||
}
|
||||
|
||||
|
||||
public Unwrap()
|
||||
{
|
||||
if(isError) throw value;
|
||||
return value;
|
||||
}
|
||||
}
|
||||
48
Tesses.CrossLang.Std/tests/Collections.tcross
Normal file
48
Tesses.CrossLang.Std/tests/Collections.tcross
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
|
||||
Test("Collections",()=>{
|
||||
Spec("SequenceEquals",()=>{
|
||||
enumerable func myenum()
|
||||
{
|
||||
yield 42;
|
||||
yield 69;
|
||||
yield 128;
|
||||
yield "Hello";
|
||||
}
|
||||
Assert(SequenceEquals("MyString",['M','y','S','t','r','i','n','g']), "SequenceEquals is not functioning correctly, String MyString and array with same chars should return true");
|
||||
Assert(SequenceEquals(myenum(), [42,69,128,"Hello"]), "SequenceEquals is not functioning correctly, enumerable and list should return same result");
|
||||
});
|
||||
Spec("Queue", ()=>{
|
||||
const queue = new Queue();
|
||||
queue.Enqueue("Apple");
|
||||
queue.Enqueue(37);
|
||||
Assert(!TypeIsDefined(queue.Enqueue("My String")), "Queue.Enqueue should not return value, but it does");
|
||||
Expect(queue.Dequeue()).ToBe("Apple");
|
||||
|
||||
Expect(queue.Peek()).LessThan(42);
|
||||
|
||||
Expect(queue.Count).ToBe(2);
|
||||
queue.Dequeue();
|
||||
Expect(queue.Count).ToBe(1);
|
||||
|
||||
queue.Enqueue(4);
|
||||
queue.Enqueue(5);
|
||||
queue.Enqueue(true);
|
||||
|
||||
Assert(SequenceEquals(queue,["My String",4,5,true]), "Queue isn't working correctly");
|
||||
|
||||
});
|
||||
|
||||
Spec("Stack", ()=>{
|
||||
const stack = new Stack();
|
||||
Assert(!TypeIsDefined(stack.Push(42)),"Stack.Push should not return a value, but it does");
|
||||
stack.Push(59);
|
||||
Expect(stack.Count).ToBe(2);
|
||||
Expect(stack.Pop()).ToBe(59);
|
||||
Expect(stack.Top()).ToBe(42);
|
||||
Expect(stack.Pop()).ToBe(42);
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
37
build.tcross
37
build.tcross
@@ -14,7 +14,7 @@ func cmd(name, args)
|
||||
func main(args)
|
||||
{
|
||||
|
||||
var args2=["-o","./Tesses.CrossLang.BuildEssentials/bin-tmp","-r","./Tesses.CrossLang.BuildEssentials/res","-n","Tesses.CrossLang.BuildEssentials","-v","1.0.0.0-dev","Tesses.CrossLang.BuildEssentials/main.tcross"];
|
||||
var args2=["c","-o","./Tesses.CrossLang.BuildEssentials/bin-tmp","-r","./Tesses.CrossLang.BuildEssentials/res","-n","Tesses.CrossLang.BuildEssentials","-v","1.0.0.0-dev","Tesses.CrossLang.BuildEssentials/main.tcross"];
|
||||
each(var f : FS.Local.EnumeratePaths("./Tesses.CrossLang.BuildEssentials/src"))
|
||||
{
|
||||
if(f.GetExtension() == ".tcross")
|
||||
@@ -25,38 +25,37 @@ func main(args)
|
||||
|
||||
|
||||
|
||||
cmd("crossc", args2);
|
||||
cmd("crossvm",["./Tesses.CrossLang.BuildEssentials/bin-tmp/Tesses.CrossLang.BuildEssentials-1.0.0.0-dev.crvm","Tesses.CrossLang.Shell"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.PackageServer"]);
|
||||
//cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.WebSite"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.Std"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/console"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/emptyweb"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/web"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/template"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/lib"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/compiletool"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/tool"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/webapp"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/npmweb"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/npmwebapp"]);
|
||||
cmd("crosslang", args2);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.BuildEssentials/bin-tmp/Tesses.CrossLang.BuildEssentials-1.0.0.0-dev.crvm","Tesses.CrossLang.Shell"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.PackageServer"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.Std"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/console"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/emptyweb"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/web"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/template"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/lib"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/compiletool"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/tool"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/webapp"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/npmweb"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Templates/npmwebapp"]);
|
||||
|
||||
/*
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.PackageServer"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.PackageServer"]);
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","Tesses.CrossLang.PackageServer"]);
|
||||
*/
|
||||
cmd("crossvm",["./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","crosslang_shell_archive_maker"]);
|
||||
cmd("crosslang",["vm","./Tesses.CrossLang.Shell/bin/Tesses.CrossLang.Shell-1.0.0.0-dev.crvm","build","crosslang_shell_archive_maker"]);
|
||||
|
||||
if(args.Length > 1)
|
||||
{
|
||||
if(args[1] == "install")
|
||||
{
|
||||
cmd("crossvm",["crosslang_shell_archive_maker/bin/crosslang_shell_archive_maker-1.0.0.0-dev.crvm", "install"]);
|
||||
cmd("crosslang",["vm","crosslang_shell_archive_maker/bin/crosslang_shell_archive_maker-1.0.0.0-dev.crvm", "install"]);
|
||||
}
|
||||
else if(args[1] == "pack")
|
||||
{
|
||||
cmd("crossvm",["crosslang_shell_archive_maker/bin/crosslang_shell_archive_maker-1.0.0.0-dev.crvm"]);
|
||||
cmd("crosslang",["vm","crosslang_shell_archive_maker/bin/crosslang_shell_archive_maker-1.0.0.0-dev.crvm"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user