← Back to team overview

syncany-team team mailing list archive

Re: Maven build

 

Hello julien,
I did not know all the projects were not owned by syncany.
And yes this is a lot of work to be compliant with central...
Maybe one day..
Le 23 juin 2011 03:52, "Julien Nicoulaud" <julien.nicoulaud@xxxxxxxxx> a
écrit :
> 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