You remember correctly. This was voted on way before Apache. We did have interest in this kind of distribution before. However, even though it may be easy to create an uber jar, perhaps we should step back and verify the definition of our users. I always thought there were 2 (user, developer) as defined in the current doc here: https://wiki.nci.nih.gov/display/VKC/cTAKES+2.5#cTAKES25-DownloadandInstall
Some of the other JIRA items being discussed make me think there may be these: 1) A "user" (researcher but non-programmer) wants value from cTAKES with no compiles, no dev env, just simple download/install/use. 2) A programmer new to cTAKES wants to take the whole, as quickly as possible, into some kind of dev env, hopes not to have to deal with any dependency or build issues (given that that take a stable release) and invoke the APIs. Kick the tires is the notion. 3) A programmer uses cTAKES as a black-box. They take cTAKES as a whole, perhaps minimal changes, include everything. Dictionaries could be replaced by them if they desire. 4) An experienced cTAKES developer - mash cTAKES into any form they want, change it, possibly contribute to Apache. Builds could be accomplished from a number of IDEs. Questions that come to mind. These are meant to be food-for-thought questions: Do we support all kinds of dev environments? Only a few? Is there a priority order, like Eclipse only, Eclipse plus Maven, command line, others. (Current doc recommends Eclipse but also documents command line. For anything else the programmer is expected to extrapolate.) Do we require a developer to have Maven to build cTAKES? Would an uber jar support the 2) and 3)? Do we want to try to support all the user scenarios we come up with or only certain ones? With only the UIMA CPE GUI, did we ever really support a non-programmer user? Will the new GUI in the sandbox be such support? Would you all mind vetting out these user types via this email thread? If we can settle on who the users are, trying to keep it generalized to avoid 10s of variations, I think this will shed a lot of light on current and future JIRA items. Thanks Troy -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Chen, Pei Sent: Tuesday, October 09, 2012 11:14 AM To: [email protected] Subject: cTAKES uber jar distribution If I recall correctly, I believe there was interest and a consensus to have an additional optional cTAKES binary distribution as an standalone executable jar with all of its dependencies included. This is in additional to a simple cTAKES maven dependency or it's module jars for developers to include directly into their projects [geared towards end-users in addition to the future web configuration gui that is currently in sandbox now]. I believe the creation of some uber jar for deployment should be easily accomplished now using either the maven assembly plugin or shade plugin. [May have to make some minor tweaks to the existing main pom such as separating out the inheritance vs the aggregator specific functions such as shading - which is probably a good idea anyway]. Does an uber jar still sound useful or should we wait until we create a war (with separate dependency jars in the standard WEB-INF/lib) which will be part of the web gui very soon anyway? If anyone has any concerns/objections/suggestions, please let us know- or better yet just open a jira and contribute to it :). --Pei
