← Back to team overview

syncany-team team mailing list archive

Re: Maven build

 

Hi Anthony,

I don't think it is good practice to publish those dependencies ourself in
Maven Central repository, they should be deployed by their respective
project teams (for example, jpathwatch). This would involve a lot of work to
make each of those dependencies meet criterias to be published into Central
(generating source jars, write POMS, GPG signing, etc).

But it would be nice to publish Syncany artifacts into Maven Central
repository, I will add the missing sections in the parent POM to make it
compliant with Central rules.

Regards,
Julien

2011/6/23 Anthony Dahanne <anthony.dahanne@xxxxxxxxx>

> 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