vark / aardvark Goto Github PK
View Code? Open in Web Editor NEWA build tool based on the Apache Ant library and the Gosu language
Home Page: http://vark.github.com
License: Apache License 2.0
A build tool based on the Apache Ant library and the Gosu language
Home Page: http://vark.github.com
License: Apache License 2.0
It just seems wrong to have a static instance of the Project.
Fixes to the default Gosu Editor are coming
I have to temporarily remove the "test" target from the dependency list for the "release" target because the test run is loading core classes from the base class loader instead of the class loading I intend for the JUnitTask.
Setting haltonfailure/haltonerror on the task doesn't do anything for tests included in the batch test set
Maybe I'm missing an option, but there doesn't seem to be a way to specify a default target to run. I'd like to specify a default, and have vark run that if no target is specified.
I also don't understand the use of the @target annotation, since whether or not it's applied to a method, the method can be run.
Instead of having the @Depends annotation taking a string.
Hi everyone,
I have extracted aardvark-0.4 zip folder to C:\Users\aravind\aardvark-0.4. Inside this folder there are bin and lib folders. Then i try to run "$ vark -url http://ronin-web.org/init.vark init" in command prompt where my path in cmd prompt is "C:\Users\aravind\aardvark-0.4\bin" then i get error "$ is not recognized as internal or external command, operable program or batch file."
Please help!!!
Thanks,
Aravind
The xslt task in Ant has an 'in' attribute that is exposed by vark, unfortunately you can not use this attribute as a named argument since in is a reserved word in gosu:
var src_xml=file("some.xml")
var stylesheet=file("stylesheet.xsl")
var dest_xml=("some_other.xml")
Ant.xslt(:style=stylesheet, :out=dest_xml, :in=src_xml)
Instead of the following error (also it probably should not generated twice, and the "Build Failed" should be at the last line it can be something like
target foo (line 133) requires parameter "message"
Done parsing Aardvark buildfile in 1584 ms
foo:
test
bar:
BUILD FAILED
java.lang.IllegalArgumentException: requires parameter "message"
at gw.vark.AardvarkProgram$AardvarkTarget.determineStringParamVal(AardvarkProgram.java:366)
at gw.vark.AardvarkProgram$AardvarkTarget.execute(AardvarkProgram.java:336)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at gw.vark.AardvarkProgram.runBuild(AardvarkProgram.java:159)
at gw.vark.Aardvark.run(Aardvark.java:169)
at gw.lang.Gosu.start(Gosu.java:131)
at gw.lang.launch.GosuLauncher.run(GosuLauncher.java:132)
at gw.lang.launch.GosuLauncher.main(GosuLauncher.java:45)
Total time: 0 seconds
java.lang.IllegalArgumentException: requires parameter "message"
at gw.vark.AardvarkProgram$AardvarkTarget.determineStringParamVal(AardvarkProgram.java:366)
at gw.vark.AardvarkProgram$AardvarkTarget.execute(AardvarkProgram.java:336)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at gw.vark.AardvarkProgram.runBuild(AardvarkProgram.java:159)
at gw.vark.Aardvark.run(Aardvark.java:169)
at gw.lang.Gosu.start(Gosu.java:131)
at gw.lang.launch.GosuLauncher.run(GosuLauncher.java:132)
at gw.lang.launch.GosuLauncher.main(GosuLauncher.java:45)
requires parameter "message"
I was working on a vark file in vedit, and the path to the file i'm in has spaces in it. For instance /SomePath/Some other path/build.vark or C:\Users\user\Vark Files\build.vark.
If I try to run it from vedit (Code > Run Target), it says the buildfile doesn't exist (I'm in it :D), and the path it prints is missing everything after the space.
Okay, I downloaded the zip file, unzipped it, now what?
Am I supposed to kick off a build from the source, or is everything ready to run?
If I poke around, I guess maybe the /bin/vark.cmd file should do something, but all I get is a stack trace:
Exception in thread "main" java.lang.NoClassDefFoundError: gw/vark/launch/Launch
er
Caused by: java.lang.ClassNotFoundException: gw.vark.launch.Launcher
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: gw.vark.launch.Launcher. Program will exit.
Many of the options mentioned if you do vark -help don't seem to work in 0.4. e.g:
C:\eng\diamond\rpt\active\main>c:\rpt\aardvark-0.4-preview2\bin\vark.cmd --verbose create-test-database
java.lang.IllegalArgumentException: "--verbose" is not expected to be followed by a param: "create-test-database"
C:\eng\diamond\rpt\active\main>c:\rpt\aardvark-0.4-preview2\bin\vark.cmd --verify create-test-database
java.lang.IllegalArgumentException: Unknown option: --verify
The output of -h/--help is also somewhat mangled, not sure what the System.out stuff means
C:\eng\diamond\rpt\active\main>c:\rpt\aardvark-0.4-preview2\bin\vark.cmd -h
Usage: vark [options] target [target2 [target3] ..]
Options:
--file use given buildfile
-f ''
--help, -h print this message and exit
--System.out.printlnger the class to perform System.out.printlnging
--projecthelp, -p print project help information
--quiet, -q be extra quiet
--verbose, -v be extra verbose
--verify verify Gosu code
--version print the version info and exit
(Had no luck working on the dev04 branch myself. The problematic class, ArgInfo, is in a dependency that doesn't seem to resolve and I can't find it in the normal Gosu distribution. If I use vark to try to build the Aardvark source it crashes - both 0.3 (no ivy) or 0.4 (odd looking gosu error). Also can't resolve the dependency to the aether ant classes)
e.g. aardvark-0.3.zip, aardvark-0.3.tgz
It's a shame that it takes over a second (or a few seconds) to initialize, even on a fast machine, for a small buildfile.
e.g.
function foo(arg : boolean) {}
vark foo -arg true
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at gw.internal.gosu.parser.GosuMethodInfo$GosuMethodCallHandler.handleCall(GosuMethodInfo.java:260)
at gw.vark.ProjectHelper$AardvarkTarget.execute(ProjectHelper.java:153)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
at gw.vark.Aardvark.runBuild(Aardvark.java:177)
at gw.vark.Aardvark.start(Aardvark.java:128)
at gw.vark.launch.Launcher.run(Launcher.java:99)
at gw.vark.launch.Launcher.main(Launcher.java:53)
If build folder contains spaces vark gives weird error.
c:/my folder/vark server
java.lang.AbstractMethodError: program_.__Program__0.evaluate(Lgw/lang/reflect/gs/IExternalSymbolMap;)Ljava/lang/Object;
at gw.vark.AardvarkProgram.maybeEvaluate(AardvarkProgram.java:121)
at gw.vark.AardvarkProgram.runBuild(AardvarkProgram.java:153)
at gw.vark.Aardvark.run(Aardvark.java:146)
at gw.lang.Gosu.start(Gosu.java:87)
at gw.lang.launch.GosuLauncher.run(GosuLauncher.java:116)
at gw.lang.launch.GosuLauncher.main(GosuLauncher.java:46)
program.__Program__0.evaluate(Lgw/lang/reflect/gs/IExternalSymbolMap;)Ljava/lang/Object;
Environment: Java 1.6, Mac OS X
This is relevant in VEdit, in which a user might try to add a #antlib definition and expect the types to be instantly available. For now, it would require a restart.
Give users a way to mark a .vark file as requiring a given version of Aardvark. The Aardvark bootstrap phase will scan for this token and quit if it's an inapplicable version.
function echo(message:String) {
Ant.echo(message)
}
Error:
program_.__Program__0
Errors:
The type "java.lang.String" cannot be converted to "java.lang.Boolean" [line:-28 col:12] in
line 1:
Expected Type: Boolean
Line Number: 2 Column: 12
We should investigate having VEdit running targets in the same JVM (as the vark shell does) to avoid the parsing time cost with spawning a new JVM each time you run a target.
Or we could have a console built into VEdit which has the vark shell running in a separate JVM. However, I think this detracts from the point of having a GUI.
For tasks we can't load due to a missing third-party jar (eg: scp), we should put in a deprecated typeinfo stub so that the user can somehow learn that the dependency is missing from the classpath.
Covering but not limited to the following:
Aardvark features
task call parameters
using Ant enums
target args
Ant type enhancements
Using Aardvark in Ant
VEdit
Tutorials
quick start
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.