Differences between revisions 1 and 2
Revision 1 as of 2007-08-01 20:19:30
Size: 2549
Editor: pix39
Comment:
Revision 2 as of 2007-08-05 10:13:22
Size: 3255
Editor: csik
Comment: add a usecase
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:
DanielAbel - 8/5/2007

I would like to add a usecase which should be made much easier with such a refactor. For testing / debugging purposes, it is really usefull if one can edit _any_ .java file, whether in a plugin, a coreplugin, core cytoscape or a core library, run an automated build process, and get everything rebuilt. This should be a trivial process. However, currently it is not. I had to severly edit the build.xml files to tie the seperate build.xml files together, copy the produced .jar files in the right place, etc. As far as I could see, there is currently no fully automated build process, despite the fact that everything uses ant. The seperate ant builds are not connected together.

RFC Name : Dependency Management/Build Process

Editor(s): Sarah Killcoyne

Status: In progress

TableOfContents([2])

Proposal

Add a build process to Cytoscape, to streamline builds for both developers and users.

Biological Questions / Use Cases

  • Many users like specific plugins or have a paper referencing a specific version of Cytoscape and plugin. Builds of the old Cytoscape’s with the plugins that were compatible at the time would make reproducing results from these papers far simpler.
  • Simplify library updating/clean up by not keeping all required libraries in the repository
  • Tracking a library version would also be simpler and again easier to update
  • Core libraries can be built and put in a maven type repository with versioning, again to make it easy to update/clean the libraries through the build process rather than subversion
  • Also could be used for creating some generic "skins" for Cytoscape (not user specific necessarily)

General Notes

Maven can utilize ant build scripts so this would use what we currently have and add more control to the libraries. Single "pom" file can handle checking out the most recent code from the repository and building it, streamlining the process for users who don't want to pick their way through subversion in order to create a local build for plugin development.

Requirements

  • 1 month FTE

Deferred Items

Open Issues

Backward Compatibility

References

http://maven.apache.org/

Comments

DanielAbel - 8/5/2007

I would like to add a usecase which should be made much easier with such a refactor. For testing / debugging purposes, it is really usefull if one can edit _any_ .java file, whether in a plugin, a coreplugin, core cytoscape or a core library, run an automated build process, and get everything rebuilt. This should be a trivial process. However, currently it is not. I had to severly edit the build.xml files to tie the seperate build.xml files together, copy the produced .jar files in the right place, etc. As far as I could see, there is currently no fully automated build process, despite the fact that everything uses ant. The seperate ant builds are not connected together.

How to Comment

Edit the page and add your comments under the provided header. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.

DependencyManagement (last edited 2009-02-12 01:03:13 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux