← Back to team overview

syncany-team team mailing list archive

Re: Maven build

 

Hello,
First of all, congrats Julien for making the syncany build use Maven !
if I may comment,
> The "right Maven way" would be to deploy those dependencies in some public
> repository, as it was said before. Any subdomain at syncany.org with FTP
> access for the one who will deploy the artifacts could do it.

the even more "right maven way" would be to publish to Maven Central
https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide

what do you think ?

Best regards,
Anthony

On Wed, Jun 22, 2011 at 5:53 PM, Julien Nicoulaud
<julien.nicoulaud@xxxxxxxxx> wrote:
> Hi Philipp,
>
> 2011/6/21 Philipp Heckel <philipp.heckel@xxxxxxxxx>
>>
>> Hallo Julien,
>>
>> this is perfect. That's exactly how I wanted it to be. Great job!
>> I have to get used to the whole Maven thing, and I suppose that could
>> take a while. I love how it integrates with NetBeans...
>
> Nice to hear :)
>>
>> I could get it to compile after a while from within NetBeans, but on
>> the command line, it didn't find any dependencies and kept complaining
>> about the source code being java v1.3 (log attached).
>
> Sorry about that, this is because I use Maven 3 and the Java level is set to
> 1.6 by default, which is not the case for Maven 2. I pushed some new changes
> to force Java 1.6, whatever the version of Maven is used.
>>
>> In Netbeans, no dependencies would show at all in the individual
>> plugins list until I added some jar manually via the context menu (add
>> dependency). Once I did that, all the other dependencies appeared.
>
> Yes, this is because the build installs those dependencies in the local
> Maven repository, so you need to build at least once on the command line to
> have all those depedencies properly installed and let Netbeans find them.
> You have one example of this
> here: http://bazaar.launchpad.net/~julien-nicoulaud/syncany/maven/view/head:/syncany/syncany-core/pom.xml#L82
> The "right Maven way" would be to deploy those dependencies in some public
> repository, as it was said before. Any subdomain at syncany.org with FTP
> access for the one who will deploy the artifacts could do it.
>>
>> I think once these few issues are resolves, it'll work perfectly. Did
>> you already add all dependencies for the individual plugins, or is
>> this just a preview version? I didn't have the time to check...
>
> Yes, I did, it is supposed to work fine out of the box now :)
>>
>> Cheers,
>> Philipp
>>
>> On Mon, Jun 20, 2011 at 2:40 AM, Philipp Heckel
>> <philipp.heckel@xxxxxxxxx> wrote:
>> > Great. I'll try it tomorrow.
>> >
>> > On Sun, Jun 19, 2011 at 10:29 PM, Julien Nicoulaud
>> > <julien.nicoulaud@xxxxxxxxx> wrote:
>> >> Hi,
>> >>
>> >> I have pushed in the branch, the build now generates a working
>> >> assembly, you
>> >> can test it this way:
>> >>    bzr branch lp:~julien-nicoulaud/syncany/maven
>> >>    cd syncany/syncany
>> >>    mvn clean install
>> >>
>> >>  syncany-assemblies/target/syncany-*-assembly/syncany-*/bin/syncany.sh
>> >> Tell me what you think !
>> >>
>> >> Cheers,
>> >> Julien
>> >> 2011/6/14 Philipp Heckel <philipp.heckel@xxxxxxxxx>
>> >>>
>> >>> Hey Julien,
>> >>>
>> >>> I've briefly browsed through the code and rearrangements you did. I
>> >>> think it really looks good! Do you have a lot of experience in this?
>> >>
>> >> I've done this a few times :)
>> >>
>> >>>
>> >>> I
>> >>> will definitely take a closer look in the next days!
>> >>>
>> >>> Cheers,
>> >>> Philipp
>> >>>
>> >>> On Mon, Jun 13, 2011 at 10:28 PM, Julien Nicoulaud
>> >>> <julien.nicoulaud@xxxxxxxxx> wrote:
>> >>> > OK, I've started it in the branch
>> >>> > (https://code.launchpad.net/~julien-nicoulaud/syncany/maven). For
>> >>> > now
>> >>> > the
>> >>> > project compiles and generates an (unusable) assembly, the work is
>> >>> > still
>> >>> > in
>> >>> > progress but you can already see the structure (please stop me right
>> >>> > here if
>> >>> > it's not OK). Only a few jars remain checked in version control.
>> >>> > Also, I will add the config for izpack so you can see how easy it is
>> >>> > to
>> >>> > generate a cross-platform installer with Izpack+Maven.
>> >>> > Cheers,
>> >>> > Julien
>> >>> >
>> >>> > 2011/6/13 Philipp Heckel <philipp.heckel@xxxxxxxxx>
>> >>> >>
>> >>> >> Alright then :-D
>> >>> >> I'm convinced!
>> >>> >>
>> >>> >> On Mon, Jun 13, 2011 at 6:06 PM, Julien Nicoulaud
>> >>> >> <julien.nicoulaud@xxxxxxxxx> wrote:
>> >>> >> > Nice, I will start working on it in this branch:
>> >>> >> > https://code.launchpad.net/~julien-nicoulaud/syncany/maven
>> >>> >> > I will let you know when it's ready for testing.
>> >>> >> >
>> >>> >> > 2011/6/13 nocans@xxxxxxxxx <nocans@xxxxxxxxx>
>> >>> >> >>
>> >>> >> >> I'm all for it, and it sounds a nice opportunity to learn more
>> >>> >> >> about
>> >>> >> >> maven.
>> >>> >> >> I will see what I can do about us having a repo so we can have
>> >>> >> >> cake
>> >>> >> >> and
>> >>> >> >> eat it!
>> >>> >> >>
>> >>> >> >> On Mon, Jun 13, 2011 at 11:23 AM, Julien Nicoulaud
>> >>> >> >> <julien.nicoulaud@xxxxxxxxx> wrote:
>> >>> >> >>>
>> >>> >> >>> Hi all,
>> >>> >> >>> Let me give the main reasons why I made this proposition:
>> >>> >> >>>  - Right now the project is quite difficult to setup in other
>> >>> >> >>> IDEs
>> >>> >> >>> than
>> >>> >> >>> Netbeans (IntelliJ IDEA user here). Maven benefits of a great
>> >>> >> >>> integration
>> >>> >> >>> with most IDEs, so it makes it easier for developers to get
>> >>> >> >>> started.
>> >>> >> >>>  - The Java libraries are checked in version control, which
>> >>> >> >>> makes
>> >>> >> >>> it
>> >>> >> >>> very
>> >>> >> >>> heavy. Maven pulls dependencies from repositories.
>> >>> >> >>>  - The packaging and distribution of assemblies is easy, we can
>> >>> >> >>> easily
>> >>> >> >>> package an assembly for Windows, Linux, for development, etc.
>> >>> >> >>> through
>> >>> >> >>> descriptor files.
>> >>> >> >>>  - The modularisation could be improved, for example it seems
>> >>> >> >>> to me
>> >>> >> >>> that
>> >>> >> >>> subpackages in org.syncany.connection.plugins should be
>> >>> >> >>> packaged in
>> >>> >> >>> different Jars ?
>> >>> >> >>>  - Also, Maven can handle the release process (doing a VCS tag,
>> >>> >> >>> generating the release artifacts, bump version numbers, etc),
>> >>> >> >>> but
>> >>> >> >>> it's
>> >>> >> >>> not
>> >>> >> >>> mandatory.
>> >>> >> >>>
>> >>> >> >>> @Jason: We don't really need a repo, I took a quick look and
>> >>> >> >>> here
>> >>> >> >>> is
>> >>> >> >>> the
>> >>> >> >>> list of dependencies in libs/** that I could not find in Maven
>> >>> >> >>> central
>> >>> >> >>> repository:
>> >>> >> >>> * AbsoluteLayout
>> >>> >> >>> * AppFramework
>> >>> >> >>> * eclipselink
>> >>> >> >>> * eclipselink-javax.persistence
>> >>> >> >>> * jpathwatch
>> >>> >> >>> * gdata-*
>> >>> >> >>> * j2ssh
>> >>> >> >>> These few jars could just stay checked in version control.
>> >>> >> >>> Julien
>> >>> >> >>> 2011/6/13 nocans@xxxxxxxxx <nocans@xxxxxxxxx>
>> >>> >> >>>>
>> >>> >> >>>> Maven is quite a treat. A lot of people are using it these
>> >>> >> >>>> days
>> >>> >> >>>> and
>> >>> >> >>>> has
>> >>> >> >>>> great advantages. I am not a maven expert by any means, but I
>> >>> >> >>>> can
>> >>> >> >>>> tell you
>> >>> >> >>>> that the nicest thing about it is that you describe a project
>> >>> >> >>>> and
>> >>> >> >>>> it's
>> >>> >> >>>> dependanices in an xml file so that when you build it all the
>> >>> >> >>>> dependancies
>> >>> >> >>>> are pulled from your nexus repo, which is just a smart-ish
>> >>> >> >>>> binary
>> >>> >> >>>> repo.
>> >>> >> >>>> Also, when your project builds successfully your artifacts can
>> >>> >> >>>> be
>> >>> >> >>>> stored in
>> >>> >> >>>> your repo as snapshots so that others can use them.
>> >>> >> >>>> The main idea of maven is that when a developer pulls the
>> >>> >> >>>> source
>> >>> >> >>>> there's
>> >>> >> >>>> no guesswork as to how to build and deploy the project, it's
>> >>> >> >>>> all
>> >>> >> >>>> done
>> >>> >> >>>> with
>> >>> >> >>>> maven. In doing so, the project has to adhere to certain
>> >>> >> >>>> standards,
>> >>> >> >>>> namely
>> >>> >> >>>> how the files and folders are laid out which is defined in a
>> >>> >> >>>> maven
>> >>> >> >>>> archetype
>> >>> >> >>>> and can even be changed if you want.
>> >>> >> >>>> This is why I asked if there was some sort of 'public' repo we
>> >>> >> >>>> could
>> >>> >> >>>> use, since we're an open source project, because to take full
>> >>> >> >>>> advantage of
>> >>> >> >>>> maven one needs a nexus repo, and I don't have one handy :)
>> >>> >> >>>>
>> >>> >> >>>>
>> >>> >> >>>> On Mon, Jun 13, 2011 at 6:46 AM, Philipp Heckel
>> >>> >> >>>> <philipp.heckel@xxxxxxxxx> wrote:
>> >>> >> >>>>>
>> >>> >> >>>>> I have no experience with Maven or Ant. Are there any
>> >>> >> >>>>> significant
>> >>> >> >>>>> advantages in using Maven? Ant sort of integrated with
>> >>> >> >>>>> Netbeans
>> >>> >> >>>>> at
>> >>> >> >>>>> the
>> >>> >> >>>>> moment ...
>> >>> >> >>>>>
>> >>> >> >>>>> If there are none, I think I agree with what Jason (nocans)
>> >>> >> >>>>> says
>> >>> >> >>>>> :-)
>> >>> >> >>>>>
>> >>> >> >>>>> On Sun, Jun 12, 2011 at 1:59 AM, nocans@xxxxxxxxx
>> >>> >> >>>>> <nocans@xxxxxxxxx>
>> >>> >> >>>>> wrote:
>> >>> >> >>>>> > Aside from the work of rearranging files and folders to
>> >>> >> >>>>> > match
>> >>> >> >>>>> > an
>> >>> >> >>>>> > archetype,
>> >>> >> >>>>> > I don't think it would be of a great benefit unless the
>> >>> >> >>>>> > project
>> >>> >> >>>>> > had
>> >>> >> >>>>> > its own
>> >>> >> >>>>> > nexus server.
>> >>> >> >>>>> > Is there some sort of free nexus server resource for open
>> >>> >> >>>>> > source
>> >>> >> >>>>> > projects ?
>> >>> >> >>>>> >
>> >>> >> >>>>> > On Sat, Jun 11, 2011 at 2:30 PM, Julien Nicoulaud
>> >>> >> >>>>> > <julien.nicoulaud@xxxxxxxxx> wrote:
>> >>> >> >>>>> >>
>> >>> >> >>>>> >> Hi all,
>> >>> >> >>>>> >> Just wanted to know, are you interested in Maven-inizing
>> >>> >> >>>>> >> the
>> >>> >> >>>>> >> project
>> >>> >> >>>>> >> ? I
>> >>> >> >>>>> >> can do this.
>> >>> >> >>>>> >> Cheers,
>> >>> >> >>>>> >> Julien
>> >>> >> >>>>> >> --
>> >>> >> >>>>> >> Mailing list: https://launchpad.net/~syncany-team
>> >>> >> >>>>> >> Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
>> >>> >> >>>>> >> Unsubscribe : https://launchpad.net/~syncany-team
>> >>> >> >>>>> >> More help   : https://help.launchpad.net/ListHelp
>> >>> >> >>>>> >>
>> >>> >> >>>>> >
>> >>> >> >>>>> >
>> >>> >> >>>>> > --
>> >>> >> >>>>> > Mailing list: https://launchpad.net/~syncany-team
>> >>> >> >>>>> > Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
>> >>> >> >>>>> > Unsubscribe : https://launchpad.net/~syncany-team
>> >>> >> >>>>> > More help   : https://help.launchpad.net/ListHelp
>> >>> >> >>>>> >
>> >>> >> >>>>> >
>> >>> >> >>>>
>> >>> >> >>>
>> >>> >> >>
>> >>> >> >
>> >>> >> >
>> >>> >
>> >>> >
>> >>
>> >>
>> >
>
>
> --
> Mailing list: https://launchpad.net/~syncany-team
> Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~syncany-team
> More help   : https://help.launchpad.net/ListHelp
>
>


Follow ups

References