[kepler-dev] starting an Actor IO package
Jianwu Wang
jianwu at sdsc.edu
Tue Jul 8 00:19:45 PDT 2008
Hi Tristan,
Thanks for your great work. I tried to follow your steps, but get
the following error. I changed the pom.xml according to the mvn
--version info (deleting other profile and add os name). But still
failed. Any comments?
D:\Kepler\repository\hydrant>mvn --version
Maven version: 2.0.8
Java version: 1.5.0_15
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
D:\Kepler\repository\hydrant>mvn compile exec:exec -e
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO]
------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [compile, exec:exec]
[INFO]
------------------------------------------------------------------------
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Cannot execute mojo: resources. It requires a project with an
existing po
m.xml, but the build is not using one.
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Cannot execute
mojo: res
ources. It requires a project with an existing pom.xml, but the build is
not usi
ng one.
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:564)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
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:585)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot
execute mojo:
resources. It requires a project with an existing pom.xml, but the build
is not
using one.
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:373)
Best wishes
Sincerely yours
Jianwu Wang
jianwu at sdsc.edu
Post-Doctor
Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center
University of California, San Diego
San Diego, U.S.A.
Tristan King wrote:
> Hi All,
>
> I've modified how my prototype works and built an example extension
> that demos how easy it is to build new a new view for actor outputs.
>
> I now use one generic IOFactory which uses spring to load the output
> "devices". the spring config to use is passed in as a system property
> so it can be easily changed.
>
> I have built console output in as the default for which i've built a
> text output device and a graph output device, and modified the
> Display, XYPlotter and TimedPlotter actors to take advantage of these
> (note that this required breaking a lot of other code that depends on
> the XYPlotter and TimedPlotter actors).
>
> Today I built a text output device which opens up a SWT window to
> display text in. It is in it's own maven project and doesn't require
> that you have the ptII source on your system as the ptII jar (my
> actorio version) and all it's dependencies are stored in a maven
> repository. This small package works on linux and windows, but i'm
> having trouble with the macosx swt libraries. It's not bug free, but i
> think it's a good proof-of-concept.
>
> to play with this:
> * install maven http://maven.apache.org/download.html
> * install git (http://code.google.com/p/msysgit/ works great on windows)
> * clone ptII-swt (git clone
> git://git.hpc.jcu.edu.au/jc124742/ptII-swt.git
> <http://git.hpc.jcu.edu.au/jc124742/ptII-swt.git>)
> (the above two steps can be skipped by downloading the latest snapshot
> from http://www.hpc.jcu.edu.au/git/?p=jc124742/ptII-swt.git;a=summary)
> * compile and run using maven "mvn compile exec:exec" (this will take
> a while the first time as maven has to download all the dependencies)
> * make/load a workflow that uses the display actor and run it.
>
> If it has compile errors on the maven step, please run the command
> mvn --version
> and send me the results (if you feel technical, you can find the
> activation section in the pom.xml file and fix up the os info to match
> the results from mvn --version)
>
> And if you feel like playing, you can edit the properties in
> src/main/resources/au/edu/jcu/eresearch/ptolemy/swt/spring-confix.xml
> to modify the default width and height of the window (requires mvn
> compile exec:exec again to apply the changes).
>
> Comments?
>
> Cheers
> -Tristan
>
> On Thu, Jul 3, 2008 at 2:42 PM, Tristan King <tristan.king at jcu.edu.au
> <mailto:tristan.king at jcu.edu.au>> wrote:
>
> I've started doing a bit of work on building an actor IO package
> (ptolemy.actor.io <http://ptolemy.actor.io>)
>
> The purpose of this is to provide user input and output for actors
> so that the actors themselves don't have to be responsible for how
> they get user input, or how output is displayed. This will help to
> build actors that are useable in gui and
> headless environments without having to have modified actors for
> each situation.
>
> I've built a simple prototype which uses an IO factory which
> is embedded in the Manager (since all actors can get access to the
> manager which controls them). When an actor requires an IO
> "device" it makes a request to the IO factory which returns an
> instance of the desired "device". For example, the Display actor
> requests a Text-based output device. This device implements a
> standard text based output device interface which has a
> write(String) function, and all the Display actor has to do is
> "write" the text to the device which handles how to display
> it. I've used spring to instantiate the correct IOFactory so that
> in the case of vergil, each manager is loaded with a
> ptolemy.vergil.io.VergilIOFactory and if vergil is not used the
> manager defaults to a ptolemy.actor.io.HeadlessIOFactory.
>
> My work is currently stored in my ptII git mirror, in a branch
> which has been converted for maven compilation.
> If you want to clone the whole repository here are the git
> commands to clone the repository and to get to the branch (this
> will take a while):
>
> git clone git://git.hpc.jcu.edu.au/jc124742/ptII.git
> <http://git.hpc.jcu.edu.au/jc124742/ptII.git>
> git checkout -b actorio origin/actorio
>
> or you can download the current snapshot of the branch (which is
> about 35mb) from:
> http://www.hpc.jcu.edu.au/git/?p=jc124742/ptII.git;a=shortlog;h=refs/heads/actorio
> you can then run it by doing:
>
> mvn compile # compiles the code, may take a while the first time
> while maven sorts out it's dependencies
> mvn exec:exec # starts vergil
>
> then fire up any workflow while uses a Display actor. Note that
> i'm rubbish with swing and some of the window placing/sizing
> functionality has been removed to facilitate the separation of the
> actor from the visualisation, so the display window isn't nearly
> as good as the old one. If you start the workflow using
> MoMLSimpleApplication (i.e:
>
> mvn compile
> java -cp
> target/classes:$HOME/.m2/repository/org/springframework/spring-context/2.0.8/spring-context-2.0.8.jar:$HOME/.m2/repository/org/springframework/spring-beans/2.0.8/spring-beans-2.0.8.jar:$HOME/.m2/repository/org/springframework/spring-core/2.0.8/spring-core-2.0.8.jar:$HOME/.m2/repository/log4j/log4j/1.2.15/log4j-1.2.15.jar:$HOME/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
> ptolemy.actor.gui.MoMLSimpleApplication ../test.xml
>
> ) it will print the output of any Display actors to the console.
>
> If other people want to work on this, I will create a new branch
> for it on the ptolemy II svn (it requires a few changes to the
> core of ptolemy so i'm not gonna commit it to the trunk) and put
> it there in makefile building mode.
>
> So, is anyone else interested in this? I think it's a key
> component in making kepler available in multiple environments. But
> it's a big change, much too big to be left up to one person. I
> would feel a lot more comfortable with a bunch of people telling
> me my ideas and designs are rubbish and help me build a good
> system rather than to build something that no one but me wants to use.
>
> Things that need to be done:
> * My factory idea and prototype architecture needs to be criticised.
> * Types of "devices" need to be defined (i.e. text output, image
> output, file output, graph output, etc)
> * IO Factory and device interfaces need to be defined.
> * Existing actors need to be modified to use the factory.
> * standard factory implementations need to be written (i.e. I'm
> rubbish at swing and thus someone else should do the vergil factory).
>
> Comments? Ideas? Criticisms?
> Cheers
> -Tristan
>
> --
> Tristan King
> Research Officer,
> eResearch Centre
> James Cook University, Townsville Qld 4811
> Australia
>
> Phone: +61747816902
> E-mail: tristan.king at jcu.edu.au <mailto:tristan.king at jcu.edu.au>
> www: http://eresearch.jcu.edu.au
>
>
>
>
> --
> Tristan King
> Research Officer,
> eResearch Centre
> James Cook University, Townsville Qld 4811
> Australia
>
> Phone: +61747816902
> E-mail: tristan.king at jcu.edu.au <mailto:tristan.king at jcu.edu.au> www:
> http://eresearch.jcu.edu.au
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-dev/attachments/20080708/bb7554a0/attachment.html>
More information about the Kepler-dev
mailing list