Hi All,

<root>/src/main/java
<root>/src/test/java
<root>/src/main/resources
<root>/src/test/resources

is the default MVN layout. If prior approach is used, what you need to write
in  pom.xmls will be minimum.

If you guys thinking of Maven2 module as
woden-api
woden-impl-dom
woden-impl-om,

IMHO, following package structure will really aid in creating a clean OSGi
Woden bundles,
woden-api -> org.apache.woden.api
woden-impl-dom -> org.apache.woden.impl.dom
woden-impl-om - >org.apache.woden.impl.om

Since the prior change would break the backward compatibility in API, I
wouldn't suggest it at this moment. Prior structure would be consider as
nice to have.

Thank you!

Saminda

On Tue, Jun 24, 2008 at 6:30 PM, John Kaputin (gmail) <[EMAIL PROTECTED]>
wrote:

> Hi Jeff,
> You could make the changes and post patches. We would need a new JIRA to
> record the issue and capture your patches. That was how we handled changes
> which introduced the existing 3 module build last year. That was done by a
> summer intern student (non-committer).  If you'd like to take this on, I'd
> be willing to review your changes and do the committing.
>
> I'm not sure about a using 'java' twice in the directory structure you are
> proposing. For example:
> woden/java/woden-api/src/main/java
>
> Axis2 uses a structure like this:
> axis2/trunk/java/modules/<modulename>/src/<package>
> axis2/trunk/java/modules/<modulename>/test/<package>
> axis2/trunk/c/....
>
> ...where /java distinguishes the java product from the c product.
>
> WS Commons uses:
> commons/trunk/modules/axiom/modules/axiom-api/src/main/java/<package>
> commons/trunk/modules/axiom/modules/axiom-api/src/test/java/<package>
> commons/trunk/modules/XmlSchema/src/main/java/<package>
> commons/trunk/modules/XmlSchema/src/test/java/<package>
>
> ...where there are only java products as indicated by the use of /java
> below /modules.
>
> I think we only envisaged a java product, so how about we adopt something
> similar to WS commons, like:
> woden/modules/woden-api/src/main/java/<package>
> woden/modules/woden-api/src/test/java/<package>
>
> How about changing .../resources/main/java to simply .../resources (similar
> to the existing Woden and Axis2 convention)?
>
> The org.apache.woden package contains just some high level Woden API
> interfaces and classes. It does not contain OM or DOM implementation
> classes. The WSDLFactory class does specify DOMWSDLFactory as a hardcoded
> default factory implementation, but the DOMWSDLFactory class is defined in a
> separate DOM package.
>
> One problem still exists. Some of the internal classes are not OM or DOM
> specific. For example, the BaseXXXXXXX classes refactor common behaviour
> into a super class which some of the DOMXXXX and OMXXXX classes extend. We
> need to consider where to put them in this module structure.
>
> One more very important consideration. We still have the original ANT build
> and we want to preserve it. That was a criteria when we introduced the Maven
> build. Any change to the project directory structure must not break the ANT
> build, so that will need to be changed too.
>
> regards,
> John.
>
>
> On Mon, Jun 23, 2008 at 11:22 PM, Jeff MAURY <[EMAIL PROTECTED]>
> wrote:
>
>>
>>
>> On Mon, Jun 23, 2008 at 4:17 PM, John Kaputin (gmail) <
>> [EMAIL PROTECTED]> wrote:
>> >
>> > Hi Jeff,
>> > last year when the ANT and Maven build was changed to separate the API
>> and the DOM and OM implementations, there was some talk about building the
>> WSDL 2.0 tools into a separate tools module. At that time the only tool was
>> the converter, but the WSDL 2 printer has since been added. This could be a
>> good thing. Currently the converter is built into the DOM implementation
>> jar. It should probably be in a separate jar.
>> >
>> > Are you proposing to refactor the src/ directory into some other
>> maven-like module structure that matches the  modules created by the build?
>>  Can you  post a quick proposal.
>>
>> John,
>>
>> you are right. The layout I propose is a layout inspired by Maven
>> conventions. Please find a short description of what  I propose:
>>
>> woden/java/pom.xml: main woden pom declaring modules woden-api, woden-om,
>> woden-dom and woden-tool
>> woden/java/woden-api: directory for the Woden API under which we find
>> src/main/java: sources for packages org.apache.woden,
>> org.apache.woden.internal except tool, om, dom, ant
>> resources/main/java: resources (schemas, ...)
>> woden/java/woden-om: directory for the Woden OM Impl under which we find
>> src/main/java: all OM specific sources (org.apache.woden.internal.om). By
>> the way, I suggest that all OM related classes should be in the
>> org.apache.woden.internal.om whereas now some of them are under
>> org.apache.woden.
>> src/test/java: sources for the OM tests
>> src/test/resources: resources for the OM tests (WSDL, ...)
>> resources/main/java: resources (schemas, ...)
>> woden/java/woden-dom: directory for the Woden DOM Impl under which we find
>> src/main/java: all DOM specific sources (org.apache.woden.internal.dom).
>> By the way, I suggest that all DOM related classes should be in the
>> org.apache.woden.internal.dom whereas now some of them are under
>> org.apache.woden.
>> src/test/java: sources for the DOM tests
>> src/test/resources: resources for the DOM tests (WSDL, ...)
>> resources/main/java: resources (schemas, ...)
>>  woden/java/woden-tool: directory for the Woden Tool under which we find
>> src/main/java: Sources for the Converter.
>> src/test/java: sources for the converter tests
>> src/test/resources: resources for the converter tests (source WSDLs,
>> expected WSDL)
>> resources/main/java: resources (schemas, ...)
>>  woden/java/woden-ant: directory for the Woden Ant task under which we
>> find
>> src/main/java: Sources for the Ant task.
>> I don't see the use of the eclipseplugin folder, maybe by the felix plugin
>> ?
>> I don't know what to do with the wsdl-view because I can't guess how it is
>> used ? Maybe we need to put it into a separate module.
>>
>> The advantage of this layout is that we will keep the current JAR names
>> (even if the content will be slightly different), the dependency between the
>> POM will be removed (when I created a module for woden-tool, I need to
>> modify the other POMs in order to excludes all converter related stuff, and
>> the src and test directories will disappear.
>> Any comments ?
>> Jeff
>>
>>
>> >
>> >
>> > thanks,
>> > John.
>> >
>> > 2008/6/19 Jeff MAURY <[EMAIL PROTECTED]>:
>> >>
>> >> Hello,
>> >>
>> >> I have a simple question regarding the directory layout.
>> >> As I am working on the converter, I have created a small test framework
>> for the converter and added both classes and resources in the test
>> directory.
>> >> But it seems the converter is not yet compiled.
>> >> In order to test the converter, should I create a new tool or converter
>> module (like wooden-api, woden-om and wodem-dom). As there are lots of
>> dependencies between the modules, and the POMs are not really maven
>> compliant, shouldn't we start by refactoring the directory layout ?
>> >>
>> >> Thanks
>> >> Jeff
>> >>
>> >>
>> >> --
>> >> La mélancolie c'est communiste
>> >> Tout le monde y a droit de temps en temps
>> >> La mélancolie n'est pas capitaliste
>> >> C'est même gratuit pour les perdants
>> >> La mélancolie c'est pacifiste
>> >> On ne lui rentre jamais dedans
>> >> La mélancolie oh tu sais ça existe
>> >> Elle se prend même avec des gants
>> >> La mélancolie c'est pour les syndicalistes
>> >> Il faut juste sa carte de permanent
>> >>
>> >> Miossec (2006)
>> >>
>> >> http://www.jeffmaury.com
>> >> http://riadiscuss.jeffmaury.com
>> >> http://www.lastfm.fr/listen/user/jeffmaury/personal
>>
>>
>>
>> --
>>
>> La mélancolie c'est communiste
>> Tout le monde y a droit de temps en temps
>> La mélancolie n'est pas capitaliste
>> C'est même gratuit pour les perdants
>> La mélancolie c'est pacifiste
>> On ne lui rentre jamais dedans
>> La mélancolie oh tu sais ça existe
>> Elle se prend même avec des gants
>> La mélancolie c'est pour les syndicalistes
>> Il faut juste sa carte de permanent
>>
>> Miossec (2006)
>>
>> http://www.jeffmaury.com
>> http://riadiscuss.jeffmaury.com
>> http://www.lastfm.fr/listen/user/jeffmaury/personal
>>
>
>


-- 
Saminda Abeyruwan

Senior Software Engineer
WSO2 Inc. - www.wso2.org

Reply via email to