[jitsi-dev] Maven's Standard Directory Layout


#1

Dear developers,

Maven defines and defaults to "Standard Directory Layout" as described
at https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
which is different than what we have. Maven says that "[h]aving a
common directory layout would allow for users familiar with one Maven
project to immediately feel at home in another Maven project."

We do not currently use Maven's Standard Directory Layout. For
example, our Java source files currently located at src would by
default be expected at src/main/java and our Java source files
currently located at test would by default be expected at
src/test/java. If we don't move the files in the respective default
locations, we'll have to override the defaults in the poms and,
obviously, lose the familiarity with Maven projects. How do we want to
proceed here?

Thank you,
Lyubo Marinov


#2

For the time beeing I'd strongly suggest to override the location of the src files. This way the existing build infrastructure doesn't need to be touched (yet). Once all the Maven sourroundings are set up and everything is working fine, a move to the standard-layout will be very easy.

ESPECIALLY for ice4j, as SVN cannot handle renames/moves properly and we need to wait until it is also moved to GitHub.

Freundliche Grüsse,
Ingo Bauersachs

-- sent from my mobile

···

On 19.06.2015, at 06:04, Lyubomir Marinov <lyubomir.marinov@jitsi.org> wrote:

Dear developers,

Maven defines and defaults to "Standard Directory Layout" as described
at https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
which is different than what we have. Maven says that "[h]aving a
common directory layout would allow for users familiar with one Maven
project to immediately feel at home in another Maven project."

We do not currently use Maven's Standard Directory Layout. For
example, our Java source files currently located at src would by
default be expected at src/main/java and our Java source files
currently located at test would by default be expected at
src/test/java. If we don't move the files in the respective default
locations, we'll have to override the defaults in the poms and,
obviously, lose the familiarity with Maven projects. How do we want to
proceed here?

Thank you,
Lyubo Marinov

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Hey, Ingo!

Thank you very much for replying!

For the time beeing I'd strongly suggest to override the location of the src files. This way the existing build infrastructure doesn't need to be touched (yet). Once all the Maven sourroundings are set up and everything is working fine, a move to the standard-layout will be very easy.

In my opinion, the build infrastructure will be broken by the very
switch to Maven. Consequently, I don't see why I'd want to break it
again afterwards and, especially, go through the testing later on.

ESPECIALLY for ice4j, as SVN cannot handle renames/moves properly and we need to wait until it is also moved to GitHub.

I have to admit my Subversion knowledge is progressively diminishing.
I'm looking at the Subversion repository of the weupnp project (a
dependency of ice4j) and their history was preserved seemingly fine
during the switch to Maven and a non-related package renaming.

Additionally, we have to move ice4j away from Google Code by the end
of the year anyway. That would be yet another potential break of the
build infrastructure.

Best regards,
Lyubo Marinov

···

2015-06-18 22:51 GMT-05:00 Ingo Bauersachs <ingo@jitsi.org>:


#4

Hi,

Hey, Ingo!

Thank you very much for replying!

For the time beeing I'd strongly suggest to override the location of the src files. This way the existing build infrastructure doesn't need to be touched (yet). Once all the Maven sourroundings are set up and everything is working fine, a move to the standard-layout will be very easy.

In my opinion, the build infrastructure will be broken by the very
switch to Maven. Consequently, I don't see why I'd want to break it
again afterwards and, especially, go through the testing later on.

I guess it also depends on how we do the conversion to a Maven project.
If you have a script to automate everything and convert it in one go,
*including* making all the subprojects for each of the plugins, then I
can imagine moving sources around together with the introduction of
Maven. I have also done some reconfiguring to preserve an older
directory layout, and that works pretty well too.

I personally am actually fine with both, but would like to end up with
the default directory layout eventually. So in that case I would want to
see the customized directory layout as a first step in introducing Maven.

ESPECIALLY for ice4j, as SVN cannot handle renames/moves properly and we need to wait until it is also moved to GitHub.

I have to admit my Subversion knowledge is progressively diminishing.
I'm looking at the Subversion repository of the weupnp project (a
dependency of ice4j) and their history was preserved seemingly fine
during the switch to Maven and a non-related package renaming.

Subversion "simulates" moves by copying from one location to another
*with* preservation of history. (So instead of introducting a new object
in the new location, you introduce an existing object with history
attached in a new location). In principe this looks like a rename, but
when you go move files and directories around a lot, it is not always
easy to merge. You can alleviate that difficulty somewhat by not
modifying files while you are moving them. (Or otherwise, very
minimally) Doing this may allow svn to detect the same file at another
location as "the same" because it is 100% binary equal, just at a
different location.

Additionally, we have to move ice4j away from Google Code by the end
of the year anyway. That would be yet another potential break of the
build infrastructure.

I would say, just do it in one go then?

···

On 19-06-15 18:41, Lyubomir Marinov wrote:

2015-06-18 22:51 GMT-05:00 Ingo Bauersachs <ingo@jitsi.org>:

Best regards,
Lyubo Marinov

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev