[ 
https://issues.apache.org/jira/browse/CONNECTORS-92?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902814#action_12902814
 ] 

Jettro Coenradie commented on CONNECTORS-92:
--------------------------------------------

Sorry, but why is it easier to have one src for the complete framework. To my 
opinion the source code becomes a lot easier to understand if you make it 
explicit what the different modules are.  Besides that, maven just does not 
work that way. It is also a lot harder when depending on these parts. The way I 
see it, we have already three different war files. The other jars are shared 
between the three war files. This way it becomes clear what deliverables there 
are without looking at the code. Just he directory structure is enough. It is 
also very easy to just compile/package one component. Step into the right 
directory and execute mvn clean install and you are done.

I can imagine that the scripts and ant files become a little more complicated 
to change, but I think it is worth the effort to get a cleaner project layout.

I did not have a good look at the Jetty runner yet. But I see it is a class 
with a very large main method. With maven it is not hard to make an executable 
jar file. Together with the assembly plugin and an overlay of the original 
crawler this should not be to hard to create.

The integration tests can be put in one project to store them all, but you can 
also place the integration tests into the project that it is actually testing. 
Maven has a lifecycle phase for integration tests. Not sure that for instance 
the FileSystems tests are actually doing. What to they need to run? I see they 
have a requirement for multiple war files. So it seems logical to me to put 
them in a separate module. Give them dependencies on the framework modules and 
run them of you are executing the integration-test phase of maven.

The environment related projects can be executed like they are executed now 
using ant. We can for instance create one maven module on top of them that 
executes these builds together with the package phase of maven. We could also 
provide a profile that the build is only executed if you explicitly tell it to.

I hope this makes sense to you. Sometime it is hard to explain for me because I 
am so used to using maven nowadays that I might overlook something why others 
think it is hard to use.

> Move from ant to maven or other build system with decent library management
> ---------------------------------------------------------------------------
>
>                 Key: CONNECTORS-92
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-92
>             Project: Apache Connectors Framework
>          Issue Type: Wish
>          Components: Build
>            Reporter: Jettro Coenradie
>         Attachments: move-to-maven-acf-framework.patch, Screen shot 
> 2010-08-23 at 16.31.07.png
>
>
> I am looking at the current project structure. If we want to make another 
> build tool available I think we need to change the directory structure. I 
> tried to place a suggestion in an image. Can you please have a look at it. If 
> we agree that this is a good way to go, than I will continue to work on a 
> patch. Which might be a bit hard with all these changing directories, but 
> I'll do my best to at least get an idea whether it would be working.
> So I have three questions:
> - Do you want to move to maven or put maven next to ant?
> - Do you prefer another build mechanism [ant with ivy, gradle, maven3]
> - Do you have an idea about the amount of scripts that need to be changed if 
> we change the project structure
> The image of a possible project layout (that is based on the maven standards) 
> is attached to the issue

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to