Hello Stian, Thank you for your really detailed answer. I am really glad for your support. If I have questions I'll be back.
Regards Andreas Stian Soiland-Reyes schrieb: > On Wed, May 19, 2010 at 10:04, Andreas Truszkowski <[email protected]> > wrote: > > >> I want to get rid of the maven repository in my Taverna 2.1.2 plugin. Is >> there any documentation of which folders and files are needed to >> maintain a proper structure of the plugin so that it also works with >> taverna? >> > > I'm not quite sure what you mean.. do you mean how you can deploy your > plugin so that it is world-wide installable to a fresh Taverna, or how > you can make a specialized distribution of Taverna including your > plugin? > > To deploy your plugin you'll need to have a web-space available > somewhere. Assuming this is locally on your machine on > /home/stain/public_html/ make a sub-folder for the maven repository, > call it "maven". Then you'll need to modify your POM to include a > <distributionManagement> section. This is Taverna's section: > > <distributionManagement> > <repository> > <id>mygrid-repository</id> > <name>myGrid Repository</name> > <!-- on rosalind.cs.man.ac.uk (www.mygrid.org.uk) --> > <url>file:///local/www/mygrid/maven/repository</url> > </repository> > <snapshotRepository> > <id>mygrid-snapshot-repository</id> > <name>myGrid Snapshot Repository</name> > <!-- on rosalind.cs.man.ac.uk (www.mygrid.org.uk) --> > > <url>file:///local/www/mygrid/maven/snapshot-repository</url> > </snapshotRepository> > </distributionManagement> > > You can also use scp://machinename/remote/path or > sftp://machinename/remote/path to use scp or sftp. > > You should then also have also correctly specified your <scm> section > of your Subversion/git/CVS details, for example: > > <scm> > > <connection>scm:svn:http://taverna.googlecode.com/svn/taverna/engine/net.sf.taverna.t2.core/trunk/</connection> > > <developerConnection>scm:svn:https://taverna.googlecode.com/svn/taverna/engine/net.sf.taverna.t2.core/trunk/</developerConnection> > > <url>http://code.google.com/p/taverna/source/browse/#svn/taverna/engine/net.sf.taverna.t2.core/trunk</url> > </scm> > > > You should then be able to run mvn release:prepare [1] to set what > your released version number is to be (they should not be ending in > -SNAPSHOT, as that is a moving target), and then finally mvn > release:perform, which will do the tagging and run mvn deploy for you, > which should deploy you POMs and JARs to the specified > distributionManagement location. > > > You would then be able to update your Taverna plugin file to include > that Maven repository. See for example > http://www.mygrid.org.uk/taverna/updates/2.1.2/plugins/prototype/sadi-plugin-0.2.0.xml > which includes: > > <repositories> > <repository>http://dev.biordf.net/maven</repository> > .. > </repositories> > > Put your plugin file, for instance myplugin-0.1.xml in a "plugins" > folder on your web server, probably sister folder to the "maven" > folder you made before. Then make a file in the same folder called > pluginlist.xml, and inside add a reference to the plugin file you just > made: > > <plugins> > <plugin>myplugin-0.1.xml</plugin> > </plugins> > > > Now you should be able to add http://mywebserver/plugins/ as a > plugin-site in a blank installation of Taverna. Remember the the > trailing / - as Taverna will add "pluginlist.xml" to the URL to look > for the available plugins. If no available plugins appear, > double-check that your plugin specifies: > > <compatibility> > <application> > <version>2.1.2</version> > </application> > </compatibility> > > > If you later want to release an update to the plugin, repeat the > procedure, but use a new version number of the Maven artifact. Copy > and modify the plugin file, update both the <dependency> section to > refer to your new version, and the top level <version>. Taverna will > automatically pick the latest plugin version if starting from scratch, > or if a previous plugin is installed, it will detect the update and > give the user a notification on start-up. > > It is very important that you use new plugin and maven artifact > versions, otherwise users who installed your older version of the > plugin will be left in the dark. Taverna will only download Maven > artifacts it can't find in it's "repository" folders (in the > distribution and the Taverna home directory), so without a new version > number Taverna would use the JAR previously downloaded. > > (While developing locally this should not be a problem, as your plugin > file will include file:///Users/myuser/.m2/repository - and mvn > install will overwrite the JAR in .m2/repository) > > > You might find that your plugin have used third-party JARs which are > not included in the official Maven repositories. If they are available > from other Maven repositories, include those as <repository> > statements. Alternatively you can use mvn deploy-file [2] to deploy > them to the same Maven repository as your plugin. > > > [1] http://maven.apache.org/plugins/maven-release-plugin/ > [2] http://maven.apache.org/plugins/maven-deploy-plugin/usage.html > > > As for making a bundled-Taverna with your plugin pre-installed, you > can then simply copy the plugins.xml and plugin_sites.xml from your > Taverna home directory "plugins" folder to the matching "plugins" > folder in the Taverna installation, in addition to copying all the > content of your home directory "repository". > > > >> P.S.: Is it conceivable when the deployment tutorial is done? >> > > I'm afraid that will have to delayed till we have released Taverna > 2.2, which is scheduled for first week of June. > > ------------------------------------------------------------------------------ _______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
