Ok- It seems like a good way forward is to assume usage of the maven plugin within Eclipse. I think this is a reasonable way to do it and will also keep us honest about being maven-agnostic. I entered a comment accordingly in the ticket.
Karl On Thu, Jul 14, 2011 at 10:04 AM, Farzad Valad <[email protected]> wrote: > I'm out of town, will resume Tue > > Sent from my iPhone > > On Jul 14, 2011, at 4:50 AM, Karl Wright <[email protected]> wrote: > >> I've created a ticket for this: CONNECTORS-223. If you could comment >> on the proposed plan before I start executing it, that would be great. >> I'll be happy to do all the needed tree rearrangement and build.xml >> changes if, once again, you are willing to handle the maven pieces. >> >> Thanks! >> Karl >> >> On Thu, Jul 14, 2011 at 5:33 AM, Karl Wright <[email protected]> wrote: >>> Yes, it's feasible to move the tests around. The maven unit test >>> convention I understand, and it is straightforward to adhere to it, >>> but what should the structure be for the end-to-end tests? Right now >>> these are under the root-level "tests" directory, and there are tests >>> for various combinations of framework and connectors. Each of these >>> under Maven should have its own directory and its own pom.xml, no? >>> They'd have no code under src/main/java and the test code would be >>> under src/test/java, correct? >>> >>> Karl >>> >>> On Thu, Jul 14, 2011 at 3:49 AM, tobr dev <[email protected]> wrote: >>>> I also tried to import mcf into eclipse but it does not work in an easy >>>> way. >>>> That's why I was looking for the maven integration. >>>> It is really easy to import the modules using maven and the m2eclipse >>>> plugin >>>> (Just import as maven project), but because of your project structure it is >>>> currently not possible to run tests. >>>> To fix this issue you could reorganize your tests and add them to the >>>> modules they belong. >>>> >>>> The maven plugin is also able to depend on the current SNAPSHOT versions of >>>> the project dependencies. >>>> >>>> But nevertheless it is not easy to maintain more than one build system and >>>> yours is currently ant. >>>> >>>> Just some thoughts on build tools and eclipse >>>> tob >>>> >>>> >>>> >>>> On Wed, Jul 13, 2011 at 8:41 PM, Karl Wright <[email protected]> wrote: >>>> >>>>> I'm going to go ahead and open the ticket. Please attach your >>>>> proposed patch(es) to it. CONNECTORS-222. >>>>> >>>>> I *would* like to avoid reorganizing the tree, except in a minor way. >>>>> Maven already forces a lot of cruft on us - we can't afford two >>>>> masters here. >>>>> >>>>> Karl >>>>> >>>>> >>>>> On Wed, Jul 13, 2011 at 2:31 PM, Karl Wright <[email protected]> wrote: >>>>>> Your proposal is then to change the structure of ManifoldCF to match >>>>>> the hierarchy in your .zip file? If we did that, maven would no >>>>>> longer work, and it might not be possible to get it to work. The ant >>>>>> build system would require major revisions. The documentation and >>>>>> book would all need changes too. >>>>>> >>>>>> I cannot believe that Eclipse is this rigid. Perhaps the issue is >>>>>> that you actually need multiple Eclipse projects? I can imagine a >>>>>> project for each jar, for instance, and a project for building and >>>>>> running the agents process which depends on the output of those >>>>>> upstream projects. How does Eclipse deal with debugging if you do >>>>>> something like that? >>>>>> >>>>>> Karl >>>>>> >>>>>> On Wed, Jul 13, 2011 at 12:53 PM, Farzad Valad <[email protected]> wrote: >>>>>>> It is not as bad as it seems : ) The only extra step right now is >>>>> checking >>>>>>> out the lcf source code. The projects I sent you are essentially the >>>>>>> eclipse settings you are looking for that would be loaded into the repo. >>>>>>> There are nothing in them beside eclipse settings and links to the lcf >>>>>>> source code. >>>>>>> >>>>>>> You got it, the patch would include the project files I sent and the >>>>> steps >>>>>>> to setup Eclipse. The only extra step right now is dealing with the zip >>>>>>> file that would get eliminated. That's the best I can see without >>>>> impacting >>>>>>> a lot of current structure, like the build files, the source paths, etc >>>>> etc. >>>>>>> The only major differece is that I trimmed down the build.xml file that >>>>> was >>>>>>> in framework. I stripped out the unit test stuff, the jetty packaging >>>>> and >>>>>>> war file creation, just to focus on what I needed. Maybe break down the >>>>>>> original build.xml to three or four grouped scripts for each task, like >>>>>>> building core, packaging jetty, running test. >>>>>>> >>>>>>> At this point, the best thing is for another person to try this out and >>>>> let >>>>>>> me know how it goes. >>>>>>> >>>>>>> On 7/13/2011 10:10 AM, Karl Wright wrote: >>>>>>>> >>>>>>>> Is there any way to provide a eclipse settings file that helps with >>>>>>>> the project setup? Or is this an entirely manual process? >>>>>>>> >>>>>>>> I am happy to open a Jira ticket to cover eclipse integration. It >>>>>>>> *sounds* like what the patch should contain would be some files that >>>>>>>> get checked into the source tree, and some instructions that probably >>>>>>>> should become part of a new web site page, "Running under Eclipse". >>>>>>>> Or do you have other ideas? >>>>>>>> >>>>>>>> Karl >>>>>>>> >>>>>>>> On Wed, Jul 13, 2011 at 10:41 AM, Farzad Valad<[email protected]> >>>>> wrote: >>>>>>>>> >>>>>>>>> So what is the verdict on the eclipse setup? Maybe we can work >>>>> through >>>>>>>>> one >>>>>>>>> example, like running the agent from eclipse, so I can fine tune the >>>>>>>>> setup >>>>>>>>> procedure. I figured out how to link the sources into the eclipse >>>>>>>>> project >>>>>>>>> without manual copying. You need two things, 1) check out the existing >>>>>>>>> lcf >>>>>>>>> project source into eclipse as lcf, 2) the eclipse projects: >>>>> mcflib-core, >>>>>>>>> mcflib-3rd, mcfAgentStart, and mcfAgentStop (Apache mail server has a >>>>> 1MB >>>>>>>>> limit, download from >>>>>>>>> http://www.farzad.net/apache/MCFAgentEclipseProjects.zip) >>>>>>>>> >>>>>>>>> For the first item, using Eclipse checkout the source path lcf from >>>>>>>>> apache >>>>>>>>> repository. You'll need to install the SVN plugin for Eclipse if you >>>>>>>>> don't >>>>>>>>> have it. For the second item, extract the zip file into a temp >>>>> location. >>>>>>>>> Import the 4 projects into eclipse by File->Import->select "Existing >>>>>>>>> Projects into Workspace", then point to one of the folders. Would >>>>> need >>>>>>>>> to >>>>>>>>> do this four times. Inside Eclipse, the start and stop projects would >>>>>>>>> have >>>>>>>>> a red exclamation mark, because the core libs are missing >>>>> intentionally. >>>>>>>>> Expand the mcflib-core project and run the "build.xml" file. Refresh >>>>>>>>> the >>>>>>>>> projects and you should not see any errors. >>>>>>>>> >>>>>>>>> Run the mcfAgentStart project as a Java Application and include the VM >>>>>>>>> parameter of -Dorg.apache.manifoldcf.configfile=properties.xml. If >>>>>>>>> succesful, you'd see the message "Running... " and "Configuration file >>>>>>>>> successfully read". To stop the agent, run the mcfAgentStop project >>>>> as a >>>>>>>>> Java Application and include the same VM parm. You can debug and set >>>>>>>>> break >>>>>>>>> points by running the debugger in eclipse against the same two >>>>> projects. >>>>>>>>> >>>>>>>>> Assuming all went well, that is what it takes to run the agent. >>>>>>>>> Thoughts? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >
